Unity 검색

공유

Is this article helpful for you?

Thank you for your feedback!

Unity 2018.3에서는 네스팅을 비롯한 프리팹 워크플로, 스크립터블 렌더 파이프라인(Scriptable Render Pipeline), 터레인 시스템 및 스크립팅 런타임 기능 등 다양한 기능이 개선되었으며, 비주얼 이펙트 그래프 프리뷰가 도입되었습니다.

지금까지 가장 많은 요청이 있었던 기능은 네스티드 프리팹(Nested Prefab)이었습니다. 그리고 수많은 인터뷰, 여러 번의 사용성 테스트, 게임 잼에서 리서치를 진행한 결과, 그 외에도 프리팹 워크플로 변경에 대한 여러 건의 사항을 확인할 수 있었습니다. 따라서 유니티는 재사용성, 제어 및 편의성에 중점을 두고 프리팹 시스템을 전반적으로 개선했습니다.

새로운 프리팹 워크플로를 사용하면 씬과 프리팹을 세밀한 수준으로 분할할 수 있습니다. 이렇게 하면 유연성을 높이고, 생산성을 향상시키고, 오류로 인해 시간을 허비할 필요 없이 안심하고 작업할 수 있습니다.

이러한 워크플로 개선을 지속적으로 진행한 결과, 이제 Unity 2018.3에 프로젝트 설정 환경 설정을 통합한 설정 이 지원됩니다. 이 새로운 창은 도킹과 검색이 가능하여 훨씬 더 간편하고 빠르게 설정을 찾아 변경할 수 있습니다.

또한 기본 스크립팅 런타임이 .NET 4.x로 업데이트되었습니다. .NET 3.5 런타임은 제외될 예정이며 곧 관련 지원이 중지됩니다. 또한 .NET 4.x 스크립팅 런타임 사양의 프로젝트에서 오픈소스 Roslyn 컴파일러를 사용할 수 있게 됩니다.

또한 이번 릴리스에서는 PhysX 3.4 가 업그레이드되어 안정성과 성능이 개선되었으며, 다중 월드 및 C# 쿼리에 대한 지원이 추가되었습니다.

이제 월드 제작에 사용되는 2D 타일맵 툴을 이용해 아이소메트릭 타일맵(isometric Tilemaps)을 구축함으로써 전략 게임, 타이쿤 게임과 시뮬레이션 게임 등의 2D 프로젝트를 더욱 쉽게 제작할 수 있습니다.

또한 대대적인 개편의 첫 번째 주자로 업데이트된 터레인 시스템이 Unity 2018.3에 적용됩니다. 이번 업데이트에서는 UI와 툴을 소폭 변경하여 향후 추가 개선을 위한 기반을 마련하고, 성능을 개선하는 것에 중점을 두었습니다. 또한 고해상도 렌더 파이프라인(HDRP)과 경량 렌더 파이프라인(LWRP) 지원도 추가했습니다.

Unity 2018.3은 다양한 HDRP(프리뷰) 개선 사항을 포함합니다. 이번 버전에는 예비 지원으로 VR 및 멀티샘플 안티앨리어싱이 포함되었으며, PC, Mac, XBox One 및 PS4 지원이 개선되었습니다. 또한 카메라, 광원, 반사 프로브와 머티리얼 등 HDRP 요소의 여러 인스펙터 UI가 업데이트되었으며, 조명 모델이 추가되어 보다 복잡한 머티리얼을 제작할 수 있습니다.

추가로 Windows용 GPU 프로그레시브 라이트매퍼(프리뷰) 및 몇 가지 조명 개선 사항이 포함됩니다.

프리뷰에 패키지로 포함되는 새로운 비주얼 이펙트 그래프를 사용하면 간편하고 유연한 노드 기반 시스템으로 아름다운 효과를 구현할 수 있습니다. 영화 제작 분야 최고의 VFX 툴에서 아이디어를 얻어 완성된 비주얼 이펙트 그래프를 사용하면 아티스트는 GPU에서 실행되는 수백만 개의 파티클을 통해 게임 및 기타 다양한 프로젝트에 두드러지는 시각 효과를 구현할 수 있습니다.

Unity 2018.3에는 기존 파티클 시스템을 위한 새로운 기능도 도입되었습니다. 예를 들어 빌보드처럼 뒤집을 수 있는 파티클 메시, 실시간 전역 조명을 지원하는 파티클 광원, 파티클의 수명이 끝나더라도 해당 파티클이 교체될 때까지 계속 보이게 하여 발자국이나 총알 자국 등의 지속적 효과를 더욱 간편하게 생성할 수 있는 새로운 링버퍼 모드(Ringbuffer Mode)가 지원됩니다.

모바일 개선 사항으로는 Vulkan 및 Metal에 다이내믹 해상도 조정(Dynamic Resolution Scaling)과 Android AppBundle 생성이 지원되며, APKzlib을 통해 Android에서 APK 패키지 빌드 시간이 단축되었습니다.

XR 개선 사항으로는 Daydream 컨트롤러 기본 지원, VR 컨트롤러용 햅틱 API, AR Foundation 업데이트, XR 성능 테스트 업데이트가 포함되었습니다.

더불어 개발자 서비스의 콜라보레이트(Collaborate)와 클라우드 빌드(Cloud Build)가 개선되었습니다. 또한 퍼포먼스 리포팅의 이름이 클라우드 다이어그노스틱(Cloud Diagnostics)으로 변경되었으며, 사용자가 제출한 보고서를 추적하는 기능이 추가되었습니다.

마지막으로 2018.3에는 소소한 변경과 버그 수정도 포함되었습니다. 모든 업데이트 사항을 세부적으로 살펴보기 전에 먼저 유니티의 업데이트 페이지나 Unity 허브에서 새로운 버전을 다운로드하실 수 있습니다.

  

Download Unity 2018.3

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

모든 세부 사항 보기

에디터 및 워크플로

네스티드 프리팹 및 개선된 프리팹 워크플로

Unity에서 가장 많은 요청을 받은 추가 기능은 바로 네스티드 프리팹입니다. 하지만 수많은 인터뷰 및 사용성 테스트, 150개 이상의 기업 고객을 대상으로 진행한 설문, 그리고 다양한 인디 스튜디오 및 AAA급 스튜디오와 함께한 두 번의 게임 잼을 통해, 이외에도 프리팹 워크플로에 관한 여러 가지 건의 사항을 확인할 수 있었습니다. 따라서 재사용성, 제어 및 안정성에 중점을 두고 프리팹 시스템을 전반적으로 개선했습니다. 장기적 목표는 네스팅 기능 지원뿐 아니라 핵심 프리팹 워크플로 전체를 향상하여 여러 명의 팀원이 프리팹을 안정적이고 효율적인 방법으로 동시에 편집할 수 있도록 하는 것이었습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

새로운 프리팹 워크플로를 사용하면 씬과 프리팹을 세밀한 수준으로 분할할 수 있습니다. 이렇게 하면 유연성을 높이고, 생산성을 향상시키고, 오류로 인한 시간 낭비 없이 안심하고 작업할 수 있습니다.

네스팅

더욱 유연해진 옵션

이전에는 제작할 때 거대한 단일 구조의(monolithic) 프리팹(예: 빌딩)을 만들지, 보다 세부적인 프리팹(예: 가구)을 만들지 선택해야 했지만 두 가지를 동시에 할 수는 없었습니다.

이제는 네스티드 프리팹이 지원되어 대형 건물은 여러 개의 작은 방 프리팹으로, 또 작은 방은 각각 여러 개의 가구 프리팹으로 구성할 수 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

또한 이제 네스팅 및 상속을 지원하며 이전 버전과 호환되는 프리팹 백엔드도 구현하여 개발 팀은 규모에 상관없이 다음 작업을 더욱 간편하게 수행할 수 있습니다.

  • 프리팹을 여러 개의 엔티티로 분할하여 효율성 향상
  • 규모에 상관없이 모든 콘텐츠 재사용
  • 다양한 콘텐츠 부분을 동시에 작업

프리팹 베리언트

유연한 프로퍼티로 효율성 향상

기본적으로 프리팹 배리언트는 원본 프리팹의 오브젝트와 프로퍼티를 상속하지만, 이러한 프로퍼티를 오버라이드하고 다른 컴포넌트와 게임 오브젝트를 추가할 수 있습니다. 이는 객체 지향 프로그래밍의 상속 개념과 유사합니다.

예를 들어 문(door) 프리팹의 배리언트를 만든 다음 다른 메시와 머티리얼을 할당하여 낡고 부서진 모습을 연출할 수 있습니다. 기본 문 프리팹을 변경하면 배리언트도 영향을 받습니다. 이러한 특성을 활용하면 예를 들어 기본 프리팹을 변경함으로써 두 문의 콜라이더 크기를 손쉽게 미세 조정할 수 있습니다.

또한 프리팹 인스턴스의 프로퍼티 시각화와 오브젝트 오버라이드를 개선하고, 여러 세부 요소별로(프로퍼티별, 컴포넌트/게임 오브젝트별 또는 이전처럼 전체 프리팹 인스턴스별로) 오버라이드할 수 있는 기능을 추가했습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

프리팹 모드

오류 수정으로 인한 시간 낭비 방지

프리팹 에셋을 편집하기 위해서는 계층 구조 창(열려 있는 씬)으로 에셋을 드래그하여 수정한 다음 변경 사항을 적용하고, 에셋을 다시 삭제해야 하는 번거로움이 있었습니다. 또 다른 문제점으로는 인스펙터에 있는 프리팹 인스턴스의 Apply 버튼을 들 수 있습니다. 이 버튼을 잘못 클릭하여 프리팹 에셋에 변경 사항을 실수로 적용하고, 어떤 항목을 변경했는지 확인하기도 어려웠기 때문입니다. 이러한 문제 해결을 위해 프리팹을 별도로 편집할 수 있는 새로운 프리팹 모드가 추가되었습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

이제 씬에서 인스턴스화하지 않고도 프리팹 에셋 전체를 편집하거나 기존의 인스턴스를 편집할 수 있으므로, 씬에서 오버라이드를 실수로 적용하는 것과 같은 오류를 방지할 수 있습니다. 이렇게 인스턴스와 에셋을 별도로 편집할 수 있게 됨에 따라 안심하고 변경 사항을 적용할 수 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

유니티 R&D 팀의 니콜린 호(Nikoline Høgh)스티나 케어뵐(Stine Kjærbøll)사용자 테스트와 설문 조사를 진행하고 150이상의 고객사와 대면 인터뷰를 실시한 결과, 프리팹 워크플로를 근본적으로 개선하는 필요한 귀중한 인사이트를 얻을 있었습니다.

 

참조할 만한 예제 프로젝트

개선된 새로운 프리팹 워크플로 사용 방법을 익히는 데 도움이 되는 예시를 살펴보세요. 유니티 포럼에서 새로운 프리팹 워크플로에 관한 의견을 공유해주세요.

사용자 환경 설정 및 설정 창

2018.3에서는 모든 사용자 환경 설정과 프로젝트 설정을 효율적이고 일관되게 찾고 관리할 수 있도록 새로운 창이 몇 개 추가되었습니다. 이 창은 도킹이 가능하며, 왼쪽에서 오른쪽 방향으로 편리하게 탐색할 수 있으며, 모든 설정을 검색하여 원하는 항목을 빠르게 찾을 수 있습니다.

창과 함께 제공되는 API를 사용하면 패키지 또는 에셋 스토어 플러그인에 사용자 자신만의 설정을 간편하게 추가할 수 있습니다.

사용성 개선 

창 탭에서 작업하기가 더 수월해졌습니다. 창 탭을 선택하면 탭이 파란색 윤곽으로 강조 표시되며, 탭의 너비가 탭 제목의 길이에 따라 조정됩니다. 열린 탭 수가 창의 너비를 초과하는 경우, 화살표 키를 사용하여 창을 스크롤할 수 있습니다.

시네마틱스

타임라인

타임라인 애니메이션 트랙이 계층 구조의 루트 트랜스폼 애니메이션을 처리하는 방식이 대폭 개선되었습니다.

 

새로운 트랙 오프셋 모드 

씬에서 캐릭터의 애니메이션이 시작되어야 하는 정확한 시점이 타임라인에 표시되는 모드입니다. 2018.3 이전 버전의 타임라인에서는 시작 위치가 애니메이터의 상태에 따라 달랐습니다. 이전 버전과 호환되는 Auto 모드 옵션이 트랙에 추가되었습니다.

스케일에 맞춰 조정

애니메이터에 '루트 모션 적용' 플래그를 설정한 경우 타임라인이 루트 트랜스폼의 애니메이션에 로컬 스케일을 적용합니다. 따라서 여러 게임 오브젝트 간 타임라인 에셋을 재사용하기가 더욱 용이하며, 발 미끄러짐(foot-sliding) 등의 원치 않는 현상을 제거할 수 있습니다.

루트 모션 불필요

2018.3 이전 버전에서는 루트 트랜스폼 포지션과 회전이 애니메이션화된 애니메이션 클립에 루트 변환을 적용하려면 루트 모션 커브를 생성해야 했습니다. 이제는 이러한 작업이 불필요하며, 포지션과 회전이 애니메이션화된 모든 클립과 타임라인을 함께 사용할 수 있습니다(레거시 클립 제외).

개선된 에디터 프리뷰

에디터 내 타임라인 프리뷰가 개선되었습니다. 씬 오프셋(Scene Offsets)을 적용하면 씬 포지션이 오프셋으로 사용됩니다. 가속(ease-in)/감속(ease-out)을 적용하면 씬 포즈 및 씬 포지션과 혼합됩니다.

시네머신

시네머신에 물리적 카메라 지원, 이벤트 매퍼 및 인터랙티브 디스플레이가 포함된 새로운 절차적 노이즈 에디터를 추가했습니다.

비주얼 노이즈 에디터로 시네머신 카메라의 물리적 느낌을 바꿀 있습니다.

월드 빌딩

올해 초 Unity에 포함된 프로빌더(ProBuilder) 3D 모델링 및 레벨 디자인 툴의 4.0 버전이 대폭 업데이트되었습니다. 이번 버전에서는 안정성 개선 및 버그 수정과 더불어 몇 가지 새로운 기능과 중요한 변경 사항이 추가되었습니다.

무엇보다도 이제 프로빌더 4.0은 소스 코드로 배포되며, 개발자가 에디터와 런타임을 더욱 다양하게 커스터마이즈할 수 있는 개선된 공용 API를 새롭게 선보입니다. 또한 이번 업데이트에는 새로운 네스티드 프리팹 워크플로 지원, 성능 개선, 모든 요소 선택에 대한 사전 선택 강조 표시 등 시각적 요소의 업그레이드가 포함되었습니다. 프로빌더 4.0에 대한 자세한 정보는 이 포럼에서 확인하실 수 있습니다.

터레인 업데이트

Unity 2018.3에서 터레인 시스템은 성능과 사용성 위주로 업데이트되었습니다.

이번 업데이트에서는 GPU 활용도를 높이는 툴 및 성능 개선 사항이 포함됩니다. 또한 HDRP 및 LWRP 파이프라인에 대한 지원이 추가되며, 빌트인 렌더 파이프라인과 Unity의 기존 터레인 시스템과도 호환됩니다.

성능

성능 향상을 위해 터레인에 GPU 인스턴싱이 적용된 렌더 경로가 추가되었습니다. 대부분의 경우 인스턴싱을 사용하면 발생되는 드로우 콜의 수가 급격히 감소합니다. 유니티에서 자체적으로 진행한 여러 테스트 결과 CPU 비용이 50% 이상 절감되었습니다. 단, 실제 수치는 플랫폼과 사용 사례에 따라 다를 수 있습니다.

스크립터블 GPU 툴

에디터의 경우 커스텀 터레인 툴을 직접 제작할 수 있는 스크립트 API를 공개했으며, 다양한 유틸리티 함수를 제공하여 GPU에서의 원활한 교차 타일 조형(cross-tile sculpting) 및 페인팅 작업을 쉽게 구현할 수 있습니다.

또한 기존의 모든 터레인 툴이 GPU 작업으로 전환되었습니다. 따라서 작업 속도가 크게 개선되었을 뿐만 아니라 브러시 크기가 더욱 커지고, 브러시 프리뷰가 개선되었으며, 자동 심 스티칭(seam-stitching) 기능을 이용하면 터레인 타일 경계면 전체를 페인트할 수 있습니다.

다중 터레인 지원

다중 터레인 타일에 대한 작업이 한결 쉬워졌습니다. 터레인 간 페인팅 작업을 원활하게 진행할 수 있을 뿐만 아니라, 인접한 터레인을 자동으로 연결할 수도 있습니다. 이전에는 스크립트를 작성하여 인접한 터레인을 수동으로 연결해야 했습니다.

기존 터레인을 확장하는 경우 새로 추가된 '인접 터레인 생성(Create Neighbor Terrain)' 툴을 사용하면 빈 경계면을 따라 외관상 매치되는 터레인 타일을 빠르게 추가할 수 있습니다.

새로운 에셋 유형 및 툴

새로운 터레인 툴과 Brush 에셋은 하이트맵, 메시 스탬핑과 클론 브러시를 포함합니다. 이러한 페인팅 툴은 Unity 2018.3에 포함되지 않지만, 유니티의 GitHub 터레인 툴 프로젝트를 통해 다운로드할 수 있습니다.

또한 워크플로를 간소화하는 터레인 관련 에셋 유형으로 TerrainLayer 에셋과 Brush 에셋이 새롭게 추가되었습니다. TerrainLayer를 이용하면 터레인 오브젝트와 상관없이 터레인 머티리얼을 정의할 수 있기 때문에 터레인 오브젝트가 여러 개라도 동일한 머티리얼을 쉽게 추적할 수 있습니다. 이렇게 하면 페인팅과 머티리얼 수정 작업이 원활해집니다.

여기 보이는 브러시는 페인팅 및 조형 툴에서 사용하는 GPU 브러시 셰이프로, 이제 텍스처와 방사 감쇠 커브(radial falloff curve)로 정의됩니다. 이렇게 하면 브러시 셰이프를 간편하게 만들고 조정할 수 있습니다.

또한 R16 텍스처 포맷(단일 채널 16비트 포맷)에 대한 지원도 추가되었습니다. 이를 통해 브러시 셰이프에 대해 8비트 양자화(quantization)를 피할 수 있습니다. 즉, 하이트맵 스탬프로 사용될 경우 원치 않는 '테라싱(terracing, 계단 현상)' 현상이 발생하지 않습니다.

'테라싱' 결함을 보이는 8비트 브러시 스탬프(상단)와 16비트 브러시 스탬프(하단).

피드백이 있으시면 언제든지 월드 빌딩 포럼에 글을 남겨주세요!

패키지 관리자 업데이트

패키지 관리자를 활용하면 다양한 프로젝트에 Unity로 개발한 기능을 동적으로 로드하여 업데이트할 수 있어 새로운 Unity 기능에 빠르게 액세스할 수 있습니다.

더 많은 Unity 기능들이 패키지 형식으로 전환됨에 따라 사용자 경험(UX)을 지속적으로 개선하여 사용 가능한 패키지 및 업데이트 검색과 프로젝트에 설치된 패키지 관리가 용이해졌습니다.

패키지 레이블 상태를 나타낼 수 있도록 개선된 UI, 창 도킹 기능, 문서 및 변경 사항 목록에 대한 간편한 액세스 등 패키지 관리자에 대한 개선 사항을 추가했습니다. 이제는 이름으로 패키지를 검색할 수 있으며, 사용자가 직접 제작한 커스텀 패키지를 수동으로 추가할 수 있는 UX 빌딩 블록의 일부가 최초로 도입됩니다.

유니티의 패키지 관리자 포럼에서 더욱 다양한 최신 개발 기능을 살펴보고 토론에 참여하세요.

허브 업데이트

지난 9월 온보딩과 제작 프로세스를 간소화하기 위해 고안된 새로운 커넥티드 데스크톱 앱 Unity Hub 1.0이 출시되어 Unity 프로젝트, 라이선스, 에디터 설치 파일 및 애드온 컴포넌트를 통합 관리할 수 있게 되었습니다. 새로운 Hub v1.2 릴리스는 Unity 다운로드 아카이브 URL을 통해 레거시 Unity 에디터 빌드를 허브에서 바로 다운로드하고 설치할 수 있는 기능을 포함합니다. 이제 프로젝트 특성상 특정(이전) 에디터 버전을 이용하는 사용자도 허브에서 클릭 한 번으로 간편하게 해당 버전에 액세스할 수 있습니다.

패키지로 배포되는 기능과 업데이트가 늘어나는 추세에서 새로운 패키지 프로젝트 업데이터는 허브를 통한 업그레이드 절차를 간소화하며, 이에 따라 이전의 Unity 릴리스에서 새로운 버전으로 프로젝트 마이그레이션 시 프로젝트 패키지, 스크립트와 프로젝트 라이브러리가 올바르게 호환될 수 있습니다.

디버깅 지원을 위해 패키지 업데이트 로그 파일도 제공되어 사용자는 영향을 받는 각 프로젝트 레벨에서 마이그레이션 상태를 확인할 수 있습니다.

엔진 업데이트

Visual Studio Code의 Debugger for Unity 확장

macOS, Windows 및 Linux에서 사용 가능한 오픈소스 코드 최적화 에디터 Visual Studio Code의 디버거 확장 기능이 업데이트되었습니다. Debugger for Unity 확장은 경량 환경에서 C# 스크립트 디버깅 지원을 제공하며, 최신 버전인 2.x 버전에는 Mono 4.x 스크립팅 런타임 지원 등 다양한 개선 사항이 추가되었습니다. 시작하려면 Visual Studio Code 사이트의 설정 지침을 따르세요.

다양하고 통합된 기능이 제공되는 C# 편집 및 디버깅 환경이 필요하다면 Visual Studio나 Visual Studio for Mac을 사용해 보세요. 시작하려면 이 문서를 참조하세요.

물리

PhysX 3.4

NVIDIA PhysX 3.3이 3.4로 업그레이드되었으며, 이에 따라 레이캐스팅, 셰이프 스위핑, 메시 쿠킹 등의 작업 속도가 2배 더 빨라졌습니다. 또한 빠르게 회전하는 오브젝트와의 충돌을 감지하는 기능이 지원되며, 모든 입력 사항이 동일한 경우 같은 시뮬레이션 결과가 도출되도록 결정론적 분명성이 향상되었습니다.

더불어 C# 잡 시스템에서 사용할 수 있는 PhysX 기능이 확장되었습니다. 이에 따라 대다수의 콜라이더 유형을 메인 스레드 외에서 비동기로 활용할 수 있어 멀티코어 하드웨어 성능이 대폭 개선됩니다. 또한 PhysX 3.4로 업그레이드함에 따라 안정성과 성능도 개선되었습니다. 마지막으로 이제 여러 월드 및 C# 잡 쿼리도 지원됩니다.

멀티 씬 물리

이전에는 모든 바디와 콜라이더를 채운 씬을 하나만 생성할 수 있었지만 이제는 물리 씬을 여러 개 생성할 수 있습니다. 따라서 특정 Unity 씬에서 기본 물리 씬을 사용할지 아니면 자체 로컬 물리 씬을 사용할지를 지정할 수 있습니다. 이는 2D 및 3D 물리 모두에 해당됩니다.

자세한 내용은 Unity 2018.3 물리에 대한 이 블로그 게시물을 참조하세요.

가비지 컬렉션 제어

런타임 시 Mono 및 IL2CPP 스크립팅 백엔드에서 가비지 컬렉션을 전역적으로 활성화/비활성화할 수 있는 새로운 스크립팅 API인 UnityEngine.Scripting.GarbageCollector가 추가되었습니다. 메모리를 철저하게 관리하지만 런타임 시 메모리 할당이 (거의) 없다면 가비지 컬렉션을 비활성화하여 가비지 컬렉터 오버헤드를 방지할 수 있습니다. 오버헤드를 감당할 수 있게 되면 가비지 컬렉션을 다시 활성화하고 System.GC.Collect()를 호출하여 가비지 컬렉션을 강제 실행할 수 있습니다. 즉, 이제 가비지 컬렉션이 무작위로 실행되지 않도록 제어할 수 있습니다.

.NET 4.x Equivalent 스크립팅 런타임

이제 Unity 프로젝트에서 기본으로 .NET 4.x Equivalent 스크립팅 런타임을 사용합니다.

이전 버전의 스크립팅 런타임(.NET 3.5 Equivalent)은 제외될 예정이었으며 2019.x 버전에서 제거될 것입니다. LTS 2018에서는 두 스크립팅 런타임 버전 모두 계속해서 지원됩니다.

새로운 .NET 4.x Equivalent 스크립팅 런타임(Unity 2018.2에 도입됨)으로 프로젝트를 진행해보지 않았다면 추가된 새로운 기능들은 .NET 4.x Equivalent 스크립팅 런타임으로 전환할 충분한 이유가 될 수 있습니다. 예를 들어 Mono 및 IL2CPP가 사용되는 모든 Unity 플랫폼상에서 .NET 클래스 라이브러리의 모든 API에 대해 완벽하게 TLS 1.2를 지원합니다.

이번 Unity 버전에서는 프로젝트 용량을 줄이기 위해 많은 노력을 기울였습니다. 새로운 스크립팅 런타임을 사용하는 2018.3 프로젝트의 전체 빌드 용량(예: iOS)은 이전 스크립팅 런타임을 사용하는 2018.2 이하 빌드와 유사합니다.

또한 .NET 4.x 스크립팅 런타임 사양의 프로젝트에서는 오픈소스인 Roslyn 컴파일러를 사용할 수 있기 때문에 이전에 사용된 Mono C# 컴파일러에서 발생하던 버그를 피할 수 있습니다.

코드 크기

모든 플랫폼 플레이어 설정 전체에서 관리되는 코드 스트리핑(code-stripping)을 표준화했습니다. Stripping Level 옵션이 새로운 Managed Stripping Level 옵션으로 대체되었으며, 이 변경된 옵션은 모든 플랫폼과 Mono 및 IL2CPP 스크립팅 백엔드 모두에서 사용할 수 있습니다.

게임의 크기를 최대한 줄이기 위해 Managed Stripping Level 옵션으로 두 가지, Medium과 High 가 새롭게 추가되었으며, 이 옵션은 .NET 4.x 스크립팅 런타임을 사용할 경우에만 제공됩니다.

관리되는 코드 스트리핑이 개선되고, .NET 4.x 런타임을 사용하는 IL2CPP 빌드 크기가 개선된 덕분에 NET 4.x 런타임을 대상으로 하는 빌드 크기가 이전 .NET 2.0 런타임과 비슷해졌습니다.

C# 7.3 – Roslyn

이제 .NET 4.x 스크립팅 런타임을 사용하는 프로젝트에 C# 7.3이 지원됩니다. 오픈소스 Roslyn C# 컴파일러와의 호환성을 향상하여 최신 C# 7.3 언어 기능을 도입하고 컴파일 시간을 단축함으로써 이러한 지원이 가능해졌습니다.

다운로드한 에셋 번들 재압축을 위한 런타임 API

에셋 번들은 런타임 시 로드 가능한 플랫폼별 에셋(예: 모델, 텍스처, 프리팹, 오디오 클립, 씬 전체)을 포함하는 아카이브 파일로, 다운로드 가능한 콘텐츠(DLC)의 초기 설치 용량을 줄여 에셋을 최종 사용자의 플랫폼에 최적화하고 런타임 메모리로 인한 부담을 줄여줍니다.

Unity 2018.3은 사용자가 직접 에셋 번들 캐시 시스템을 생성하고 관리할 수 있는 API를 제공합니다. 이 API를 사용하면 클라이언트에게 LZMA 압축 번들을 전달할 수 있습니다. 클라이언트는 이러한 번들을 Unity의 네이티브/내장 에셋 번들 캐시 시스템과 마찬가지로 런타임에 더욱 최적화된 형식(LZ4)으로 재압축할 수 있습니다.

내비게이션 시스템 업데이트

NavMesh Surface 컴포넌트는 특정 유형의 NavMesh 에이전트가 보행 가능한 영역을 나타내며, NavMesh를 빌드할 씬 부분을 지정합니다. Unity 2018.3부터 내비게이션 시스템에서 프리팹 내의 NavMeshSurfaces를 프리팹 모드에서 따로 베이크할 수 있습니다. 또한 직선 경로를 추적하거나 NavMesh의 두 포지션 간 장애물을 찾으려는 경우 잡(job)에서 NavMeshQuery.Raycast 메서드를 호출할 수 있습니다. 유니티는 지속적으로 기능을 개선하고 있으며, 여러분이 포럼에서 다양한 의견을 공유해 주시기를 기대하고 있습니다.

에셋 업로드 파이프라인

Unity 2018.3 이전에는 AUP(Async Upload Pipeline)에서 텍스처만 처리했습니다. Unity 2018.3 버전부터 AUP는 텍스처와 메시를 로드합니다. 단, 읽기/쓰기가 사용 설정된 텍스처 및 읽기/쓰기가 사용 설정되었거나 압축된 메시는 AUP를 사용하지 않습니다.

자세한 내용은 최근 블로그 게시물을 참조하세요.

(2018.2에 추가된 텍스처 밉맵 스트리밍도 AUP를 사용합니다.)

메모리 프로파일러

메모리 사용량은 중요한 성능 지표이며, 특히 저사양의 모바일 기기 등 메모리 리소스가 제한적인 플랫폼에 중요합니다.

Unity는 우수한 성능 프로파일링 툴을 갖추고 있으나, 이전부터 메모리 관련 문제를 해결하는 데는 다소 미진했습니다. 이 때문에 메모리 누수를 파악하거나, 가장 크기가 큰 할당을 찾거나 단순히 현황을 파악하는 작업도 쉽지 않았습니다.

이점을 염두해두고 프로젝트 메모리 현황을 더욱 편리하게 파악할 수 있도록 기존의 메모리 프로파일러를 개선했습니다. 새로운 메모리 프로파일러를 사용하면 모든 할당의 세부 사항을 상세하게 살펴볼 수 있습니다.

또한 스냅샷을 캡처하고 기본 메모리 사용량과 관리되는 메모리 사용량을 세부적으로 확인하여 더욱 효과적으로 메모리 사용량을 최적화할 수 있습니다. 이는 C# 메모리와 C++ 메모리, 여러 할당 간의 관계 및 Unity 내부 할당을 점검하고, 메모리 용량이 적은 기기로 작업할 때 유용합니다.

스냅샷 간의 차이점을 비교하여 메모리 누수를 파악할 수도 있습니다. 메모리 프로파일러 최초 릴리스는 프리뷰로 제공되며, 지속적으로 업데이트됩니다. 여러분의 의견을 공유해 주세요. 성능 최적화에 관심이 있으시다면 유니티의 프로파일러 포럼에 참여하세요.

Unity의 메모리 프로파일러에서 발생한 메모리 관련 문제를 해결하는 방법은 유나이트 LA 2018 세션을 참조하세요.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

2D 기능

2D 아이소메트릭 타일맵

Unity 2018.3에서는 아이소메트릭(isometric) 그리드 레이아웃을 기반으로 고성능 2D 환경을 손쉽게 만들 수 있습니다. 일반 아이소메트릭 타일맵과 Z as Y(Y에 Z 방향 오프셋 적용) 타일맵 중 원하는 아이소메트릭 타일맵을 선택할 수 있습니다. Z as Y 타일맵을 선택하면 동일한 타일에 대해 여러 타일을 다양한 높이에 페인팅할 수 있으며, 예를 들어 여러 층의 고층 빌딩, 나무나 탑 등의 높은 오브젝트를 페인팅할 수 있습니다.

또한 타일을 그룹화하여 렌더링하거나, 개별적으로 렌더링할 수 있습니다. 타일을 그룹화(Chunk 모드)하여 한 번에 렌더링하면 성능을 최적화할 수 있습니다. 단, 게임 오브젝트가 타일 앞뒤로 움직이게 하려면 각 타일을 개별적으로 렌더링해야 합니다.

유니티의 GitHub에서 RuleTiles 등 타일맵과 함께 사용할 수 있는 유틸리티를 다운로드할 수 있습니다.

 

아이소메트릭 그리드에 배치된 2D 게임 레벨의 예시. 아트 제공: Max Heyder Art(Golden Skull), Unity 에셋 스토어에서 구입 가능.

타일 제공: 아이소메트릭 던전 타일 팩(Kenney)

2D 애니메이션 v2

2D 애니메이션 시스템의 신규 버전에는 새로운 워크플로가 추가되었으며, 리깅 프로세스를 좀 더 세부적으로 제어할 수 있는 기능이 포함되었습니다.

멀티 스프라이트: Photoshop과 같은 프로그램에서 캐릭터를 제작할 경우 캐릭터의 팔다리와 몸을 각각 별도의 레이어로 구성하고, 파일을 PSB로 내보낸 다음 에셋을 Unity로 가져와야 합니다. 즉 새로운 2D PSDImporter 패키지가 필요합니다. 그러면 Unity가 자동으로 스프라이트 시트를 생성합니다.

새로운 스키닝 에디터: 새로운 에디터 창을 사용하여 메시 테셀레이션 및 스프라이트 변형을 이전보다 정확하게 지정할 수 있으며, UI/UX도 개선되었습니다.

2D 애니메이션 v2용 패키지와 2D PSDImporter는 곧 패키지 관리자에서 사용할 수 있습니다.

배경 및 중심 캐릭터 제공: Zoink Games

애니메이션

런타임 코드 할당 없음과 잡 배칭 등의 애니메이터 개선을 통해 성능을 10~20% 향상했습니다.

파티클 시스템

2018.3에서는 파티클 시스템의 많은 기능이 개선되었으며, 다양한 기능이 추가되었습니다.

 

오프셋이 포함된 Set/GetParticles

이 스크립트 API는 '오프셋'이라는 새로운 선택적 매개변수가 가능하도록 개선되었으며, 파티클 배열 전체의 하위 일부 영역을 가져오거나 설정할 수 있습니다.

 

파티클 광원의 실시간 전역 조명 지원

이제 전역 조명에 영향을 미치는 다른 빛과 동일하게 광원(Lights) 모듈을 통해 빛을 발산할 때 광원 모듈에 광원 프리팹을 설정하기만 하면 파티클에서 발산되는 빛이 씬의 실시간 전역 조명에 영향을 미칠 수 있습니다.

파티클 시스템 메시 플립

이제 플립 옵션을 사용하여 빌보드뿐 아니라 파티클 메시도 플립할 수 있습니다. 또한 플립 U/V 옵션이 텍스처 시트 애니메이션(Texture Sheet Animation) 모듈에서 렌더러(Renderer) 모듈로 이동되었습니다.

순서별 메시 셰이프 방출

절차적 셰이프에서 무작위가 아닌(non-randomized) 방출을 지원하는 것과 유사하게 이제 메시에서도 예측 가능한 순서로 파티클을 생성할 수 있습니다. 원과 같은 절차적 셰이프의 경우 파티클이 셰이프의 가장자리 주변에서 점진적으로 생성됩니다. 메시의 경우 동일한 원칙이 적용되지만, 메시의 버텍스나 면 순서에 따라 순서가 결정됩니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

비활성화(VR)

카메라가 바라보는 방향에 있는 파티클이 카메라와 함께 롤링하지 않게 하는 새로운 체크박스를 렌더러 모듈에 추가했습니다. VR 애플리케이션에서 특히 유용하며, 이 기능이 없다면 사용자가 머리를 기울일 경우 파티클이 부자연스러워 보일 수 있습니다.

 

버스트 확률

더욱 불규칙적인 파티클 버스트를 생성하기 위해 버스트가 트리거되지 않을 확률을 무작위로 지정할 수 있습니다.

 

파티클 스탠다드 셰이더가 기본 옵션으로 지정됨

Unity 2018.3에서는 새로운 파티클 시스템을 만들면 언릿 파티클 스탠다드 셰이더가 기본으로 설정됩니다. 이전의 다른 셰이더는 모두 레거시 메뉴로 이동되었습니다.

 

링버퍼 모드

새로운 링버퍼(Ringbuffer) 모드에서 파티클의 생존 기간(lifetime)이 끝난 후에도 해당 파티클이 교체될 때까지 계속 보이게 하여 발자국이나 총알 자국과 같은 지속적 효과를 더욱 간편하게 생성할 수 있습니다. 이 새로운 모드에서는 필요한 경우 두 가지 반복 모드로 파티클을 구성하여 교체될 때까지 영구적으로 계속해서 애니메이션화되는 효과(예: 타오르는 불씨)를 생성하는 동시에 성능을 위한 전반적인 메모리 할당량을 유지할 수 있습니다.

 

새로운 텍스처 시트 애니메이션 모드

텍스처 시트 애니메이션 모듈에 새로운 모드 두 가지가 추가되었습니다. 첫 번째 모드는 일정한 FPS(초당 프레임 수)로 애니메이션을 재생합니다. 두 번째 모드는 파티클 속도에 기반하며, 각 파티클의 이동 속도에 따라 애니메이션 프레임 수를 결정합니다.

 

외부 모듈 업그레이드

외부 힘(External Forces) 모듈이 업그레이드되어 ParticleSystemForceField 컴포넌트가 새로 추가되었습니다. 이 컴포넌트는 파티클 시스템과 상호작용하여 파티클에 다양한 힘을 적용할 수 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

그림자 바이어스

파티클 빌보드, 선과 트레일은 모두 카메라 방향의 2D 지오메트리를 3D 오브젝트로 속이는 것이기 때문에 자기 그림자가 잘못 드리워지는 문제가 발생합니다. 이러한 문제를 해결하기 위해 각 컴포넌트에 새로운 그림자 바이어스(Shadow Bias) 옵션이 추가되었습니다. 이 옵션을 사용하면 그림자를 오브젝트에서 약간 이동시켜 자기 그림자가 잘못 드리워지는 문제를 방지할 수 있습니다.

 

서브 이미터 Ratio 프로퍼티

Unity의 서브 이미터에 'Ratio'라는 새 프로퍼티가 추가되었습니다. 이 프로퍼티는 서브 이미터 이벤트의 실행 가능성을 나타냅니다. 값이 1이면 트리거되는 서브 이미터가 100% 실행되며, 값이 0이면 어떤 경우에도 실행되지 않습니다. 0과 1 사이의 값을 사용하면 서브 이미터 이벤트가 실행될 확률을 무작위로 할당할 수 있습니다.

 

컬링

Unity 2018.3에는 파티클 시스템이 화면 밖에 있을 때 시스템을 제어할 수 있는 방법이 도입되었습니다. 이전 버전에서는 파티클 시스템 시뮬레이션의 일시 중단 또는 지속 여부가 자동으로 결정되었기 때문에 화면 밖의 효과를 시뮬레이션하면서 성능이 불안정해지거나, 낭비되는 경우가 있었습니다. 새로운 컬링 모드 옵션에서는 이러한 부분을 직접 제어할 수 있습니다.

 

비균등 스케일

비균등 스케일링이 예상대로 작동하지 않는 버그 몇 가지를 수정했습니다. 이제 비균등 스케일링을 로컬 또는 월드 공간에 정렬된 파티클과 함께 사용하여 예상 가능한 결과를 도출할 수 있습니다.

 

레거시 파티클 시스템 지원 중단

유니티는 새로운 기능 개발에 집중할 수 있도록 Unity 2018.1부터 레거시 파티클 시스템의 스크립트 바인딩을 제거하여 지원을 중단하기 시작했으며, 이번 2018.3 버전에서 레거시 파티클 시스템의 지원을 완전히 중단했습니다.

이로 인해 이전의 프로젝트가 영향을 받는다면 레거시 파티클 시스템 업데이터 툴을 사용하여 레거시 파티클 시스템을 파티클 시스템 컴포넌트로 전환할 수 있습니다. 자세한 내용은 여기를 참조하세요. 문의가 있으시다면 유니티 포럼에 질문을 올리고 답변을 받아보실 수 있습니다.

플랫폼

모바일

Unity 2018.3에는 다음을 비롯하여 모바일 기능이 상당히 개선되었습니다.

Android App Bundle

Google Play를 위한 새로운 업로드 형식 Android App Bundle은 게임에 필요한 컴파일된 코드와 리소스가 모두 포함되어 있지만 APK 생성 및 Google Play 서명이 바로 필요하지는 않습니다. Google Play의 새로운 앱 지원 모델인 Dynamic Delivery는 사용자의 앱 번들을 사용하여 각 사용자의 기기 구성에 최적화된 APK를 생성하고 제공하므로, 앱 실행에 필요한 코드와 리소스만 다운로드하면 됩니다. 이제 기기 지원을 위해 여러 APK를 구축하고 서명하고 관리할 필요가 없게 되어 사용자는 보다 최적화되고 크기가 줄어든 상태로 앱을 다운로드할 수 있습니다.

모바일에 다이내믹 해상도 지원(iOS/Andorid - Vulkan)

Unity 2018.3에서 iOS/tvOS(Metal) 및 Android(Vulkan)용으로 추가된 다이내믹 해상도는 렌더링 대상을 일부 또는 모두 동적으로 스케일링하여 GPU 워크로드를 감소시킵니다. 성능 데이터를 통해 게임의 프레임 속도가 GPU 바운드로 인해 떨어지려 한다고 판단이 되면 이 기능이 자동으로 트리거될 수 있습니다. 이러한 경우 해상도를 점진적으로 낮추면 안정된 프레임 속도를 유지할 수 있습니다. 사용자가 게임플레이 중 GPU를 특히 집중적으로 사용하는 부분에 도달했을 때 수동으로 트리거할 수도 있습니다. 다이내믹 해상도의 경우 점진적으로 스케일링되면 육안으로는 거의 느껴지지 않습니다.

Android 런타임 사용 권한

Android 6(API 레벨 23) 이상에서 Android.Permission API를 사용하면 애플리케이션이 시작될 때가 아니라 카메라, 마이크나 위치와 같은 시스템 기능이 필요할 때 사용 권한을 요청할 수 있습니다. 권한 허용 여부를 확인하고 Android 시스템 권한 다이얼로그가 나타나기 전에 권한을 요청하는 이유를 설명하는 메시지를 표시할 수 있습니다.

Unity에 OpenJDK 설치

이제 Unity는 기본적으로 OpenJDK를 기반으로 하는 Java 개발 키트를 설치하여 사용자는 항상 올바른 JDK 버전을 사용할 수 있습니다.

콘솔

Xbox One용 DirectX 12

2018.3 버전에서는 Unity의 DirectX 12가 Xbox One에도 지원됩니다.

DirectX 12는 드라이버 오버헤드를 감소시키고 멀티코어 시스템을 더욱 효율적으로 사용할 수 있는 새로운 그래픽스 API입니다. DX12를 사용하면 일부 게임의 경우 성능이 대폭 개선됩니다. 예를 들어 유니티의 사자의 서(Book of the Dead) 데모에서는 프레임 속도가 8.72% 개선되었습니다.

이 기능은 우선 사용자가 설정 가능한 실험 단계로 제공됩니다. 자세한 내용은 추후 블로그 게시물을 통해 공개될 예정입니다.

XR

Daydream 컨트롤러 기본 지원

이번 업데이트를 통해 Daydream 컨트롤러의 추적 기능과, 입력 관리자를 통한 버튼 입력이 기본 지원됩니다. Unity 2018.3의 모든 멀티플랫폼 VR 기능은 이 블로그 게시물에서 확인하세요.

 

VR 컨트롤러용 햅틱 API

이제 Windows 혼합 현실 헤드셋 컨트롤러, OpenVR을 통한 Vive 컨트롤러 및 Oculus Touch 컨트롤러에 햅틱 트리거가 가능한 API가 제공됩니다. 또한 향후 공개할 릴리스를 통해 플랫폼 지원을 지속적으로 확대하고 더 많은 기능을 개발할 예정입니다.

 

AR Foundation 업데이트

최근 AR Foundation 및 다른 XR 패키지가 대폭 업데이트되었습니다. 먼저, AR Foundation을 이용하여 빌드한 ARCore 및 ARKit 앱의 경량 렌더 파이프라인을 사용하면 렌더링을 더욱 세밀하게 제어할 수 있습니다. 다음으로, CPU에서 효율적으로 카메라 이미지에 액세스할 수 있는 최적화된 카메라 API가 새롭게 추가되었습니다. 이러한 API는 커스텀 컴퓨터 비전 알고리즘 등을 위해 자체 이미지 처리를 진행하려는 개발자에게 적합합니다. 마지막으로 세션 정보를 공유할 수 있도록 ARKit의 ARWorldMap 기능이 지원됩니다.

 

XR 성능 테스트

XR 프로젝트를 테스트할 수 있는 GitHub 저장소가 추가되었습니다. Automated Tests 패키지는 Unity XR 개발을 위한 기능, 성능 및 여러 유형의 자동 테스트를 포함합니다. Acceptance Tests 프로젝트를 사용하여 Unity 동작 설정을 검증하고, 여러 Unity 버전의 기능을 비교하고 성능 변경 사항을 테스트할 수 있습니다.

TextMesh Pro

TextMesh Pro가 2018.3 버전에 검증된 패키지로 추가되었으며, 런타임 시 글리프를 생성할 수 있도록 고도로 최적화된 폰트 제너레이터가 함께 제공됩니다. 하이브리드 다이내믹 폰트 시스템이라는 이름의 이 폰트 제너레이터를 사용하면 동일한 프로젝트에서 정적 및 동적 폰트 에셋을 함께 사용할 수 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

DCC

FBX 익스포터

2017.2 버전부터 도입된 FBX 익스포터가 2018.3 버전부터는 Unity 패키지 관리자에서 검증된 패키지로 제공됩니다. FBX 익스포터를 사용하면 FBX를 지원하는 모든 애플리케이션과 매우 간편하게 지오메트리를 주고받을 수 있습니다.

물리적 카메라

기존의 Unity 카메라 시스템을 기반으로 한 추가적인 실제 세계 카메라를 시뮬레이션 할 수 있는 카메라 모드가 제공됩니다. 새로운 모드는 세로 시야각(FOV) 제어가 아닌 초점 거리와 센서 크기에 기반하므로 물리적 카메라에 익숙한 시네마토그래퍼와 아티스트가 더욱 편안하고 자연스럽게 사용할 수 있습니다. 비네팅, 색 수차, 플레어 등 더욱 자연스러운 렌즈 효과도 지원됩니다.

SRP에서 Autodesk 인터랙티브 셰이더 지원

유니티는 이전의 거칠기(roughness) 설정을 지원하기 위해 셰이더 그래프를 사용하여 Autodesk 인터랙티브 셰이더를 생성했습니다. 여기서 Autodesk 인터랙티브 셰이더는 이전 Autodesk Maya와 Autodesk 3ds Max의 Stingray PBS 셰이더를 말합니다.

그래픽스

비주얼 이펙트 그래프(프리뷰)

2018.3 버전에서는 새로운 비주얼 이펙트 그래프가 HDRP에서 프리뷰로 지원됩니다. 이 기능을 사용하면 간단한 효과부터 복잡한 효과에 이르기까지 구성 가능하고 재사용 가능한 새로운 효과를 구현하고, GPU에서 수백만 개의 파티클을 처리할 수 있습니다. 노드 기반의 사용하기 쉽고 유연한 이 시스템은 영화 제작 분야에서 최고인 VFX 툴에서 아이디어를 얻어 완성되었으며, 게임 및 기타 크리에이티브 콘텐츠를 위한 멋진 효과를 신속하게 연출할 수 있습니다.

사전 제작된 노드를 간편하게 드래그 앤 드롭하여 단순한 효과를 구현하거나, 보다 정교한 효과를 연출할 수도 있습니다. 또한 수정 내용이 즉각적으로 반영되므로 모든 작업 결과를 실시간으로 확인할 수 있습니다.

비주얼 이펙트 그래프 아키텍처를 사용하면 성능 저하 없이 GPU에서 수백 만 개의 파티클을 생성할 수 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

유나이트 LA 2018에서 시연된 스페이스쉽(Spaceship) VFX 데모

 

모든 에셋에는 독립적 효과 구현을 위해 모든 동작이 포함된 그래프가 있습니다. 효과는 메시, 파티클 및 다른 시뮬레이션 컨테이너들간의 어떠한 조합으로도 구성될 수 있으며, 이러한 조합들은 모두 비주얼 이펙트 그래프에서 처리되는데, 비주얼 이펙트 그래프는 타임라인과 같이 자주 사용되는 툴과 통합되어 있습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

현재 비주얼 이펙트 그래프는 HDRP를 지원하며, 2019년 초 LWRP 지원이 추가될 예정입니다. 비주얼 이펙트 그래프를 개선하는 데 도움이 될 만한 의견이 있을 경우 언제든지 공유해주시기 바랍니다. 시작하려면 리소스 페이지로 이동하세요.

조명 기능 개선

2018.3 버전에 펑추얼(punctual) 을 위한 설정 가능한 감쇠(Configurable Falloff) 기능이 도입되었습니다. CPU 및 GPU 프로그레시브 라이트매퍼 모두에 적용된 이 변경 사항으로 인해 스크립터블 렌더 파이프라인을 사용하지 않을 때에도 스크립트를 통해 베이크된 광원을 구성하여 물리적으로 올바른 '역제곱 감쇠(inverse square falloff)'를 이용할 수 있습니다. 그 결과, 베이크된 조명이 특히 밝은 지점과 길고 천천히 감쇠하는 효과를 포함하는 등 실제 조명에 더욱 가까워졌습니다. 따라서 조명을 더욱 실감나게 구현할 수 있으며, 라이트매핑된 씬에 대한 전반적인 신뢰도가 높아졌습니다.

라이트 프로브 링 무늬 결함 제거(Light Probe Deringing)도 구현되었습니다. 라이트 프로브 그룹을 토글하여 프로브에서 윈도잉(windowing) 효과를 구현할 수 있습니다. 윈도잉을 사용하면 음의 값과 밴딩(banding) 현상(라이트 프로브에서 사용되는 스피리컬 하모닉 함수로 인해 자주 발생하는 샘플링 문제)을 완화할 수 있습니다.

2018.3 버전에서는 CPU 및 GPU 프로그레시브 라이트매퍼에 특정 기능으로 디스크 면 광원이 추가되었습니다. 이 면 광원은 건축 시각화 및 원형 광원 애퍼처(aperture)를 추가해야 하는 애플리케이션에 유용합니다. 이러한 경우 직사각형 광원 모양은 적합하지 않습니다. 또한 디스크 광원은 더 작은 핫스팟과 광원 가장자리에 가까워질수록 더욱 부드러워지는 반영 등 조명 아티스트에게 유용하고 흥미로운 기능을 제공합니다.

GPU 프로그레시브 라이트매퍼(Windows 프리뷰)

Unity 2018.3에 GPU 프로그레시브 라이트매퍼 Windows 프리뷰 기능이 추가되었습니다. GPU 성능이 좋은 컴퓨터에서는 프로그래시브 라이트매퍼를 이용한 라이트맵 베이킹 속도가 상당히 빨라집니다. 유니티는 Unity의 라이트맵 베이킹을 위해 Radeon Rays와 OpenCL상에서 순수 경로 추적 기반 알고리즘을 구축하여 CPU 버전 대비 10배 이상의 성능 향상을 달성했습니다. GPU 프로그레시브 라이트매퍼는 아직 프리뷰로 제공되기 때문에 기능이 제한적이며, 향후 Unity의 모든 조명 기능이 지원될 예정입니다.

GPU 라이트매퍼는 Lighting 창에서 사용해볼 수 있습니다. 2GB 이상의 전용 메모리가 확보된 모든 최신 GPU에서 작동하지만, 라이트맵 크기가 큰 경우 더 많은 메모리 확보가 권장됩니다. 의견이 있을 경우 포럼에 남겨주세요.

Unity 2018.3에 GPU 프로그레시브 라이트매퍼 Windows 프리뷰 기능이 추가되었습니다. GPU 성능이 좋은 컴퓨터에서는 프로그래시브 라이트매퍼를 이용한 라이트맵 베이킹 속도가 상당히 빨라집니다. 유니티는 Unity의 라이트맵 베이킹을 위해 Radeon Rays와 OpenCL상에서 순수 경로 추적 기반 알고리즘을 구축하여 CPU 버전 대비 10배 이상의 성능 향상을 달성했습니다. GPU 프로그레시브 라이트매퍼는 아직 프리뷰로 제공되기 때문에 기능이 제한적이며, 향후 Unity의 모든 조명 기능이 지원될 예정입니다. GPU 라이트매퍼는 Lighting 창에서 사용해볼 수 있습니다. 2GB 이상의 전용 메모리가 확보된 모든 최신 GPU에서 작동하지만, 라이트맵 크기가 큰 경우 더 많은 메모리 확보가 권장됩니다. 의견이 있을 경우 포럼에 남겨주세요.

2019.1 버전에서는 Linux와 macOS도 지원할 예정입니다.

경량 렌더 파이프라인(프리뷰)

경량 렌더 파이프라인(LWRP)의 개선 사항이 몇 가지 추가되었으며, 이제 LWRP의 프리뷰 버전 제공을 종료하고 2019.1 버전에서는 정식 버전을 제공할 예정입니다. 2018.3 버전에는 물리 기반 광원 감쇠, 커스텀 렌더러 및 커스텀 렌더 패스 추가가 포함되었습니다.

 

물리 기반 광원 감쇠

이제 LWRP에서 실시간 광원과 베이크된 광원 모두에 역제곱 감쇠(Inversed Squared Falloff)가 사용됩니다. 따라서 다양한 조명 상태에서 더욱 정확한 결과를 얻을 수 있으며, 보다 범위가 좁은 광원을 사용할 수 있게 되어 오브젝트별 광원 컬링의 성능이 개선되었습니다. 이전 버전에서 4.1.0 프리뷰로 업그레이드하는 경우 씬에서 몇 가지 광원 설정도 업그레이드해야 합니다.

 

그림자 품질 개선

이제 뎁스와 노멀 그림자 바이어스 오프셋이 섀도우맵의 텍셀 크기 단위로 조정되므로 섀도우 애크니를 더욱 미세하게 제어할 수 있습니다. 이 설정은 그림자 캐스케이드나 해상도의 양과 관계없이 작동합니다.

 

커스텀 렌더 패스

이제 LWRP에서 더욱 간편한 워크플로를 사용하여 렌더러를 확장할 수 있습니다. ScriptableRenderPass 클래스를 사용하여 커스텀 렌더 패스를 생성하고 렌더러에서 스케줄링할 수 있습니다. 두 가지 방법으로 기존 LWRP에 커스텀 렌더러 패스를 추가할 수 있습니다.

또한 IRendererSetup을 구현하여 LWRP 렌더러를 완전히 오버라이드할 수도 있습니다. 렌더러 설정은 카메라에 연결할 수 있는 스크립트로, 카메라에 등록된 모든 ScriptableRenderPass를 실행합니다. 이 스크립트로 포워드+나 디퍼드 렌더링 등 다양한 렌더링 전략을 구현할 수 있습니다.

이 예에서는 ScriptableRenderPass를 사용하여 평면 반사 텍스처를 생성한 다음, 셰이더 그래프에서 이 텍스처를 메탈릭 바닥에 적용했습니다.
이 예에서는 빌트인 렌더 파이프라인의 커맨드 버퍼 예시를 전환하여 ScriptableRenderPass를 통해 굴절을 블러 처리했습니다.

기술 자료 업데이트

LWRP에 대한 기술 자료를 확인하려면 Package Manager 창의 'View Documentation'을 클릭하면 됩니다. 그러면 LWRP와 관련된 기술 자료 사이트가 열립니다. 일부 셰이더(릿, 심플 릿)의 문서가 추가되었으며, 2019.1 버전에는 모든 LWRP의 문서를 포함할 예정입니다.

 

성능 개선

GLES2의 점 및 스폿 광원 셰이딩이 개선되었으며, HSR을 지원하는 GPU들에 대한 개선 사항도 포함됩니다.

자세한 내용은 PackageManager UI에서 제공되는 LWRP 변경 로그를 확인해주세요. 또한 LWRP 테스트와 개발 지원을 위해 제작된 보트 어택(Boat Attack) 데모를 다운로드할 수도 있습니다.

 

빌트인 렌더 파이프라인과 LWRP의 비교

빌트인 렌더 파이프라인은 오브젝트별로 광원을 컬링합니다. 즉, 각 광원을 별도의 렌더 패스에서 셰이딩합니다. LWRP도 오브젝트별로 광원을 컬링하지만 모든 광원을 하나의 패스에서 셰이딩하므로 배치 수가 감소합니다.

아래의 스크린샷은 유니티가 제작한 앵그리 봇 2(Angry Bots 2) 데모 씬으로, 각각 Unity 빌트인 렌더 파이프라인(왼쪽)과 LWRP(오른쪽)의 실시간 조명과 그림자를 비교한 모습입니다. 이 예에서 빌트인 렌더 파이프라인에는 포워드 렌더링 경로가 사용되었습니다(LWRP는 포워드 렌더링만 지원).

 

두 씬 모두 같은 광원 설정을 사용합니다.

  • 방향 광원 1개(소프트 섀도우)
  • 점 광원 2개(섀도우 없음)
  • 스폿 광원 2개(소프트 섀도우)

LWRP 씬의 경우 조명을 빌트인 렌더 파이프라인의 조명과 일치시키기 위해 점(Point) 및 스폿(Spot) 광원 강도를 높였으며, 이에 따른 성능 저하는 없었습니다.

LWRP의 실시간 조명 및 그림자(오른쪽)는 더 적은 수의 배치와 드로우 콜로도 빌트인 렌더 파이프라인(왼쪽)의 조명 및 그림자와 시각적으로 동일하게 구현됩니다.

고해상도 렌더 파이프라인(프리뷰)

고해상도 렌더 파이프라인(HDRP)은 고사양 비주얼과 게임에 최적화된 기능입니다. 2018.3 버전에서는 아티스트를 위해 화질 향상과 워크플로 개선을 위해 몇 가지 기능을 추가하고 발전시켰습니다. 또한 이 버전은 안정성이 더 확보되었으며, Mac용 Metal, PC용 Vulkan, Xbox One과 PS4에 대한 지원이 개선되었습니다.

VR 및 MSAA를 위한 예비 지원이 추가되었습니다. 카메라, 광원, 반사 프로브, 머티리얼 등 HDRP 요소의 여러 인스펙터 UI가 업데이트되었으며 조명 모델도 추가되어 보다 복잡한 머티리얼을 제작할 수 있습니다.

참고: 이 릴리스는 HDRP 템플릿에서 HDRP 패키지 4.1.0에 포함되어 제공됩니다. 여기에 나열된 기능을 활용하려면 템플릿 설치 후 패키지 4.6.0으로 업그레이드하시기를 권장합니다.

 

플랫폼 지원, 성능 및 안정성

앞서 언급했듯이 2018.3 버전은 시각적 결함을 줄이고 성능을 향상하는 등 Metal 및 Vulkan API 지원이 개선되었습니다. 투명한 오브젝트의 안개와 데칼의 경우 아직 미흡한 점이 남아 있으나, 전반적인 경험은 이전 버전에 비해 대폭 개선되었습니다.

또한 예비 VR 지원이 제공됩니다. 자세한 프로젝트 설정 방법은 이 문서를 참조하세요. VR은 포워드 렌더링 모드에서 사용할 수 있습니다. 카메라 기준 렌더링은 아직 지원되지 않으며, 조명과 볼류메트릭 효과(volumetrics) 관련 문제가 일부 남아있습니다.

이번 버전은 VR과 포워드 렌더링뿐 아니라 MSAA에 대한 예비 지원도 제공합니다. 스크린 공간 반사(SSR)를 제외한 모든 효과는 MSAA(예: SSAO, 컨택트 섀도우)로 처리됩니다. MSAA를 사용하면 렌더링 성능이 저하될 수 있다는 점에 유의해주세요.

Unity 2018.3 버전에서는 PS4 및 XBox One에 대한 HDRP 성능이 개선되었습니다. 이제 비동기 컴퓨트 파이프라인을 사용하여 스크린 공간 앰비언트 오클루전(SSAO), 스크린 공간 반사(SSR), 밀도 볼륨 복셀화(Voxelization), 광원 컬링, 머티리얼 분류 등 여러 가지 효과를 실행할 수 있습니다. 이 효과들은 섀도우 렌더링 패스와 병렬로 실행 가능합니다.

포워드 렌더링 경로는 '스칼라화(scalarization)'라는 기술을 통해 개선되었습니다. 스칼라화는 콘솔에 사용되는 AMD GCN 아키텍처 전용 기술입니다. 이 기술에 대한 자세한 내용은 유니티 HDRP 팀원이 작성한 이 블로그 게시물을 참조하세요.

마지막으로 렌더 파이프라인 설정을 통해 빌드에 포함할 셰이더 배리언트를 더욱 세부적으로 제어할 수 있습니다. 사용하지 않을 배리언트를 제외하면 빌드 타임이 대폭 단축되며, 더 많은 셰이더 배리언트를 제외시킬 수 있습니다.

 

UI 카메라 제어 개선

HDRP UX가 간소화되었으며 FrameSettings를 통해 더욱 상세한 제어가 가능합니다. 이제 FrameSettings는 포스트 프로세싱과 동일한 오버라이드 시스템을 지원하므로 RenderPipelineSettings의 값을 상속하여 오버라이드할 수 있습니다. 이제 Unity 빌트인 렌더 파이프라인의 물리적 카메라 매개변수화가 카메라에 지원됩니다.

UI에 여러 기본 파라미터가 복잡하게 표시되지 않도록 광원 및 반사 프로브 인스펙터에 고급 설정 토글이 추가되었습니다.

 

품질 및 현재 기능 제어 개선

볼류메트릭 포그 렌더링이 '딥 컴포지팅(deep compositing)'이라는 기술을 통해 개선되었습니다. 이 기술에 대한 자세한 내용은 유니티 HDRP 팀원이 작성한 이 블로그 게시물을 참조하세요. 딥 컴포지팅은 글로벌 포그를 통해 서로 겹치는 밀도 볼륨을 더욱 효과적으로 구성할 수 있는 기술입니다. 또한 이제 원거리에서 볼류메트릭 포그가 지수(exponential) 포그로 폴백 가능하며, 하이트 포그(Height Fog) 활성화를 지원합니다. 볼류메트릭 및 밀도 볼륨의 매개변수화와 제어가 더욱 편리해졌습니다. 마지막으로, 볼류메트릭 복셀의 조명 성능이 개선되었습니다.

그림자가 있는 방향 광원의 볼류메트릭 효과를 이용하여 나무 사이로 빛줄기가 비추는 효과를 구현한 모습

섀도우 시스템의 안정성이 강화되었으며, 더욱 강력한 제어가 가능해졌습니다. 그림자 품질이 낮음, 중간, 높음의 3단계로 제공되며 서로 다른 필터링 알고리즘으로 매핑됩니다. 이번 버전에는 PCF와 PCSS가 적용되었습니다.

참고: 포워드 렌더링 경로를 사용할 경우에만 품질 모드를 다양하게 전환할 수 있습니다. 디퍼드 경로 사용 시 품질은 '낮음'으로 기본 설정됩니다. 현재 콘솔의 경우 기본 모드로 '낮음'이 적용됩니다.

섀도우 아틀라스가 포함된 섀도우 맵의 메모리 관리 기능이 개선되었습니다. 이제 화면에 표시되는 수많은 그림자를 위한 별도의 메모리가 할당됩니다. 또한 그림자 프레임워크에서 섀도우 맵 해상도가 거리에 따라 조정되며, 공간이 없는 경우 아틀라스에 맞게 그림자 크기가 자동으로 조절됩니다. 다시 말하면 그려지지 않는 그림자는 없습니다. 다만, 그림자가 섀도우 아틀라스에 맞지 않으면 그림자의 품질이 저하됩니다.

 이제 섀도우 맵과 별도로 컨택트 섀도우를 활성화할 수 있습니다. 컨택트 섀도우는 방향 광원, 점 광원이나 스폿 광원에 지원됩니다. 단, 현재는 한 번에 1개의 컨택트 섀도우만 사용 가능합니다. 컨택트 섀도우의 품질과 성능도 개선되었습니다.

방향 광원에 컨택트 섀도우가 활성화되지 않은 상태의 씬 외부
방향 광원에 컨택트 섀도우가 활성화된 상태의 씬 내부

렌더 파이프라인 디버그(Render Pipeline Debug) 창에 섀도우 디버그에 도움이 되는 새로운 툴 세트가 추가되었습니다. 이제 광원별 섀도우, 섀도우 아틀라스, 각 섀도우 맵의 스케일링 인자 및 섀도우 마스크를 표시할 수 있습니다.

데칼이 채널별 선택 마스크를 지원하도록 개선되었습니다. 이 기능을 사용하면 특정한 하위 머티리얼 프로퍼티에만 영향을 미치는 데칼을 만들 수 있습니다. 예를 들어 머티리얼의 노멀 프로퍼티, 메탈릭 표면 또는 평활도만 수정하는 데칼을 생성할 수 있습니다. 또한 다음의 두 가지 모드가 지원됩니다.

  • 베이스 색상, 노멀, 평활도
  • 베이스 색상, 노멀, 평활도, 메탈 및 AO(메모리 사용량 높음)

데칼 기즈모가 뎁스 바이어스와 드로잉 순서를 제어할 수 있도록 개선되었습니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

이제 포워드 렌더링 경로 사용 시 데칼이 노멀 버퍼에 올바르게 영향을 주며, 이로 인해 스크린 공간 반사에도 올바르게 영향을 줄 수 있게 되었습니다.

광원에 새로운 관리 기능이 추가되었습니다. 예를 들어 이제 물리 단위로 Candela와 Lumens 외에도 EV100과 Lux(원거리)가 지원됩니다. HDRI 하늘에 Lux 값을 사용할 수 있습니다. 방향 광원의 경우 하이라이트의 모양을 제어하여 둥근 태양을 더욱 정확하게 묘사할 수 있습니다. 점 광원과 스폿 광원의 감쇠가 더욱 부드러워졌습니다. 광원 탐색기는 HDRP의 모든 광원 유형을 지원합니다.

 

반사 시스템 개선

2018.3 버전에서도 스크린 공간 반사가 지원됩니다. 이 기능을 사용하면 매끄러운 표면에 반사 효과를 구현할 수 있습니다. 거친 표면은 기존의 일반 반사 프로브/평면 반사가 적용됩니다. SSR이 적용되지 않도록 머티리얼에 태그를 설정할 수도 있습니다.

참고: 현재 고해상도에서 이 효과를 사용하는 경우 메모리 사용량이 높습니다.

왼쪽: 평면 반사가 적용되지 않은 씬. 오른쪽: 평면 반사가 적용된 씬. 하늘이 바닥에 반사됩니다.

이 버전에서는 평면 반사(Planar Reflection) 프로브도 지원합니다. 평면 반사를 사용하면 평평한 면에서 높은 품질의 반사를 구현할 수 있습니다. 평면 프로브 컴포넌트는 반사 프로브 컴포넌트와 동일하게 작용하되 실시간으로 렌더링되며, 반사 프로브와 동일한 제어를 지원합니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

반사 제어: 아티스트에게 더욱 편리한 워크플로를 제공하도록 반사 프로브와 평면 반사 UI가 업데이트되었습니다. 이제 FrameSettings를 통해 실시간 반사 렌더링을 조절할 수 있습니다.

 

빌트인 렌더 파이프라인으로 나은 기능 동등성 제공

 광원 레이어링을 사용하면 광원과 오브젝트에 태그를 설정하여 동일한 태그가 설정된 오브젝트만 특정 광원의 조명을 받도록 설정할 수 있습니다. 광원 레이어링은 빌트인 렌더 파이프라인에서도 사용할 수 있습니다. HDRP의 경우 조명 아키텍처가 다르므로 기능이 소폭 변경되었습니다. HDRP 버전에서는 펑추얼 광원, 면 광원, 반사 프로브 및 평면 반사와 함께 사용 가능한 광원 레이어를 추가했습니다. 이 최초 버전은 최대 31가지 광원을 지원합니다. 단, 아직 그림자의 경우 100% 올바르게 처리되고 있지는 않습니다.

각각의 용은 서로 다른 광원 레이어 태그가 설정되었습니다. 오른쪽에는 점 광원이, 왼쪽에는 반사 프로브가 적용되었습니다. 맨 왼쪽의 용은 일치하는 태그에 따라 파란색 광원의 영향을 받는 유일한 용이므로 파란색이 됩니다. 진회색 용(오른쪽에서 세 번째)은 로컬 반사 프로브 태그에 일치하지 않으므로 로컬 반사 프로브의 영향을 받지 않습니다.

터레인은 빌트인 렌더 파이프라인의 기능으로, HDRP와 호환되지 않았습니다. 이 버전에는 빌트인 터레인 시스템과 호환 가능한 터레인 릿 셰이더가 추가되었습니다. 터레인 릿 셰이더는 하나의 드로우 콜에서 최대 8개의 레이어를 지원합니다. 터레인 릿 셰이더는 릿 셰이더와 같은 조명 모델을 사용하지만, 레이어드 릿 셰이더에서 사용 가능한 몇 가지 제한된 옵션 세트만 제공됩니다. 참고로 현재 터레인 릿 셰이더에서 테셀레이션이나 디스플레이스먼트는 지원되지 않습니다.

터레인 릿 머티리얼의 예

슈리켄(Shuriken)이 포함된 빌트인 렌더 파이프라인에 파티클 시스템이 지원됩니다. HDRP의 경우 슈리켄의 언릿 파티클만 지원됩니다. 이 버전은 릿 파티클을 사용하고 GPU에서 효과를 제작할 수 있도록 릿 셰이더 및 '심플 릿'이라는 간소화된 버전을 사용할 수 있는 새로운 비주얼 이펙트 그래프를 지원합니다. 보다 간소화된 이 셰이더는 다량의 릿 파티클을 드로우하는 경우 보다 나은 성능을 제공합니다.

비주얼 이펙트 그래프에서 효과를 제작하는 데 사용되는 노드 그래프(오른쪽). 그 결과로 수백만 개의 파티클로 제작되어 GPU에서 온전하게 실행되는 최종 효과(왼쪽)

더욱 다양해진 디버깅

디버그 툴은 문제를 추적하고 지속적으로 성능을 모니터링하는 데 사용되므로 언제나 중요합니다. 이번 버전에서는 렌더 파이프라인 디버그 창에 다음과 같은 새로운 디버그 수정 사항을 추가했습니다.

  • 개별 그림자/섀도우 아틀라스/섀도우 스케일링 인자 표시
  • 이미시브 컬러 오버라이드
  • 스크린 공간 반사 디버그 모드
  • 휘도(Luminance) 측정 모드
  • 유형별로 광원 비활성화 가능
  • 카메라 컬링 고정 - 카메라 절두체를 통해 어떤 오브젝트가 컬링되었는지 확인 가능
  • 광원 볼륨 표시
광원 볼륨 표시 예(스폿 광원 1개 및 점 광원 여러 개)

새로운 셰이더 및 셰이더 그래프 지원

이제 HDRP가 향후 개발의 메인 솔루션으로 사용될 셰이더 그래프를 지원합니다. 릿 마스터 노드는 셰이더 그래프 버전과 빌트인 셰이더 버전(릿, 레이어드 릿, 터레인 릿)으로 제공됩니다. 다른 모든 셰이더는 셰이더 그래프 버전으로만 제공됩니다. 향후 새로운 셰이더들도 셰이더 그래프를 사용하여 빌드될 예정입니다.

PBR 마스터 노드는 릿 셰이더를 기반으로 하며, LWRP와 공통으로 몇 가지 기능을 사용하므로 크로스 파이프라인 에셋을 제작할 수 있습니다. 2018.3 버전에서는 데칼이 지원되며, PBR 마스터 노드에서 광원 레이어링을 사용할 수 있습니다.

이제 셰이더 그래프에서 릿 셰이더를 사용할 수 있습니다. 이 셰이더에서는 코트 마스크(coat-mask), 이리데선스(iridescence), 반투명성, 피하 산란(subsurface scattering) 및 이방성(anisotropic) 등 모든 기능을 활용할 수 있습니다. 단, 정확한 노멀 블렌딩을 위한 표면 그레디언트는 아직 지원되지 않으며 이 셰이더 그래프 버전에서는 테셀레이션도 아직 지원되지 않습니다.

참고: 바람 효과는 빌트인 릿 셰이더에서 사용할 수 없으며, 셰이더 그래프에서 사용할 수 있도록 변경되었습니다. 바람 및 기타 버텍스 애니메이션을 시뮬레이션하려면 셰이더 그래프를 사용해야 합니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

또한 셰이더 그래프에 패브릭 셰이더가 추가되었습니다. 패브릭 셰이더를 사용하면 부드럽게 보이는 패브릭 머티리얼을 제작할 수 있으며, 천이 흐트러지는 효과를 낼 수 있습니다. 패브릭 마스터 노드는 CottonWool과 Silk의 두 가지 조명 모델을 지원합니다. 이 조명 모델들을 사용하여 다양한 천을 만들 수 있습니다. CottonWool은 Siggraph 2017에 공개된 Sony Pictures Imageworks의 최근 연구를 기반으로, Silk는 GGX 이방성을 기반으로 구현되었습니다.

소녀가 착용한 의상은 패브릭 모델을 사용하여 만들어졌습니다. 이 메시는 셰이더 그래프에서 제작된 의상의 패턴을 정의하는 노멀 맵 합성을 사용합니다.
Unity 구(Sphere)에 표시된 패브릭 모델

셰이더 그래프에 스택릿(StackLit) 셰이더가 추가되었습니다. 참고로 이전에 유니티는 패키지 4.4.0에서 빌트인 스택릿을 제외시키고 대신 셰이더 그래프 버전을 선보였습니다.

스택릿 셰이더는 성능보다 품질을 우선시하여 일부 게임에는 적합하지 않았던 릿 셰이더를 개선한 기능입니다. 스택릿은 릿에 비해 표면 코팅을 더욱 정확하게 처리합니다. 이러한 개선은 Siggraph 2018에서 발표한 Unity Labs의 로랑 벨쿠르(Laurent Belcour)의 연구 "원자 분해와 통계적 연산자를 통한 레이어드 머티리얼의 효율적 렌더링(영문)" 덕분에 가능했습니다. 또한 스택릿 셰이더에는 하이라이트를 제어할 수 있는 새로운 매개변수화 기법인 헤이지 매개변수화(hazy parametrization)가 추가되었습니다. 이는 논문 "흐릿한 광택을 위한 복합 BRDF 모델(영문)"에서 소개되었습니다.

마지막으로 이 셰이더를 사용하면 모든 기능을 제약 없이 함께 활용할 수 있습니다. 예를 들어, 피하 산란, 이리데선스, 헤이지 매개변수화와 이방성을 함께 사용할 수 있습니다.

또한 이 버전에서는 유니티 커뮤니티에 공유되었던 버그가 다량 수정되었습니다. 수정 사항, 변경 사항과 추가된 기능의 전체 목록은 GitHub의 변경 로그를 참조하세요

동영상 개선 및 레거시 MovieTexture 기능 제거

2018.3 버전에서는 텍스처 업데이트가 더욱 빨라졌습니다. 더 이상 메인 스레드에서 텍스처 업로드에 시간을 소모하지 않으며, 그래픽스 스레드에서 소요되는 시간도 단축되었습니다. 이 기능은 특히 HoloLens 등의 플랫폼과 속도가 느린 Windows 버전에 유용합니다.

또한 사용자가 동영상 속도를 변경할 수 있으며, 이에 맞춰 오디오 속도도 변경되도록 하여 동기화할 수 있는 오디오 리샘플링 기능이 추가되었습니다.

Unity 2018.2부터 레거시 MovieTexture 기능을 삭제하는 절차를 진행하고 있습니다. 프로젝트에서 아직 MovieTexture를 사용하고 있다면 Unity 5.6에 도입된 VideoPlayer를 사용하도록 업그레이드하시기 바랍니다. VideoPlayer는 MovieTexture와 근본적으로 다른 접근 방식을 취하므로 자동 업그레이더 툴을 제공하지 못할 수 있습니다. MovieTexture 지원 중단에 대한 자세한 내용은 포럼을 참조하세요.

서비스

클라우드 다이어그노스틱(이전: 퍼포먼스 리포팅)

퍼포먼스 리포팅에 새로운 기능과 업데이트가 대폭 추가되었기 때문에 그 기능의 범주를 더욱 잘 나타낼 수 있도록 이름이 '클라우드 다이어그노스틱(Cloud Diagnostics)'으로 변경되었습니다. 이 새로운 기능은 Unity Plus 및 Pro 사용자뿐 아니라 모든 Unity 사용자에게 제공됩니다. 자세한 내용은 이 블로그 게시물을 참조하세요.

이제 2018.3 버전을 사용하여 제작된 게임에서는 디버그 로그와 커스텀 메타데이터가 포함된 보고서를 전송할 수 있습니다. 디버그 로그와 커스텀 메타데이터를 통해 보고서에 기록된 시나리오를 더욱 잘 이해할 수 있습니다.

또한 완전히 새로운 보고서 유형이 추가되었습니다. 크래시, 예외 등 이전의 보고서 유형은 시스템에서 생성되었던 반면 사용자 보고서를 사용하면 최종 사용자로부터 직접 피드백을 받을 수 있습니다. 사용자 보고서를 통해 스크린샷, 저장된 게임, 동영상 등 사용자 경험을 개선하는 데 도움이 되는 모든 정보가 사용자에게 전달됩니다. 이 모든 보고서는 Unity의 개발자 대시보드에서 수집되고 집계됩니다.

개발자 대시보드에서 사용자가 생성한 스크린샷과 피드백을 통합하여 종합적으로 리뷰할 수 있습니다.

커넥티드 게임

UNET의 지원 중단에 따라 새로운 멀티플레이어 기능에 대한 액세스가 제공됩니다. 공개 알파 버전에 포함된 새로운 네트워크 전송 계층은 매우 간결하고 향후 Unity 버전용으로 ECS 기반 구현에 적합하도록 구축되었습니다. 또한 두 가지 핵심 멀티플레이어 서비스가 비공개 알파 테스트 중에 있습니다. 첫째로, 게임 호스팅 서버를 사용하여 헤드리스 게임 인스턴스를 실행할 수 있는 클라우드 기반의 플릿(fleet)을 이용할 수 있습니다. 두 번째로, 매치메이킹(Matchmaking)은 플레이어를 그룹으로 지정할 수 있을 뿐 아니라 게임 호스팅 서버와 함께 작동하여 플레이어 수요에 따라 실시간 자동으로 클라우드 활용을 늘리거나 줄일 수 있는 기능입니다.

공개 알파 버전의 커넥티드 게임 기능에 액세스하려면 GitHub 저장소로 이동하세요. 비공개 알파 액세스에 관심이 있다면 지금 신청하세요.

Tiny 프로젝트 프리뷰 패키지 출시

Tiny 프로젝트는 설치 없이 즉시 로드되는 게임과 환경을 구축할 수 있는 새로운 모듈형 Unity 런타임 및 에디터 모드입니다. 개발자는 Tiny 프로젝트 툴을 사용하여 용량이 작으며 다양한 모바일 기기에서 매우 빠르게 실행되는 양질의 2D 인스턴트 게임과 플레이어블 광고를 신속하게 제작할 수 있습니다.

Tiny 프로젝트는 'Tiny Mode'라는 이름의 패키지로 제공됩니다. 이 패키지를 설치하려면 2018.3 패키지 관리자를 열고 Preview Packages 를 활성화한 다음 Tiny Mode를 설치합니다. Tiny Mode는 모든 Unity 라이선스(Personal, Plus, Pro)에서 사용 가능합니다. Tiny 사용자 설명서, API 문서와 샘플 프로젝트는 프리뷰 패키지 다운로드에 포함되어 있습니다. 자세한 정보 및 교육 동영상은 솔루션 페이지 및 Project Tiny 프리뷰 블로그 게시물을 참조하세요.

포럼에서 자세한 정보를 알아보거나 피드백을 공유해주세요. 유니티는 사용자의 의견을 소중하게 생각합니다!

FPS 샘플

유니티는 2018년 10월에 개최된 Unite LA에서 멀티플레이어 1인칭 슈팅 게임인 FPS 샘플 프로젝트의 초기 버전을 출시했습니다.

Unity의 숙련된 게임 개발자 6명만으로 구성된 팀은 2018.3의 최신 기능을 사용하여 이 대규모 프로젝트를 제작하였으며, 베타 단계에서 R&D 팀에 유용한 피드백을 제공할 수 있었습니다.

이 프로젝트는 팀의 핵심 원칙에 따라 커스텀 빌드나 에셋 스토어 패키지가 적용되지 않은 일명 '바닐라(순정)' Unity에서 실행되며, 최신 버전의 Unity에서 제작된 소스 코드, 아트워크 에셋, 음향 효과 등 모든 요소를 포함합니다. FPS 샘플에서 2018.3 버전의 기능이 어떻게 실행되는지 확인하실 수 있습니다. 전체 프로젝트를 나만의 게임 제작을 위한 프레임워크 또는 시작점으로 활용해도 됩니다. 모든 에셋은 Unity Companion 라이선스에 따라 제공되므로 Unity 기반의 상업용 프로젝트에도 사용할 수 있습니다.

 

수석 테크니컬 아티스트 Martin Kümmel Vestergaard와 수석 프로그래머 Peter Andreasen이 설명하는 FPS 샘플의 핵심 원리와 해당 프로젝트가 유니티 R&D 팀과 사용자에게 어떤 혜택을 제공하는지 다음 동영상을 통해 확인해 보시기 바랍니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

유니티는 FPS 샘플이 최신 버전의 Unity에서 실행되고 새로운 기능을 적용할 수 있도록 지속적으로 업데이트할 예정입니다. 유용한 피드백을 받는데도 도움이 될 것입니다.

FPS 샘플을 사용하면 Unity의 최신 기능을 익힐 수 있습니다. 프로젝트 전체 또는 일부를 시작점으로 활용하여 직접 게임을 만들 수 있습니다.

 

프로젝트를 다운로드하여 2018.3 버전의 기능이 작동되는 모습을 확인하려면 Unity 2018.3f1을 실행하세요. 다음으로 GitHub의 프로젝트 페이지로 이동하여 프로젝트를 다운로드하고 실행하는 방법에 관한 지침을 확인하세요.
자세한 내용은 이 블로그 게시물 또는 FPS 샘플 웹페이지를 참조하세요. 질문 또는 제안이 있거나 문제가 발생한 경우 FPS 샘플 포럼을 참고하세요

릴리스 노트

전체 릴리스에는 기능 45가지, 변경 및 개선 사항 250가지, 수정 사항 1,915가지가 포함되었습니다. 여기서 모든 업데이트 사항을 설명하기에는 한계가 있으니 새로운 기능, 개선 사항, 수정 사항을 모두 확인하려면 릴리스 노트를 참조하시기 바랍니다.

테크 스트림 및 장기 지원(LTS) 스트림

블로그 게시물 및 앞선 GDC 발표 내용과 같이 Unity 릴리스는 테크 스트림과 장기지원 스트림(LTS)으로 구성됩니다.

테크 스트림에는 최신 기능이 모두 포함되며, 연 3회 출시됩니다. 올해의 테크 스트림은 2018.1, 2018.2 및 2018.3이었으며, 각각 새로운 기능이 포함되었습니다.

2018.3은 2018.x 테크 스트림의 마지막 버전이며, 새로운 테크 스트림(2019.1)이 출시되면 새로운 버전 번호(2018.4)가 부여된 LTS 스트림으로 전환되어 그 시점부터 2년 동안 지원됩니다.

테크 스트림과 달리 LTS 스트림에는 새로운 기능과 API 변경 사항이나 개선 사항이 포함되지 않습니다. 대신 충돌 및 퇴행 문제를 비롯하여 커뮤니티의 다수에게 영향을 미치는 문제, 콘솔 SDK/XDK 관련 문제, 다수의 개발자가 게임을 출시하는 데 지장을 주는 문제를 해결합니다.

테크 스트림은 1주 간격으로, LTS 스트림은 2주 간격으로 버그 수정이 포함된 릴리스가 배포됩니다. LTS 스트림은 게임/콘텐츠를 계속해서 개발 및 출시하고 안정적인 버전을 오랫동안 사용하고자 하는 사용자를 위한 것입니다. 테크 스트림은 최신 기능을 사용하거나 최신 기능이 모두 적용된 Unity를 사용하려는 사용자를 위한 스트림입니다.

2019.1 알파에 참여하세요

새로운 버전이 궁금하시다면 모두에게 제공되는 최초의 Unity 알파 버전인 Unity 2019.1a를 사용해보세요.

물론 베타 버전보다는 버그가 발생할 가능성이 높지만, 알파 사용자는 새로운 기능에 더욱 빠르게 액세스할 수 있고, 새로운 버전과 프로젝트의 호환 여부를 테스트할 수 있고, 피드백을 제공할 수 있으며 Unity 문제를 더욱 신속하게 해결할 수 있습니다.

또한 알파 사용자는 Unity 전문가와 교류하고, Unity 커뮤니티의 숙련된 멤버들과 인사이트를 공유하고, 설문 조사와 피드백에 참여하고 사용자 모임에 초청될 기회를 얻어 Unity의 방향성을 결정하는 데 기여할 수 있습니다.

 

사용 방법

시작하려면 Unity 2019.1의 최신 사전 출시 버전을 다운로드하세요. 이 버전용으로 예정된 모든 주요 콘텐츠가 포함되고 베타 전환이 완료될 때까지 매주 1회 새로운 알파 버전과 기능이 순차적으로 공개됩니다.

알파 사용자에게도 동일하게 적용되는 성공적인 베타 테스터를 위한 가이드에서 고려해야 할 사항에 대해 확인해 보세요. 아래에서 뉴스레터를 구독하면 새로운 소식, 사용 방법 및 팁과 관련된 내용을 이메일로 받아보실 수 있습니다.

 




2018년 12월 13일 테크놀로지 | 52 분 소요

Is this article helpful for you?

Thank you for your feedback!