Unity 검색

유니티 5 최종 버전, 5.6 출시

2017년 3월 31일 테크놀로지 | 26 분 소요
공유

Is this article helpful for you?

Thank you for your feedback!

최신 출시된 유니티 5 시리즈의 최종 버전에는 프로그레시브 라이트매퍼(Progressive Lightmapper) 미리보기, 새로운 라이트 모드(Light Mode), 불칸(Vulkan) 지원, 새로운 동영상 플레이어가 탑재되어 있으며 페이스북 게임룸과 구글 데이드림 등을 지원합니다.

유니티 5는 2년 전 GDC 2015에서 첫 선을 보였으며, 시리즈의 최종 버전인 5.6이 오늘 드디어 출시됩니다. 이제 새로운 기능으로 더욱 향상된 유니티 5를 경험해 보십시오.

기존 사용자와  신규 사용자 모두 유니티 5.6을 지금 바로 다운로드 받으세요!

유니티 5.6의 주요 특징

대대적인 광원효과 개선
유니티 5.6은 프로그레시브 라이트매퍼(Progressive Lightmapper) 미리보기를 제공하여 광원 효과를 적용할 때 바로 확인이 가능하며 기존 Enlighten 솔루션보다 반복 작업을 더 신속하게 수행할 수 있습니다. 또한 움직이거나 정지한 객체에 베이크된 라이팅(Baked Lighting)과 실시간 라이팅을 조합할 수 있는 다양한 방식의 라이트 모드(Light Mode)를 지원합니다.

향상된 그래픽 성능
성능을 거의 저하시키지 않는 다수의 유사 객체들로 새로운 효과를 만들어 내는 GPU 인스턴싱을 개선하여 이제 절차적 생성 인스턴싱(Procedural Instancing)을 지원합니다. 또한 메탈용 컴퓨트 셰이더가 추가되어 Apple iOS와 macOS의 칩셋 성능을 극대화시켜 더 많은 디테일을 구현할 수 있게 되었습니다.

불칸(Vulkan) 지원
불칸(Vulkan)은 드라이버 오버헤드와 CPU 작업 부하를 줄여 속도를 향상시키고 CPU가 추가 연산이나 렌더링 작업을 수행할 수 있으며 모바일 기기의 배터리 소모를 줄여줍니다.

파티클 시스템의 대대적인 업데이트
유니티 5.6의 파티클 시스템은 사용자가 선택할 수 있는 더 많은 옵션과 제어를 제공하여 파티클 효과 범위를 대대적으로 확장했으며 성능 역시 대폭 향상되었습니다.

새로운 동영상 플레이어
새로운 멀티플랫폼 동영상 플레이어가 탑재되어 4k 영상의 재생 및 360도 영상의 VR 체험이 가능합니다.

내비게이션 시스템 관련 개선 사항
향상된 AI와 NavMesh 시스템의 길찾기 도구는 다수의 네브 메시와 에이전트들을 조작할 수 있도록 확장되었습니다. 또한 컨텐츠를 절차적으로 생성하거나 동적으로 로드하는 새로운 도구들은 캐릭터 내비게이션의 새로운 활용과 게임플레이 옵션을 가능하게 합니다.

새로운 2D 툴과 기타 개선 사항
유니티 5.6은 다양한 2D 기능을 탑재하고 있어 개발자가 복잡한 2D 객체를 보다 완벽하게 제어하고 간편하게 생성할 수 있도록 지원합니다. 특히 2D 물리의 새 기능들은 2D 객체와 상호작용하는 파티클 이펙트를 완벽히 지원하여 새로운 게임플레이와 효과를 가능케 합니다.

텍스트메시 프로(TextMesh Pro)
유니티 에셋 스토어에서 최고의 성능을 자랑하는 도구 중 하나가 5.3+ 사용자들에게 무료로 제공되며 곧 유니티에 통합될 예정입니다. 텍스트메시 프로는 텍스트 포맷과 레이아웃을 크게 개선한 컨트롤 외에 다이나믹 비주얼 텍스트 스타일을 갖춘 고급 텍스트 렌더링이 특징입니다.

성능 보고(Performance Reporting)와 디버깅 관련 개선 사항
예외 보고에 이어 성능 보고에서도 iOS의 네이티브 크래쉬 현상에 대한 데이터를 수집합니다. 물리 디버그의 시각화와 프로파일러의 개선 덕분에 성능 문제를 유발하는 원인을 더욱 쉽게 찾을 수 있습니다.

신규 플랫폼
5.6에서는 페이스북 게임룸과 구글 데이드림, 안드로이드 및 iOS 카드보드를 손쉽게 출시 할 수 있도록 지원하며 닌텐도 스위치도 이제 지원 합니다.

유니티 콜라보레이트(베타)
변경사항을 적용 할 때 콜라보레이트 프로젝트를 보다 세밀하게 제어하기 위한 새로운 옵션을 추가했습니다.

웹어셈블리(WebAssembly) 시험 지원
5.6에서는 유니티 WebGL의 경험을 향상시키기 위한 새로운 크로스 브라우저 기술인 웹어셈블리를 시험 지원합니다.

유니티 5.6의 새로운 기능

프로그레시브 라이트매퍼(프리뷰)
5.6버전에서 가장 눈에 띄는 기능 중 하나는 새로운 경로 추적 기반 솔루션인 프로그레시브 라이트매퍼(Progressive Lightmapper) 입니다. 베이크된 라이팅과 ETA를 빠르게 반복 생성할 수 있습니다. 5.6에서는 프리뷰 형태로 제공됩니다.

유니티 5.0을 출시했을 때에는 베이크 전역 조명과 실시간 전역 조명을 위해 Beast를 Enlighten로 대체하였습니다. 하지만 Enlighten가 모든 베이크된 라이팅에 적합하지는 않기 때문에 그 해결책으로 프로그레시브 라이트매퍼가 필요하게 되었습니다.

우리는 베이크 라이트에 대한 훌륭한 결과물을 제공할 뿐만 아니라 보다 빠르고 예측 가능한 반복 기능이 포함된 작업 과정을 라이팅 아티스트에게 제공하는 솔루션을 만들고 싶었습니다.

기존 유니티 버전에서 장면을 변경하려면 새로운 베이크 작업이 필요하며 작업이 완료된 후에 결과물을 확인할 수 있었습니다. 5.0에서 Enlighten는 유니티가 사전 계산된 실시간 전역 조명을 사용하여 최종 베이크의 미리보기를 제공할 수 있게 했습니다. 이를 통해 반사된 빛이 어떻게 보일지 확인할 수 있으나 최종 결과물과는 다소 차이가 날 수 있습니다.

라이트의 변화, 방출 물질과 알베도 값을 바로 미리 볼 수 있습니다. 하지만 지오메트리를 변경하면 리베이크 작업이 필요하며 그 동안에는 피드백을 확인할 수 없습니다.

예를 들어 베이크된 그림자나 반사된 라이트의 레벨을 반복할 때, 반복 사이에 대기 시간이 있거나 대기 시간이 길어질 경우에는 매우 불편할 수 있습니다. 따라서 결국에는 주어진 시간 내에 반복 횟수가 줄어들고, 베이크 라이트로 얻을 수 있는 품질도 제한됩니다. 프로그레시브 라이트매퍼를 사용하면 변경사항을 바로 확인할 수 있습니다. 처음에는 노이즈가 발생하지만 장면 뷰에서 직접 빠르게 개선되어 더 높은 품질과 예술적 표현이 가능해집니다.

5.6 시리즈에서 Enlighten 기반 라이트맵 베이킹 솔루션 수준으로 구현이 가능해지면 프리뷰가 아닌 정식 지원으로 표시될 예정입니다. 라이트 모드 지원, 베이크된 LOD, 메모리 사용량 감소도 빠른 시일 내에 선보일 예정입니다.

믹스 광원 모드를 대신하는 새로운 라이트 모드

기존의 믹스 모드(Mixed Mode)는 라이트 모드(Light Mode)로 대체되어 베이크된 라이팅과 실시간 라이팅 조합이 가능하고 베이크된 그림자와 실시간 그림자를 제대로 작업할 수 있게 되었습니다. 실시간 GI 광원과 부분적으로 베이크된 광원, 완전 베이크된 광원 등 다양한 시나리오 적합한 다수의 프리셋을 제공합니다. 또한 쉐도우마스크(shawdowmask) 베이크 작업 기능을 추가하여 "이전 실시간 그림자 거리 (past realtime shadow distance)"를 제공함으로써 실시간 그림자 거리를 현저히 줄여주어 성능을 향상시켜줍니다. 실시간 반사 조명과 함께 원거리 그림자를 지원하여 시각적인 품질 향상을 기대할 수 있습니다. 실시간 그림자 페이드아웃 기능이 모든 광원 유형과 렌더링 경로에 추가되었고 실시간 그림자에서 쉐도우마스크로의 전환이 용이합니다.

믹스 라이트 모드:

  • 베이크된 인다이렉트(Baked Indirect) 모드에서 믹스된 광원은 베이크된 라이트맵과 라이트 프로브에서 샘플링된 추가 간접 광원을 사용하여 실시간 다이내믹 광원처럼 동작합니다. 안개(fog) 같은 이펙트는 그림자 처리가 빠져 있을 수 있는 이전 실시간 그림자 거리에서 사용될 수 있습니다
  • 쉐도우마스크(Shadowmask) 모드에서 믹스된 광원는 실시간으로, 고정된 객체의 그림자 쉐도우마스크 텍스처와 라이트 프로브로 베이크됩니다. 고정 객체의 그림자는 미리 연산된 데이터에서 수신되며 동적 객체의 그림자는 그 그림자 거리 내에서 쉐도우맵을 통해 수신됩니다. 간접 광원은 베이크된 라이트맵과 라이트 프로브에서 샘플링 됩니다. 이 모드는 렌더링된 그림자 캐스터의 양을 현저히 줄여줍니다. 하지만 고정 객체에서 동적 객체로 생기는 그림자는 그렇게 잘 처리되지는 않습니다.

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

  • 디스턴스 쉐도우마스크(Distance Shadowmask) 모드는 고정 객체에서 동적 객체에 생성하는 고품질 그림자와 이전 실시간 그림자 거리 내의 사전 연산된 그림자를 생성할 수 있게 해주는 하이브리드 모드입니다. 이를 위해 고정 객체에서 생성된 그림자는 쉐도우마스크 텍스처와 라이트 프로브에서 미리 연산됩니다. 하지만 그림자 거리 내에서는 동적 객체와 고정 객체 모두 렌더링되며 실시간 셰도우맵을 사용합니다.  사전 연산된 음영은 적절한 변화과정을 거쳐 이전 그림자 거리로 사용됩니다. 간접 조명은 사전 연산된 라이트맵과 라이트 프로브로부터 샘플링 됩니다
  • 서브트랙티브(Subtractive) 모드의 직접 광원은 라이트맵에 베이크되기 때문에 고정 개체는 믹스된 광원으로 생기는 반사 또는 광택 하이라이트가 없습니다. 하지만 동적 객체는 실시간으로 광원을 받고 라이트 프로브를 통해 고정 객체에서 사전 연산된 그림자를 받게 됩니다. 주 방향성 광원은 동적 객체가 실시간 서브트랙티브 그림자를 고정 객체에 생성할 수 있도록 해줍니다.

우리는 더 나은 사용성을 위해 라이트 창을 다시 디자인하였고 라이팅 아티스트들의 작업을 간소화하기 위한 라이트 탐색기(Light Explorer) 창을 추가하였습니다.

 

불칸(Vulkan) 지원으로 그래픽 성능 향상, 모바일 장치의 배터리 소모 감소

불칸은 데스크톱과 모바일 플랫폼에서 최신 GPU에 대한 고효율, 크로스 플랫폼 엑세스를 제공하는 차세대 그래픽 및 연산 API입니다.

다중 스레드가 병렬로 실행되어 멀티 코어 CPU의 성능을 극대화 해주도록 설계되어 속도 향상과 드라이버 오버헤드, CPU 부하를 줄여주어 추가 연산이나 렌더링이 가능합니다. 유니티 사용 시 불칸 API의 별다른 세부 설정 없이 초기 상태로 최대 30-60%   렌더링 성능 향상을 확인할 수 있습니다.

불칸의 또 다른 장점은 동일한 컨텐츠를 OpenGL ES를 사용하여 렌더링한 것보다 전력 소모가 적다는 점입니다. 아래 동영상에서 확인할 수 있는 것처럼 불칸의 전력 소모는 평균적으로 OpenGL ES의 88-90% 수준으로 “10-12%의 플레이 시간” 상승 효과가 있습니다.

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

유니티 5.6은 안드로이드와 윈도우, 리눅스 플랫폼에서 불칸을 지원하며 OpenVR의 초기 지원도 추가되었습니다.

 

텍스트메시 프로(TextMesh Pro)가 유니티에 기본 통합되어 무료로 제공됩니다.

GDC 2017에서 발표된 바와 같이 유니티 에셋 스토어의 최고 성능 툴인 텍스트메시 프로가 유니티에 포함됩니다.

텍스트메시 프로가 텍스트 메시와 UI 텍스트 같은 기존 텍스트 구성요소를 대체합니다. 텍스트메시 프로는 SDF(Signed Distance Field)를 프라이머리 텍스트 렌더링 파이프라인으로 사용하여 어떤 포인트 크기나 해상도에서도 깔끔하게 텍스트를 렌더링해줍니다. SDF 텍스트 렌더링 성능을 극대화 시켜주는 커스텀 셰이더를 사용하여 간단히 속성만을 변경하여 텍스트의 시각적 효과를 동적으로 바꿀 수 있으며 확장, 윤곽선, 그림자, 경사, 질감, 광원 등의 효과를 추가하고 프리셋을 생성 또는 사용하여 이러한 효과를 저장하거나 불러올 수 있습니다.

텍스트메시 프로(TextMesh Pro)는 문자, 단어, 줄과 단락 간격, 커닝(Kerning) 및 기본 하이픈 지원, 자리맞춤(Justified), 플러시(Flush) 같은 추가 텍스트 정렬 모드를 사용자에게 제공함으로써 강화된 텍스트 레이아웃과 양식 설정 기능을 제공합니다. 30개 이상의 리치 텍스트 태그(Rich Text Tags) 를 제공하여 여백, 들여 쓰기, 사용자 설정  양식, 링크,  다중 폰트와 그래프 인라인 지원 등 다양한 기능을 사용할 수 있습니다.

현재 유니티 2017에 텍스트메시 프로를 포함시키는 작업을 진행하고 있으며 사용자의 지속적인 편의를 위해 기능과 호환성을 업데이트해 나갈 예정입니다.

텍스트 매시 프로는 현재 Asset Store 에서 무료로 다운로드가 가능합니다(유니티 5.3버전 이상에서 사용가능).

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

향상된 그래픽: 절차적 인스턴싱(Procedural Instancing)

5.6버전에는 파티클 시스템(Particle System)과 GPU 인스턴싱(GPU Instancing) 등 다수의 그래픽 기능들이 추가되었습니다.

5.4와 5.5에 적용된 GPU 인스턴싱 기능은 단일 호출로 인스턴스된 셰이더를 사용하여 많은 인스턴스를 작업할 수 있으며 위치와 회전, 색상 등 인스턴스 별 데이터를 설정할 수 있습니다. GPU로 인하여 프레임속도가 제한되는 경우에는 인스턴싱이 성능을 대폭 향상시켜주는 효과가 있습니다. 일반 셰이더에서 인스턴싱을 활성화 시키려면 머티리얼 설정에서 Enable Instancing을 체크해주거나 셰이더 자체에 인스턴싱 지원을 수동으로 추가하면 됩니다.

5.6버전에서는 절차적 인스턴싱(Procedural Instancing) 기능이 지원하며 인스턴스 데이터는 컴퓨트버퍼(ComputeBuffer)에서 드로우 인수가 제공되는 재질 속성 블럭(Material Property Blocks)과 DrawMeshInstancedIndirect 지원 보다는 셰이더의 커스텀 소스에서 인스턴스가 제공됩니다. 이러한 스크립트를 통한 인스턴스 렌더링 방식은 CPU 오버 헤드가 거의 없기 때문에 CPU로 인한 프레임이 저하 현상 발생 시 탁월한 성능 향상을 가져옵니다.

사용방법은 문서를  확인하세요.

향상된 그래픽: 파티클

유니티 5.5에는 스크립트와 셰이더 양쪽으로부터 접근할 수 있는 파티클에 커스텀 데이터를 추가하는 기능이 제공되었으며 5.6버전에서 이를 시스템에 확장시켜 인스펙터(Inspector)에서 데이터를 직접 구성할 수 있으므로 사용자 정의 로직을 스크립트와 셰이더에 넣기 위한 곡선과 색상을 손쉽게 정의할 수 있습니다. 또한 이렇게 정의된 색상은 지금까지 파티클시스템에서 지원하지 않았던 하이 다이내믹 레인지(High Dynamic Range)를 사용할 수도 있습니다.

또한 작업흐름을 개선하여 여러 파티클 시스템을 동시에 작업할 수 있습니다.

원뿔과 원형, 단면 모서리 모양이 새롭게 매개변수로 추가되어 파티클 생성을 제어할 수 있게 되었습니다. 기존에는 모든 파티클들이 표면이나 내부로부터 무작위로 생성되었지만 이제 순차적으로 또는 원하는 비율로 생성할 수 있습니다.

버스트 에미션(burst emission)의 반복 횟수와 간격을 설정할 수 있습니다. 기존에는 버스트 당 한 번만 트리거될 수 있었고 총 4회의 제한이 있었습니다. 이제 새로운 시스템에서는 총 8회 버스트가 가능하며 각 버스트 당 횟수 제한이 없어졌습니다.

마지막으로 파티클 생성이 스탠드얼론 플레이어(Standalone Player)상에서 2배 이상 빨라졌습니다.

알베도(Albedo)와 스펙큘러(Specular) 값의 유효성을 허용 범위에서 검사할 수 있는 물리 기반 렌더링 검사기(validator)를 추가했습니다. 알베도 값은 사용자 정의 루미넌스(luminance) 범위에서 검사가 가능합니다.

향상된 그래픽: 메탈 컴퓨트 셰이더

또한 5.6버전에서는 iOS와 macOS 모두에서 메탈 컴퓨트 셰이더(Compute Shaders for Metal)를 지원합니다. 컴퓨트 셰이더는 다른 대상 그래픽 API와 마찬가지로 HLSL로 개발되어 메탈 쉐이딩 언어(Metal Shading Language (현재는 Metal v1.1에 한정)로 번역됩니다. UAV를 사용하는 기존의 셰이더를 사용하려면 프래그마 타겟을 5.0 대신 4.5를 사용해야 합니다. 또한 시범으로 에디터에 메탈 렌더링 백엔드 지원기능을 추가하였습니다. 

포스트 프로세싱 스택

새로운 유니티 포스트 프로세싱 스택(post-processing stack, 지금은 없어진 시네마틱 이미지 효과의 후속기능)이 이제 유니티 5.6(와 5.5)에서 사용 가능합니다. 포스트 프로세싱 스택 필수 패키지는 에셋 스토어에서 무료로 받을 수 있습니다.

이미지 효과들의 전체 세트가 단일 포스트-프로세싱 파이프라인에 결합된 우버 효과로 다음과 같은 장점을 가지고 있습니다:

  • 모든 효과들이 항상 올바른 순서로 설정됨.
  • 다수의 효과를 단일 패스로 조합할 수 있음.
  • 수월한 프리셋 관리를 위한 에셋 기반 설정 기능을 제공함.
  • 더 나은 사용자 경험을 위해 모든 효과들이 그룹화되어 있음.

다음과 같은 효과들이 지원됩니다:

  • 앤티 앨리어싱(Antialiasing (FXAA, Temporal AA))
  • 앰비언트오클루젼(Ambient Occlusion)
  • 스크린 스페이스 리플렉션(Screen Space Reflections)
  • 안개(Fog)
  • 피사계 심도(Depth of Field)
  • 모션 블러(Motion Blur)
  • 아이 어댑테이션(Eye Adaptation)
  • 블룸(Bloom)
  • 색 보정(Color Grading)
  • 사용자 Lut(User Lut)
  • 색수차(Chromatic Aberration)
  • 그레인(Grain)
  • 비네트(ignette)
  • 디더링(Dithering)

스택에는 또한 효과를 올바로 설정하고 결과물의 문제를 해결하는데 도움이 되는 모니터와 디버그 보기가 포함되어 있습니다.

4k를 지원하는 동영상 플레이어

5.6는 하드웨어 가속 성능에 초점을 두고 처음부터 다시 개발한 동영상 플레이어를 탑재하고 있습니다. 알파 채널 영상 지원과 함께 이제 고해상도 4k 영상을 재생할 수 있게 되었습니다. 편집기와 대상 플랫폼 모두에서 비디오 하드웨어 기능을 활용하며 다양한 플랫폼에서 사용하는 H.264/AAC 하드웨어와 H.264/AAC를 사용할 수 없거나 부적합한 상황을 위한 VP8/Vorbis 소프트웨어 실행을 지원합니다. 향후 다양한 코덱 지원이 추가될 예정입니다.

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

동영상 플레이어는 동영상 재생을 위한 새로운 GameObject 컴포넌트로써 고품질 하드웨어 가속 성능과 고해상도 컨텐츠의 향상된 360도 지원으로 생생한 인터랙티브 비디오 경험을 제공합니다. 시연은 Unite 2016에서 확인할 수 있습니다:

네브메시: 향상된 경로찾기(pathfinding)와 AI

유니티 5.6에서는 low-level API를 도입하여 기존 버전이 가진 제한사항을 해결하였습니다. 이를 통해 완전히 새로운 방식의 캐릭터, AI 탐색과 게임플레이 옵션이 가능하며 쉽게 사용 가능한 4개의 신규 컴포넌트를 Github에서 오픈 소스로 제공합니다.

자동생성 또는 동적 로딩되는 컨텐츠에 네브메시(NavMesh) 툴을 사용하는 기능은 많은 사용자들이 요청한 기능으로 5.6에서는 이 기능을 쉽고 효율적으로 사용할 수 있게 되었습니다. 단순히 장면을 불러오거나 생성한 후 네브메시 표면을 베이크(bake)하면 됩니다.

새로운 기능과 함께 네브메시는 장면에 귀속하지 않는 컴포넌트가 되었으며 이로 인해 한 장면에 복수의 네브메시를 사용할 수 있습니다. 추가로 다른 에이전트 타입들의 지원은 각기 다른 캐릭터들의 반경, 높이, 횡단 설정을 쉽게 만들어줍니다.

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

네브메시서피스(NavMeshSurface) 컴포넌트의 추가로 네브메시는 월드 축이 아닌 게임 개체와 정렬이 가능해졌습니다. 2D 게임에서 탐색 툴을 사용하거나 Y축에 제한 받지 않고 탐색 시스템 정렬을 원하는 사용자는 이제 3D 공간에서 네브메시를 원하는 방향으로 지정할 수 있게 되었습니다.

네브메시의 베이킹이 컴포넌트에 의해 작동함에 따라 더이상 전체 장면에 묶여있지 않게 되었습니다. 이로 인해 요소의 선택이나 볼륨으로 베이크 대상을 선택할 수 있게 되었습니다. 기존에 레벨이 너무 거대하여 네브메시를 사용할 수 없었다면 이제 쉽고 효율적으로 원하는 양의 네브메시를 생성할 수 있어 베이크 시간과 플레이 시 메모리 오버헤드를 대폭 단축할 수 있게 되었습니다. 이러한 기능은 전체 영역에서 변경된 부분만 다시 베이크하게 되며 멀티스레드(multithread)방식으로 동작하여 굉장히 효율적입니다.

2D 게임 개발 작업을 위한 새로운 기능

2D 지원을 위한 다수의 기능들이 5.6에 추가되었습니다.

정렬 그룹 컴포넌트는 개체들을 동일 정렬 레이어상의 다른 개체들과 분리하여 렌더링할 수 있습니다. 이로 인해 정렬 그룹의 모든 렌더러가 함께 정렬될 수 있어 복잡한 장면을 관리하는데 유용합니다.

새로운 축 기반 거리 정렬(Axis Distance Sort)은 커스텀 축에 투명 정렬 모드(Transparency Sort Mode)를 설정하여 Z 정렬 문제를 해결합니다.

스프라이트 에디터 창(Sprite Editor Window)에 추가된 아웃라인 에디터(Outline Editor)는 선택 가능한 테셀레이션(tessellation)을 자동으로 생성하거나 스프라이트의 메시 모양을 수동으로 편집할 수 있도록 해줍니다. 또한 메시와 실제 이미지간의 유사성을 설정함으로써 테셀레이션의 품질을 조정할 수 있습니다.

스프라이트렌더러를 위한 2D 기법인 9슬라이스 스프라이트(9-Slice Sprite)를 추가하여 다수의 에셋을 준비할 필요 없이 하나의 이미지를 다양한 크기로 사용할 수 있습니다. UI에서 사용되는 9-슬라이스(9-Slice)와 유사하며 이미지의 지정된 부위를 확대하거나 반복시킬 수 있어 텍스처 메모리를 적게 사용하면서도 신속하게 플랫폼이나 배경을 생성할 수 있습니다.

마지막으로 EncodeToEXR를 Texture2D에 추가시켜 비 HDR 텍스처의 EncodeToPNG와 EncodeToJPG와 마찬가지로 HDR 텍스처를 EXR 파일로 디스크에 저장할 수 있습니다.

2D 물리 개선사항 및 기능

2D 물리는 내부 2D 접촉(contact) 처리 시스템을 보다 강력하고 안정적으로 재설계하여 어떠한 상황에서도 정확한 Enter, Stay & Exit 콜백 상태를 제공합니다.

다음과 같이 2D 물리 API가 변경되었습니다:

  • Rigidbody2D 또는 Collider2D의 모든 접촉 정보 수집 기능(모든 세부 정보 또는 Collider2D에 대한 정보만 선별 가능)
  • 모든 물리 쿼리에 새로운 ContactFilter2D 타입을 사용할 수 있습니다. 이는 Linecast, Raycast, BoxCast, CircleCast, CapsuleCast, OverlapPoint, OverlapCircle, OverlapBox, OverlapArea, OverlapCapsule, GetContacts 와 IsTouching 같은 기존 물리 쿼리 결과를 할당 부하없이 레이어 마스크, 충돌 정규화 각도, Collider2D Z깊이 등으로 빠르게 필터링합니다. 플레이어가 특정 방향에서 특정 레이어를 터치하는지 여부, Collider2D 영역이 특정 레이어와 접촉하는지 여부, Rigidbody2D가 특정 방향에 대하여 접촉을 하고 있는지 여부 와 같은 필터링 사용 예를 포함합니다.
  • 새로운 OverlapCollider 함수들로 특정 Rigidbody2D의 어떠한 Collider2D나 특정 Collider2D와 겹치는 모든 Collider2D를 수집하는 기능
  • Rigidbody2D에 현재 붙어 있는 모든 Collider2D를 수집하는 기능

이번 버전에는 폴리곤 또는 아웃라인(엣지) 생성을 통해 BoxCollider2D와 PolygonCollider2D를 단일 Collider2D로 병합시킬 수 있는 CompositeCollider2D가 새롭게 추가되었습니다. 다수의 분리된 Collider2D에서 하나로 이어진 표면을 제공함으로써 본 솔루션은 다수의 분리된 Collider2D가 하나로 병합될 때 장면 로딩 속도를 현저히 상승시켜줍니다. CompositeCollider2D는 머티리얼들을 갖거나 트리거나 이펙터로 사용 가능하며 Rigidbody2D에 붙을 수 있는 등 Collider2D에 기대하는 모든 기능이 있습니다.

모서리 변경(EdgeRadius) 기능은 BoxCollider2D 또는 EdgeCollider2D의 반경을 설정하여 정점의 모서리와 곡면을 확장할 수 있도록 해줍니다.

개선된 API는 Collider2D 또는 Rigidbody2D 간의 가장 가까운 거리, 교차를 확인할 수 있는 새로운 Distance 함수로 모든 겹침 현상을 해결하고 Kinematic Rigidbody2D와 함께 완벽히 맞춤형으로 해결할 수도 있습니다.

마지막으로 새로운 SIMD 라이브러리를 기반으로 재설계된 2D Collider용 파티클 충돌 코드는 약 10배 성능의 빠른 충돌 제거를 제공합니다. 또한 새롭게 추가된 파티클용 2D Collider 겹침 해결 기능은 보다 빠르고 정확하게 겹침 문제를 해결합니다.

유니티 성능 보고가 이제 네이티브 iOS 오류를 잡아냅니다

유니티 성능 보고는 디바이스와 플랫폼상에서 발생하는 애플리케이션 오류를 자동으로 수집하여 여러분과 여러분의 팀이 실시간으로 문제를 찾고 해결할 수 있도록 도와줍니다. 성능 보고는 이제 iOS 게임에서 발생한 네이티브 오류(예를 들면 네이티브 오브젝티브 C 플러그인으로 인한 게임 오류)를 수집해서 보고하며, 향후 더 많은 플랫폼을 지원할 예정입니다(다음은 안드로이드 입니다!). 유니티 프로젝트에 별다른 코드를 추가할 필요 없으며 서비스 창에서 “Performance Reporting”을 활성화시키기만 하면 됩니다.

물리 디버그 시각화

장면에서 어떤 객체가 충돌해야 하는지 파악하기 어려울 때가 있습니다. 특히 렌더 메시와 충돌 메시가 동기화 되지 않았을 때 더욱 그렇습니다. 장면의 충돌 지오메트리를 보다 빠르게 파악할 수 있도록 물리 충돌 지오메트리에 대한 디버그 보기 모드를 추가했습니다. 이 모드는 물리 미들웨어에서 발생한 사실적인 현상을 제공하며 유니티 장면에서는 해당 충돌체를 빠르게 찾을 수 있습니다. 또한 모든 Sleeping Rigidbody를 숨기거나  모든 오목한 MeshCollider를 보여주는 프로파일 도구의 역할을 합니다.

물리 비관통 기능 추가와 에디터 UI 개선

사용자 정의 비관통 기능 구현을 돕기 위해 Physics.ComputePenetration과 Physics.ClosestPoint 두 가지 기능을 추가 했습니다. Physics.ComputePenetration은 두 개의 충돌체를 분리는데 필요한 최소 변환을 반환합니다.

자홍색 선을 살펴보면 구와 캡슐을 분리하는데 필요한 정확한 오프셋을 보여줍니다.

Physics.ClosestPoint는 특정 위치에 가장 근접한 충돌체 표면의 위치를 계산합니다.

장면 뷰에서 2D와 3D 충돌체를 편집할 수 있도록 상호작용 핸들을 통합 했습니다. 모두 동일한 논리를 사용하고 새로운 변경 키(Shift, Alt)를 지원하여 보다 쉽게 충돌체의 크기를 편집하고 중앙에 고정시키거나 모든 방향에서 균일하게 모양을 조정할 수 있습니다.

확장과 축소가 가능한 계층 데이터를 표시해주는 트리뷰 IMGUI 컨트롤을 추가했습니다. 이를 통해 에디터 창에서는 다른 IMGUI 컨트롤 및 컴포넌트와 함께 사용할 수 있는 사용자 정의 가능한 리스트 뷰와 다중열 테이블을 생성할 수 있습니다. 열 콘텐츠 렌더링(row content rendering), 드래그 논리, 선택 논리, 검색, 정렬, 아이템 이름 수정 등의 사용자 정의가 가능합니다.

<i>트리뷰의 MultiColumnHeader와 SearchField 예시</i>

API 함수를 사용하려면 유니티 스크립팅 API 문서 또는 트리뷰 매뉴얼을 찾아보십시오.

캔버스에 ‘AdditionalShaderProperties’를 추가하여 각 UI 요소에 대해 GPU에 전송할 데이터 양을 개선하였습니다. 이를 통해 생성된 모든 신규 캔버스 구성 요소의 기본 동작이 변경되며, 사용되지 않는 추가 채널이 제외되어 캔버스 렌더링으로 인한 메모리 비용이 감소합니다.

Visual Studio 2017를 사용하는 경우 유니티 워크로드 설치가 자동으로 감지되며, 외부 스크립트 에디터 목록에 추가 및 표시됩니다.

구글 데이드림과 카드보드 VR 지원

5.6은 iOS와 안드로이드 카드보드를 위한 네이티브 구글 VR과 안드로이드 데이드림을 모두 지원합니다. 데이드림 플랫폼에서 성능 및 지연시간 최적화를 위해 구글 VR NDK를 통합하여 플랫폼 비동기식 재투영과 VR 퍼포먼스 모드를 활용할 수 있습니다.

구글 I/O에서 출시된 유니티용 구글 VR SDK의 데이드림 지원과 비교하여 보다 효율적인 작업 과정 및 최적화 그리고 지연시간 감소를 제공합니다. VR을 시작하기 위해서는 프리팹, 스크립트 또는 매니페스트 수정이 필요하지 않으며 데이드림을 대상 플랫폼으로 설정해주기만 하면 자신만의 가상 세계를 만들 수 있습니다.

또한 손쉽게 VR 모드를 전환할 수 있어 애플리캐이션을 구글 VR 사용자에 쉽게 확장 할 수 있고 전폭적인 지원과 함께 구글 카드보드를 겨냥할 수 있습니다. 카드보드 애플리케이션은 구형 장치에도 작동이 가능하여 가능한 많은 사용자에게 다가갈 수 있습니다.

유니티와 구글 데이드림에 대한 보다 자세한 내용은 Unite 2016 데이드림 발표에서 확인하실 수 있습니다.

닌텐도 스위치 지원

거치식 또는 휴대용으로 플레이가 가능한 닌텐도 스위치는 게임 제작자의 새로운 시도를 가능하게 합니다. GDC 유니티 부스를 통해 소개된 Super Bomberman, Snipperclips와 같은 유니티 게임들이 이미 출시되었습니다. 유니티에서는 이제 닌텐도 스위치를 지원합니다. (현재는 유니티 5.5를 기반으로 하며 5.6 지원은 5.6.x 버전에서 제공될 예정입니다)

페이스북 게임룸 지원

페이스북은 게임룸을 통해 개발자들이 프리미엄과 부분 유료화 게임을 PC로 출시할 수 있는 보다 쉬운 방법을 소개했으며, 뉴스피드와는 별개의 PC 전용 프로그램으로써 CPU와 GPU의 네이티브 성능을 최대한 활용합니다.

이제 네이티브 성능에 최적화된 프로젝트를 빌드하여 기본 윈도우 플레이어 같은 새로운 윈도우용 페이스북 게임룸 데스크탑 앱이나 유니티 WebGL 지원을 통해 Facebook.com에 내보낼 수 있습니다.

페이스북 친구와 컨텐츠를 공유하거나 인앱 구매를 하는 등 필요한 모든 것이 유니티에 통합되어 기본 제공됩니다. 유니티 에디터에서 작업한 빌드를 페이스북에서 호스트 하도록 바로 업로드 할 수 있습니다. 여기에서 게임룸에 관한 더 자세한 정보를 확인 하실 수 있습니다.

웹어셈블리 시험 지원

5.6에서는 유니티의 WebGL 경험을 향상시켜주는 새로운 크로스 브라우저 기술인 웹어셈블리가 시험 지원됩니다. 웹어셈블리는 새로운 독립 웹 표준입니다. 기본적으로는 바이트코드 형식으로 텍스트 기반 방식인 asm.js와는 달리 컴파일된 코드의 크기를 현저하게 줄여줍니다.  현재 사용되는 텍스트 기반 방식과 비교했을 때 바이트코드 형식은 asm.js로 컴파일된 코드의 크기를 대폭 줄여줍니다. 이를 통해 코드를 더 빠르게 다운로드 할 수 있고, 더 중요한 것은 훨씬 적은 메모리를 사용하면서 코드를 훨씬 빠르게 파싱 및 컴파일 할 수 있습니다. 그 결과 WebGL 플랫폼에서 많은 개발자들이 공통적으로 겪고 있는 문제점인 시작 시간과 성능이 개선되고 메모리 요구량이 감소합니다

멀티플레이어 개선사항

5.6은 기존 유니티 멀티플레이어 기능의 최적화 및 안정성을 향상시켰습니다. 특히 불안정한 네트워크 환경에서 안정성을 개선하였고 모든 변경사항은 투명하게 적용되어 현재 네트워크 API 실행에 영향을 미치지 않습니다.

에디터와 함께 제공되는 변경사항 이외에도 멀티플레이어 문서 개선, 새로운 교육 자료 제작, 신규 기능에 대한 기초 작업을 시작하였습니다. 유니티 멀티플레이어에 대한 자세한 내용은 최신 블로그 게시글을 참고하세요.

유니티 콜라보레이트의 새로운 기능(베타)

유니티 콜라보레이트는 유니티 프로젝트를 팀원들과 함께 저장, 공유, 동기화할 수 있도록 도와줍니다. 사용이 간편하여 위치와 역할에 상관 없이 팀 전체가 프로젝트에 참여할 수 있습니다. 기존의 버전 컨트롤(예: Git, SVN)보다 사용이 간편하여 게임 개발 작업에 더 많은 시간을 투자할 수 있습니다.

베타 버전에 대한 고객들의 의견을 반영하여 5.6에는 부분 퍼블리시(Partial Publish) 기능을 추가하여 사용자가 선택된 파일을 퍼블리싱할 수 있게 되었습니다. 기존에는 변경된 파일 모두를 퍼블리싱할 수 밖에 없었습니다.

파일 무시하기(Ignore Files) 기능은 프로젝트에 추가하고 싶지 않은 파일이나 디렉토리를 무시할 수 있도록 해주며 새로운 롤백(Rollback) 기능은 기존 버전을 최신 버전으로 만들어주어 변경사항을 취소하는데 유용합니다.

유니티 5.6은 유니티 5의 최종 버전입니다. 이제 2017을 기대해주세요.

유니티 5의 최종 버전인 5.6과 2017의 예정 사항은 블로그를 참고하세요.

새 기능과 변경사항, 버그 수정, 기타 문제점에 대한 자세한 내용은 릴리스 노트를 확인하시기 바랍니다.

2017년 3월 31일 테크놀로지 | 26 분 소요

Is this article helpful for you?

Thank you for your feedback!