![BarryWhite](https://meeco.kr/files/member_extra_info/profile_image/281/281.jpg?20230414162328)
소식 유니티6 미리보기 출시...렌더링 성능 대폭 향상
- BarryWhite
- 조회 수 209
- 2024.05.20. 12:25
유니티Unity 6 프리뷰(구 2023.3 테크 스트림)는 올해 말 출시되는 유니티6의 개발 주기의 마지막 릴리스입니다.
Unity 6 프리뷰는 테크 스트림 릴리스와 같은 구조로 되어 있습니다. 이 릴리스는 디스커버리 또는 프로토타이핑 단계에 있는 프로젝트에서 새롭고 업데이트된 기능을 미리 사용해 볼 수 있는 지원 릴리스입니다. 프로덕션 중인 프로젝트의 경우 안정성과 지원을 강화하기 위해 Unity 2022 LTS 릴리스를 사용하는 것이 좋습니다.
다음은 2023.1 및 2023.2에 릴리스된 기능도 포함된 Unity 6 프리뷰의 주요 기능 몇 가지입니다. 자세한 내용은 공식 릴리스 노트에서도 확인할 수 있습니다.
렌더링 성능 향상
Unity 6 프리뷰에서는 유니버설 렌더 파이프라인(URP)과 고해상도 렌더 파이프라인(HDRP)의 성능이 크게 향상되어 여러 플랫폼에서 제작 속도를 높일 수 있습니다. 여기에 설명된 개선 사항은 콘텐츠에 따라 CPU 워크로드를 30~50%까지 줄이면서 다양한 플랫폼에서 더 부드럽고 빠른 렌더링을 제공할 수 있습니다.
새로운 GPU 상주 드로어를 사용하면 복잡한 수동 최적화 없이도 더 크고 풍부한 월드를 효율적으로 렌더링할 수 있습니다. 하이엔드 모바일, PC, 콘솔 등 다양한 플랫폼에서 크고 복잡한 장면을 렌더링할 때 게임 오브젝트에 대한 CPU 프레임 시간을 최대 50%까지 단축하여 게임을 최적화할 수 있습니다.
GPU 오클루전 컬링은 GPU 상주 드로어와 함께 작동하여 각 프레임의 오버드로 양을 줄여 게임 오브젝트의 성능을 향상시키므로 렌더러가 보이지 않는 것을 그리는 데 리소스를 낭비하지 않습니다.
공간-시간 포스트 프로세싱(STP)으로 GPU 성능을 최적화하고 시각적 품질과 런타임 성능을 크게 향상시킬 수 있습니다. STP는 저해상도로 렌더링된 프레임을 충실도 손실 없이 업스케일링하여 다양한 수준의 성능과 화면 해상도를 가진 플랫폼에 일관된 고품질 콘텐츠를 제공하도록 설계되었습니다. STP는 데스크톱, 콘솔, 특히 컴퓨팅이 가능한 모바일 디바이스에서 URP 및 HDRP와 모두 호환됩니다.
URP용 렌더 그래프는 렌더 파이프라인의 유지 관리와 확장성을 간소화하고 렌더링 효율성과 성능을 개선하는 새로운 렌더링 프레임워크 및 API입니다. 이 새로운 시스템은 특히 타일 기반(모바일) GPU에서 에너지 소비와 함께 메모리 대역폭 사용을 줄이기 위해 네이티브 렌더 패스의 자동 병합 및 생성과 같은 다양한 주요 최적화 기능을 도입했습니다.
또한 새로운 렌더 그래프 API는 커스텀 패스 주입 워크플로를 간소화하여 자체 커스텀 래스터 및 커스텀 패스로 렌더 파이프라인을 확장하고 새로운 컨텍스트 컨테이너를 사용하여 필요한 모든 파이프라인 리소스에 안정적으로 액세스할 수 있도록 지원합니다.
마지막으로 새로운 렌더 그래프 뷰어 툴을 사용하면 이제 에디터에서 직접 엔진의 렌더 패스 생성 및 프레임 리소스 사용량을 분석할 수 있어 렌더 파이프라인 디버깅과 최적화가 간소화됩니다.
URP의 포베이션 렌더링 API를 사용하면 포베이션 레벨을 구성하여 사용자의 중간/원거리 주변부의 충실도를 낮추는 대신 GPU 성능을 향상시킬 수 있습니다.
두 가지 새로운 포베이션 모드를 사용할 수 있습니다. 고정 포비에이션 렌더링을 사용하면 화면 공간 중앙의 영역이 더 높은 품질의 혜택을 받으며, 시선 포비에이션 렌더링은 시선 추적을 사용하여 화면 공간의 어느 영역이 혜택을 받을지 결정합니다.
포비티드 렌더링 API는 소니 PlayStation®VR2 플러그인 및 메타 퀘스트와 호환되며, Oculus XR 플러그인을 통해 지원되며 OpenXR 플러그인도 곧 지원될 예정입니다.
HDRP와 URP 모두에서 향상된 볼륨 프레임워크는 모든 플랫폼에서 CPU 성능을 최적화하여 저사양 하드웨어에서도 실행할 수 있도록 합니다. 전반적으로 개선된 사용자 인터페이스를 통해 HDRP에서 가능했던 것과 유사하게 URP에서도 전역 및 품질별 볼륨을 설정할 수 있습니다. 또한 이제 URP용 커스텀 포스트 프로세싱 효과와 함께 볼륨 프레임워크를 활용하여 커스텀 포그와 같은 자체 효과를 더 쉽게 만들 수 있습니다(자세한 내용은 12월 라이브 스트림에서 이 데모를 확인하세요).
조명 개선 사항
적응형 프로브 볼륨(APV)은 Unity에서 글로벌 일루미네이션 조명을 빌드하는 새로운 방법을 제공합니다. 이를 통해 라이트 프로브 조명 오브젝트의 저작 및 반복 시간을 더욱 간소화하고 시간대별 시나리오 및 스트리밍과 같은 새로운 가능성을 열 수 있습니다.
2023.1 및 2023.2 테크 스트림 릴리스에서 제공된 APV 개발을 기반으로 Unity 6 프리뷰의 향상된 기능은 저작 워크플로를 개선하고 스트리밍 기능을 확장하며 제어 및 플랫폼 범위를 확장하여 인상적인 조명 전환을 구현할 수 있도록 지원합니다.
APV 시나리오 블렌딩을 URP로 확장하여 낮/밤 전환을 위해 베이크된 프로브 볼륨 데이터를 쉽게 블렌딩하거나 방의 조명을 켜고 끌 수 있도록 더 광범위한 플랫폼 지원을 제공합니다.
URP와 HDRP 모두에서 지원되는 APV 스카이 오클루전을 사용하면 가상 환경에 시간대별 조명 시나리오를 적용하고 APV 시나리오 블렌딩에 비해 하늘의 정적 간접 조명에서 더 다양한 컬러를 구현할 수 있습니다.
이제 APV 디스크 스트리밍이 URP에서 비컴퓨팅 경로를 지원하며, 에셋 번들 및 어드레서블에 대한 지원을 활성화했습니다.
프로브 조정 볼륨 툴을 활용하여 APV 콘텐츠를 미세 조정하고 빛샘 현상을 수정할 수 있습니다. 이 볼륨 내에서 프로브에 적용할 수 있는 조정 사항에는 샘플 수 오버라이드 및 프로브 무효화가 포함됩니다. 조정 볼륨의 영향을 받지 않는 조명 프로브는 숨길 수 있으며, 이제 영향을 받는 프로브에 대해서만 프로브 조명 데이터를 미리 본 다음 프로브 볼륨 및 프로브 조정 볼륨 구성 요소에서 직접 구울 수 있습니다.
마지막으로 새로운 C# 라이트 프로브 베이킹 API를 도입하여 한 번에 베이킹할 프로브 수를 제어하여 실행 시간과 메모리 사용량의 균형을 맞출 수 있습니다.
API 사용 방법의 예시로 APV 프로브 베이킹 에디터 코드를 사용했으며, 이 예제는 GitHub에서 확인할 수 있습니다.
더욱 풍부해진 고퀄리티 환경
HDRP에서는 일몰과 일출에 대한 스카이 렌더링을 개선하여 프로젝트의 시간대별 시나리오를 더 잘 구현할 수 있도록 했습니다. 오존층 지원과 대기 산란이 추가되어 장거리의 안개를 보완합니다.
물은 가성분을 샘플링하여 볼류메트릭 라이트 샤프트를 생성하는 언더워터 볼류메트릭 포그를 지원하여 개선되었습니다. 이제 성능 최적화를 통해 CPU에서 시뮬레이션을 복제하는 대신 몇 프레임의 지연을 두고 GPU에서 시뮬레이션을 다시 읽어오는 옵션이 추가되었습니다. 또한 지형 및 초목과 함께 물과 같은 표면을 렌더링할 때 레이트레이싱과 스크린 스페이스 효과를 혼합할 수 있는 혼합 트레이싱 모드의 투명 표면 지원도 추가했습니다.
대규모 다이내믹 월드를 렌더링할 때는 성능이 핵심이므로 위에서 언급한 새로운 GPU 레지던트 드로어를 활용하여 URP와 HDRP 모두에 SpeedTree 식생 렌더링을 최적화했습니다.
VFX 그래프 아티스트 워크플로
VFX 아티스트가 더 많은 플랫폼에 효율적으로 도달할 수 있도록 툴링 및 URP 지원이 개선되었습니다. VFX 그래프 프로파일링 툴을 사용하면 메모리와 성능에 대한 피드백을 받아 그래프 내에서 최적화할 수 있는 부분을 찾아 특정 효과를 조정하고 성능을 극대화할 수 있습니다.
셰이더 그래프 키워드를 지원하여 VFX 셰이더를 빌드하고, URP 깊이와 컬러 버퍼를 사용하여 URP로 더 복잡한 효과를 만들어 빠른 충돌이나 월드에서 파티클을 스폰할 수 있습니다.
VFX 그래프 개념과 기능을 학습할 수 있도록 설계된 새로운 학습 템플릿으로 VFX 그래프를 빠르게 시작할 수 있습니다.
셰이더 그래프 아티스트 워크플로
Unity 6 프리뷰에서는 편집 가능한 새로운 키보드 단축키, 그래프에서 가장 GPU 집약적인 노드를 빠르게 식별하는 히트맵 컬러 모드, 더 빠른 실행 취소/다시 실행 기능 등을 통해 셰이더 그래프 사용 시 가장 많이 발생하는 사용자 불편 사항을 해결합니다.
각 그래프가 하나의 노드에 대한 설명인 셰이더 그래프 에셋 세트가 포함된 새로운 노드 레퍼런스 샘플에 액세스하여 수식이 내부적으로 어떻게 작동하는지에 대한 분석과 노드를 사용하는 방법에 대한 예제를 살펴볼 수 있습니다. 노드 레퍼런스 샘플 튜토리얼 동영상에서 자세히 알아보세요.
멀티플랫폼 개선 사항
Unity 6 프리뷰는 멀티플랫폼 개발 워크플로에 최적화를 제공하고 가장 인기 있는 플랫폼 전반으로 범위를 확장하기 위해 데스크톱, 모바일, 웹, XR에 걸쳐 향상된 멀티플랫폼 기능을 제공합니다.
Unity 빌드 창과 완전히 새로워진 빌드 프로필의 사용 편의성 개선
새로운 빌드 프로필 기능을 사용하면 빌드 관리가 이전보다 훨씬 더 효율적이고 유연해집니다.
이제 각 프로필에서 빌드 설정을 구성할 뿐만 아니라 다양한 씬 목록을 포함하여 빌드 콘텐츠를 커스터마이즈하고, 가장 공유하고자 하는 씬으로 게임에 대한 고유하고 플레이 가능한 데모를 여러 개 생성할 수 있습니다.
또한 모든 프로필에 커스텀 스크립팅 정의를 설정할 수 있으며, 이는 플레이어 설정에 추가되어 빌드와 에디터 플레이 모드의 기능과 동작을 미세 조정할 수 있습니다. 이를 통해 세로 슬라이스를 만들거나 플랫폼별로 다른 동작을 타겟팅할 수 있습니다.
모든 프로필에 플레이어 설정에 대한 오버라이드를 추가하여 플랫폼 모듈과 관련된 설정을 커스터마이즈할 수 있습니다. 이 기능을 사용하면 다양한 프로필에 대한 퍼블리싱 설정을 더 쉽게 구성할 수 있습니다. 전반적으로 이 새로운 기능은 에디터에서 빌드 관리 방식을 사용자 지정하기 위해 커스텀 빌드 스크립트에 의존할 필요성을 줄여줍니다.
마지막으로 에디터 내 플랫폼 검색 기능을 개선하기 위해 플랫폼 브라우저도 추가했습니다. 플랫폼 브라우저에서는 Unity가 지원하는 모든 플랫폼을 검색하고 원하는 플랫폼에 대한 빌드 프로필을 생성할 수 있습니다.
웹 런타임으로 모바일 게임 도달 범위 확장하기
Unity 6 프리뷰에서 Android 및 iOS 브라우저를 지원합니다. 이제 브라우저 게임을 데스크톱 플랫폼으로 제한하지 않고 웹 어디에서나 Unity 게임을 실행할 수 있습니다. 또한 네이티브 앱의 웹 뷰에 게임을 임베드하거나 프로그레시브 웹 앱 템플릿을 사용하여 고유한 바로 가기 및 오프라인 기능을 통해 게임을 네이티브 앱처럼 작동하도록 만들 수 있습니다. 모바일 기기 나침반 지원 및 GPS 위치 추적과 같은 다양한 기능을 통해 게이머가 어디에서 게임을 플레이하든 반응하는 웹 게임을 만들 수 있습니다.
엠스크립텐 3.1.38 툴체인 업데이트와 최신 웹어셈블리 2023 지원으로 웹게임을 미세 조정하고 사인엑스트 오코드, 논트래핑 fp-to-int, 벌크 메모리, BigInt, Wasm 테이블, 기본 Wasm 예외, Wasm SIMD 등 새로운 WebAssembly 언어 기능을 추가하세요. 또한 WebAssembly 2023은 최대 4GB의 힙 메모리를 지원하므로 최신 하드웨어에서 사용할 수 있는 더 많은 RAM에 대한 액세스를 잠금 해제할 수 있습니다.
Unity 6 프리뷰와 함께 제공되는 추가 모바일 개선 사항에는 최신 Android 툴링과 Java 17 기본 지원, Android 앱 번들 내에 디버그 심볼을 포함할 수 있는 기능이 포함됩니다. 이렇게 하면 Google Play 스토어에 제출할 때 시간을 절약하고 Play 콘솔에서 항상 스택트레이스 정보를 확인할 수 있습니다.
WebGPU 백엔드 얼리 액세스
WebGPU 백엔드에 대한 실험적 지원 도입은 웹 기반 그래픽 가속의 중요한 이정표로, 향후 Unity 웹 게임의 그래픽 렌더링 충실도를 향상시킬 수 있는 기반을 마련합니다.
WebGPU는 컴퓨트 셰이더 지원과 같은 최신 GPU 기능을 웹에 활용하고 노출하는 것을 목표로 설계되었습니다. 이 새로운 웹 API는 사용하는 데스크톱 기기에 따라 DirectX 12, Vulkan 또는 Metal과 같은 네이티브 GPU API를 통해 내부적으로 구현되는 최신 그래픽 가속 인터페이스를 제공함으로써 이를 달성할 수 있습니다.
WebGPU 그래픽 백엔드는 아직 실험적인 상태이므로 프로덕션에 사용하지 않는 것이 좋습니다. 기다릴 수 없나요? 그래픽 포럼에서 WebGPU에 미리 액세스하고 테스트하는 방법을 알아보세요.
Arm 기반 Windows 디바이스에 대한 Unity 에디터 지원
유니티는 2023.1 버전에서 Arm 기반 Windows 디바이스에 대한 지원을 제공하여 새로운 하드웨어에 타이틀을 출시할 수 있도록 했습니다. 이제 Unity 6 프리뷰를 통해 Unity 6에서 Arm 기반 Windows 디바이스에 대한 네이티브 Unity 에디터 지원을 제공합니다. 즉, 이제 Arm 기반 기기의 성능과 유연성을 활용하여 Unity 게임을 제작할 수 있습니다.
DirectX 12 백엔드 개선 사항
유니티의 DirectX 12 그래픽스 백엔드는 프로덕션 환경에서 사용할 수 있으며, DX12 지원 Windows 플랫폼을 타겟팅할 때 사용할 수 있습니다. 이 변경 사항에는 렌더링 안정성과 성능 모두에 대한 포괄적인 개선 사항이 포함되어 있습니다.
DX12를 사용하는 Unity 에디터와 플레이어는 분할 그래픽스 작업을 사용하여 CPU 성능을 크게 개선할 수 있습니다. 성능 향상은 씬의 복잡도와 제출된 드로 콜의 양에 따라 확장될 것으로 예상됩니다.
가장 눈에 띄는 점은 DX12 그래픽스 API가 다양한 최신 그래픽스 기능을 지원하여 Unity의 레이 트레이싱 파이프라인과 같은 차세대 렌더링 기술을 구현할 수 있게 되었다는 점입니다. 향후 출시될 기능에서는 그래픽부터 머신 러닝에 이르는 DX12의 고급 기능을 활용하여 전례 없는 수준의 충실도와 성능을 구현할 수 있습니다.
Microsoft GDK 패키지로 Microsoft 플랫폼 에코시스템 활용하기
Microsoft와 유니티의 지속적인 파트너십 덕분에 이제 Unity 6 프리뷰, 2022 LTS, 2021 LTS에서 두 가지 새로운 Microsoft GDK 패키지를 사용할 수 있습니다. Microsoft GDK 툴과 Microsoft GDK API 패키지는 동일한 구성과 코드 기반으로 Microsoft 게임 플랫폼에 사용할 수 있습니다. 이 패키지를 사용하면 동일한 코드를 사용하여 Windows 및 Xbox와 같은 Microsoft 게임 플랫폼용 빌드를 그 어느 때보다 쉽게 구축하여 사용자 ID, 플레이어 데이터, 소셜, 클라우드 스토리지 등과 같은 Xbox 서비스를 활용할 수 있습니다.
통합된 Microsoft GDK 패키지를 사용하면 공유 코드 기반과 API를 통한 빌드 프로세스 자동화 기능으로 Microsoft 플랫폼용 게임을 제작할 수 있습니다. 또한 패키지에서 사용할 수 있는 다양한 기능을 보여주기 위해 새로운 샘플이 제공됩니다.
이전에는 Xbox 콘솔과 Windows의 Microsoft 스토어를 타겟팅할 때 Microsoft와 유니티에서 제공하는 별도의 GDK 패키지를 설치하는 것이 지침이었습니다. 따라서 각기 다른 Microsoft 플랫폼 타깃에 맞는 다른 코드 브랜치를 유지 관리해야 했습니다. 새로운 Microsoft GDK 패키지를 사용하면 더 이상 그럴 필요가 없습니다. 또한 이제 빌드 서버에서 직접 API를 통해 MicrosoftGame.config 파일을 수정할 수 있습니다. Unity 6의 새로운 빌드 프로파일 기능과 결합하면 단일 프로젝트에서 게임을 Microsoft 게임 에코시스템에 출시하는 것이 그 어느 때보다 쉬워집니다.
레거시 게임 코어 패키지 또는 Windows GDK 패키지를 사용하던 중 새로운 Microsoft GDK 패키지(Microsoft GDK API 및 Microsoft GDK 툴)로 마이그레이션하려면 이 마이그레이션 가이드에 설명된 지침을 따르세요.
XR 경험
유니티는 ARKit, ARCore, 비전OS, 메타 퀘스트, 플레이스테이션 VR, Windows 혼합 현실 등 가장 인기 있는 XR 플랫폼을 지원합니다. Unity 6 프리뷰에서는 혼합 현실, 손과 눈 입력, 향상된 시각적 충실도와 같은 최첨단 크로스 플랫폼 기능을 만나볼 수 있습니다. 이러한 새로운 기능 중 다수는 이제 개선된 템플릿에 통합되어 더욱 빠르게 시작할 수 있습니다.
실제 세계를 게임으로 가져오기
기존 게임을 혼합 현실로 확장하든 완전히 새로운 게임을 만들든, AR 파운데이션은 크로스 플랫폼 방식으로 물리적 세계를 플레이어의 경험에 통합할 수 있도록 지원합니다. Unity 6 프리뷰에서는 ARCore에 이미지 안정화 기능을 추가하고 메시 및 바운딩 박스 등의 기능을 포함하여 메타 퀘스트와 같은 혼합 현실 플랫폼에 대한 지원을 개선했습니다.
XR 입력 및 상호작용
유니티는 인터랙션을 간소화할 수 있도록 XR 인터랙션 툴킷 3.0(XRI)에 몇 가지 주요 개선 사항을 추가했습니다. 여기에는 니어-파 인터랙터라는 새로운 인터랙터가 포함되어 있어 프로젝트에서 인터랙터의 작동 방식을 커스터마이징할 때 유연성과 모듈성을 높일 수 있습니다.
또한 입력 프로세스를 간소화하고 다양한 유형의 입력에 대한 코드 복잡성을 줄여주는 새로운 입력 리더를 추가하여 XRI에서 입력을 처리하는 방식도 개선했습니다. 마지막으로 새로운 가상 키보드 샘플을 제공하여 크로스 플랫폼 방식으로 게임 내 키보드를 빌드하고 커스터마이즈할 수 있는 기능을 제공할 예정입니다.
독특한 손 제스처
이제 더 많은 플랫폼에서 손을 사용하여 콘텐츠와 상호 작용할 수 있습니다. 유니티의 XR 핸즈 패키지를 사용하면 일반적인 OpenXR 손 제스처뿐만 아니라 커스텀 손 제스처(예: 엄지 위로, 엄지 아래로, 가리키기)를 구현할 수 있습니다. 빠르게 시작하는 데 도움이 되는 샘플이 포함되어 있습니다. 또한 손 모양과 제스처를 만들고, 미세 조정하고, 디버깅할 수 있는 도구도 포함되어 있어 더 많은 사람들이 콘텐츠에 액세스할 수 있습니다.
시각적 충실도 향상
게임의 시각적 충실도를 개선하는 한 가지 방법은 현재 실험용 패키지로 제공되는 컴포지션 레이어라는 기능을 사용하는 것입니다.
이 기능은 런타임의 컴포지터 레이어를 기본적으로 지원하여 텍스트, 비디오, UI, 이미지를 훨씬 더 높은 품질로 렌더링하므로 텍스트가 더 선명하고 윤곽선이 선명하며 아티팩트가 크게 감소하여 전반적으로 더 나은 외관을 구현할 수 있습니다.
멀티플레이어 제작 간소화
Unity 6 프리뷰는 통합된 엔드투엔드 솔루션의 간소함으로 멀티플레이어 게임의 제작, 출시, 성장을 가속화합니다.
실험적 멀티플레이어 센터
패키지 레지스트리에서 새로운 실험용 멀티플레이어 센터 패키지(com.unity.multiplayer.center)를 사용할 수 있습니다. 멀티플레이어 센터는 멀티플레이어 개발을 시작하기 위한 간소화된 안내 툴입니다. 에디터의 중앙 위치에서 프로젝트의 특정 요구 사항에 맞게 유니티가 제공하는 툴과 서비스에 액세스할 수 있습니다.
멀티플레이어 센터에서는 프로젝트의 멀티플레이어 사양에 따른 대화형 안내, 리소스 및 교육 자료에 대한 액세스, 기능을 배포하고 멀티플레이어 기능을 빠르게 실험할 수 있는 바로 가기를 제공합니다.
멀티플레이어 플레이 모드
멀티플레이어 플레이 모드 버전 1.0을 출시하여 Unity 에디터를 종료하지 않고도 별도의 프로세스에서 멀티플레이어 기능을 테스트할 수 있습니다. 디스크에 있는 동일한 소스 에셋을 사용하면서 동일한 개발 기기에서 최대 4명의 플레이어(에디터 메인 플레이어와 가상 플레이어 3명)를 동시에 시뮬레이션할 수 있습니다. 멀티플레이어 플레이 모드를 사용하면 프로젝트를 빌드하고 로컬에서 실행하며 서버와 클라이언트 관계를 테스트하는 데 걸리는 시간을 단축하는 멀티플레이어 개발 워크플로를 생성할 수 있습니다.
멀티플레이어 툴
멀티플레이어 툴 패키지를 2.1.0 버전으로 업데이트하여 네트워크 씬 시각화를 새로운 시각적 디버깅 툴로 추가했습니다. 네트워크 씬 시각화는 멀티플레이어 툴 패키지에 포함된 강력한 툴로, 메시 셰이딩 및 텍스트 오버레이와 같은 시각화를 사용하여 프로젝트의 Unity 에디터 씬 뷰에서 오브젝트별로 네트워크 통신을 시각화하고 디버깅할 수 있도록 도와줍니다.
게임 오브젝트용 Netcode의 분산 권한 실험 단계
새로운 실험용 멀티플레이어 서비스 SDK 버전 0.4.0(com.unity.services.multiplayer)과 페어링할 때 Netcode for GameObjects 버전 2.0.0-exp.2(com.unity.netcode.gameobjects)에 분산 권한 모드가 추가되었습니다. 분산 권한을 사용하면 클라이언트는 게임 세션 중에 스폰된 넷코드 오브젝트에 대한 소유권/권한을 분산할 수 있습니다. 넷코드 시뮬레이션 워크로드는 클라이언트 간에 분산되고, 네트워크 상태는 유니티가 제공하는 고성능 클라우드 백엔드를 통해 조정됩니다.
엔티티용 넷코드
디버그 바운딩 박스를 렌더링하는 게임 오브젝트를 지원하여 엔티티용 넷코드 환경을 개선했습니다. 또한 코드를 수정할 필요 없이 커스터마이징할 수 있는 대부분의 NetCode 구성 변수를 포함하는 NetCodeConfig 스크립터블 오브젝트를 추가했습니다.
전용 서버 패키지
다른 프로젝트를 만들 필요 없이 서버와 클라이언트 역할 간에 프로젝트를 전환할 수 있는 전용 서버 패키지를 출시했습니다. 이렇게 하려면 멀티플레이어 역할을 사용하여 게임 오브젝트와 컴포넌트를 클라이언트와 서버에 배포하면 됩니다.
멀티플레이어 역할을 사용하면 각 빌드 대상에서 사용할 멀티플레이어 역할(클라이언트, 서버)을 결정할 수 있습니다. 이는 다음과 같이 세분화됩니다:
콘텐츠 선택: 다양한 멀티플레이어 역할에 어떤 콘텐츠(게임 오브젝트, 컴포넌트)를 포함/제거할지 선택할 수 있는 UI와 API를 제공합니다.
자동 선택: 자동 선택: 다양한 멀티플레이어 역할에서 어떤 컴포넌트 유형을 자동으로 제거할지 선택하기 위한 UI와 API를 제공합니다.
안전 검사: 멀티플레이어 역할에 대한 오브젝트 스트리핑으로 인한 잠재적인 널 레퍼런스 예외를 감지하는 데 도움이 되는 경고를 활성화합니다.
이 패키지에는 전용 서버 플랫폼 개발을 위한 추가 최적화 및 워크플로 개선 사항도 포함되어 있습니다.
실험용 멀티플레이어 서비스 SDK
실험용 멀티플레이어 서비스 SDK는 Unity 6 프리뷰로 개발한 게임에 온라인 멀티플레이어 요소를 추가할 수 있는 원스톱 솔루션입니다. Unity 게임 서비스(UGS)를 기반으로 하며, 릴레이와 로비 등의 서비스 기능을 하나의 새로운 '세션' 시스템으로 결합하여 플레이어 그룹이 서로 연결하는 방식을 빠르게 정의할 수 있도록 지원합니다.
실험용 멀티플레이어 서비스 SDK 버전 0.4.0(com.unity.services.multiplayer)을 사용하면 P2P 세션을 생성하는 동시에 조인 코드, 활성 세션 목록 검색, "빠른 참여" 등 플레이어가 해당 세션에 참여할 수 있는 다양한 방법을 제공할 수 있습니다.
Unity 6 프리뷰의 멀티플레이어
이번 Unity 6 프리뷰 버전에서는 이러한 기능 중 몇 가지가 아직 실험 단계에 있으며, 이는 아직 프로덕션 환경에서 지원되지 않는다는 의미입니다. 유니티는 여러분의 피드백을 반영하여 Unity 6에서 완벽하게 지원되는 경험을 제공하기 위해 빠르게 사전 릴리스 및 출시 상태로 전환할 예정입니다. 커뮤니티 포럼과 공식 Discord 서버에서 유니티와 소통할 수 있습니다.
엔티티 워크플로 개선 사항
Unity 6 프리뷰는 ECS 워크플로를 간소화하고 일반적인 문제점을 해결합니다. 이러한 노력의 일환으로 향후 엔티티와 게임 오브젝트 워크플로 통합에 대비하여 엔티티를 저장하는 방식을 변경했습니다. 이제 엔티티 ID는 전 세계적으로 고유하며, 한 엔티티의 월드에서 다른 엔티티로 효율적으로 이동할 수 있습니다. 이는 ECS 워크플로에는 영향을 미치지 않지만 항상 정확한 엔티티를 표시하여 디버깅을 명확하게 해줍니다.
또한 Unity 2022 LTS에서 ECS에 제공된 최신 개선 사항은 Unity 6 프리뷰에서도 사용할 수 있습니다:
ECS 1.1: 주요 물리 충돌기 워크플로 및 성능 개선, ECS 프레임워크 전반에서 80개 이상의 수정 사항 제공
ECS 1.2: 에디터 워크플로, 직렬화, 베이킹 전반의 품질 및 성능 개선, 50개 이상의 수정 사항 및 Unity 6 호환성 제공
AI로 역동적인 런타임 경험 제공
Unity 6 프리뷰 버전에는 AI 모델을 런타임에 통합하는 뉴럴 엔진인 Unity Sentis가 함께 제공됩니다. 센티스는 오브젝트 인식, 스마트 NPC, 그래픽 최적화 등 새로운 AI 기반 기능을 구현합니다. Sentis의 최근 개선 사항은 성능과 시작 환경 간소화에 중점을 두고 있습니다.
성능
이제 유니티 에디터에서 모델 크기를 최대 75%까지 줄이려는 경우 AI 모델 가중치 정량화(FP16 또는 UINT8)를 지원합니다. 이는 모바일 게임 출시 시 큰 비용 절감 효과를 제공합니다. 모델 스케줄링 속도도 2배 향상되었으며 메모리 누수 및 가비지 컬렉션도 감소했습니다. 마지막으로, 유니티는 이제 더 많은 ONNX 사업자를 지원합니다.
시작하기
프로젝트에 적합한 AI 모델을 더 쉽게 찾을 수 있도록 60만 개 이상의 모델을 보유한 세계 최대의 AI 모델 허브인 Hugging Face와 파트너십을 맺었습니다. 이제 Unity 센티스에 사용할 수 있는 '즉시 사용 가능한' AI 모델을 즉시 찾아 손쉽게 통합할 수 있습니다.
적합한 모델을 찾았다면 게임에 연결해야 합니다. 유니티는 이 작업을 더 쉽게 수행할 수 있도록 AI 모델을 빌드, 편집, 연결하는 데 도움이 되는 새로운 함수형 API를 도입했습니다. 직관적이고 안정적이며 추론에 최적화되어 있습니다. 메모리 관리와 스케줄링을 완벽하게 제어하기 위해 더 낮은 수준의 완전한 커스터마이징이 가능한 API가 필요한 경우 백엔드 API를 계속 사용할 수 있습니다.
![BarryWhite](https://meeco.kr/files/member_extra_info/profile_image/281/281.jpg?20230414162328)
프로필 속 고양이는 저와 함께 살고 있습니다.
미코 광고 후원 감사합니다.