Search Unity

 

Unity 2018.1은 유니티의 핵심 기술이 집약된 Unity 2018 시리즈의 첫 버전으로, 아티스트와 개발자, 엔지니어가 탁월한 성능을 활용하여 더 자유롭게 역량을 발휘하고 효율적으로 협업하여 AAA급 작품을 제작할 수 있도록 지원합니다.

Unity 2018.1의 몇 가지 주요 기능을 먼저 소개한 후 세부적인 내용을 다루어 보겠습니다. 이번에 새롭게 선보이는 두 가지 핵심 기능인 스크립터블 렌더 파이프라인과 C# 잡 시스템을 활용하면 수준 높은 그래픽을 구현하고 Unity의 런타임 성능을 높일 수 있습니다. 이 두 기능은 향후 지속적인 업데이트를 통해 개선해 나갈 예정입니다.

Unity 2018.1은 여기에서 다운로드할 수 있습니다.

스크립터블 렌더 파이프라인(SRP)

Unity 2018.1 버전에서 프리뷰로 선보이는 새로운 스크립터블 렌더 파이프라인(Scriptable Render Pipeline)은 엔지니어와 테크니컬 아티스트가 길고 복잡한 C++ 엔진 코드를 직접 작성하지 않고도 최신 하드웨어와 GPU를 활용할 수 있는 탁월한 기능을 제공합니다.

SRP를 사용하면 C# 코드와 머티리얼 셰이더를 통해 렌더링 파이프라인을 커스터마이즈할 수 있어 C++ 렌더링 파이프라인 전체를 작성하거나 수정하는 복잡하고 어려운 과정을 거치지 않고도 세부적으로 제어할 수 있습니다.

사용자의 필요에 따라 언제든지 사용 가능한 두 가지 렌더 파이프라인도 추가되었습니다.

 

고해상도 렌더 파이프라인(High-Definition Render Pipeline)은 AAA 퀄리티를 추구하는 개발자를 위한 기능입니다. 한편, 경량 렌더 파이프라인(Lightweight Render Pipeline)은 뛰어난 그래픽 품질과 속도를 모두 추구하는 개발자를 위한 기능으로 모바일 기기 및 유사 플랫폼에서의 배터리 수명을 최적화합니다.

 

C# 잡 시스템과 엔티티 컴포넌트 시스템(ECS)

새로운 프로그래밍 모델인 엔티티 컴포넌트 시스템(Entity Component System)과 새로운 런타임 시스템을 연동하면 프로그래밍에 대한 큰 고민 없이 멀티코어 프로세서를 최대한 활용할 수 있습니다. 예를 들어 개발자는 게임에 더 많은 효과와 복잡도를 더할 수 있고, 인공지능(AI)을 추가하여 더욱 풍부하고 몰입감 높은 세계를 구현할 수 있습니다.

 

레벨 디자인과 셰이더

Unity 2017.x 버전에서는 아티스트와 디자이너와 개발자가 하나의 팀으로 협업하여 다양한 게임 경험을 구현할 수 있도록 지원하는 새로운 기능이 도입되었습니다. 3ds Max와 Maya 등의 디지털 콘텐츠 제작 툴과 파일을 쉽게 주고받을 수 있도록 돕는 새로운 FBX 익스포터를 비롯하여 타임라인, 시네머신과 같은 강력한 비주얼 툴이 추가되었습니다.

Unity 2018.1 버전에서는 코딩 없이도 레벨, 시네마틱 콘텐츠, 게임플레이 시퀀스를 만들 수 있는 기능을 도입하여 아티스트와 디자이너와 개발자가 더욱 효율적으로 협업할 수 있도록 지속적으로 지원하고 있습니다. 예를 들어 프로빌더(ProBuilder)와 폴리브러시(Polybrush) 및 비주얼 셰이더 그래프(Visual Shader Graph)와 같은 새로운 직관적인 툴을 사용하면 프로그래밍 지식이 없어도 레벨을 디자인하고 셰이더를 만들 수 있습니다.

 

패키지

Unity 2017.2 버전에서는 프로젝트에서 새로운 Unity 기능을 동적으로 로드하고 업데이트할 수 있는 코어 모듈 시스템이자 API인 패키지 관리자가 도입되었습니다. Unity 2018.1 버전에서는 새롭게 출시된 패키지 관리자 사용자 인터페이스, 허브, 프로젝트 템플릿을 더했습니다. 새로 추가된 기능을 활용하여 새 프로젝트를 더욱 빠르고 효율적으로 시작할 수 있습니다.

일부 기능은 패키지로 제공됩니다. 이는 Unity의 확장성 측면에서새로운 기능들을 지속적으로 출시하기 위해 Unity를 모듈화하려는 취지입니다.

이와 같은 새로운 기능은 아직 본격적인 제작에 활용하기에는 적합하지 않고 완벽히 지원되지 않을 수 있으므로, 이를 명시하기 위해 ‘프리뷰’라는 이름으로 제공됩니다. 별도의 모듈 패키지로 제공되는 초기 버전의 프리뷰 기능을 활용하여 다양한 테스트를 해 볼 수 있으며 본격적인 제작 단계에서는 어떻게 활용할 수 있을지 미리 확인해 볼 수 있습니다.

What’s new in Unity 2018.1: all the details!

Unity 2018.1의 새로운 기능: 세부 정보

그래픽스

스크립터블 렌더 파이프라인(SRP)(프리뷰)

Unity의 내장 렌더링 모드는 다양한 종류의 게임을 제작할 수 있는 강력한 파이프라인으로 기능합니다. 하지만 성능, 아키텍처, 폼 팩터(form factor) 측면에서 플랫폼이 점점 진화하고 다변화됨에 따라 더욱 강력하고 유연한 렌더링 파이프라인을 제공하려고 합니다.

Unity 2018.1 버전에서 프리뷰로 선보이는 새로운 스크립터블 렌더 파이프라인(Scriptable Render Pipeline)은 엔지니어와 테크니컬 아티스트가 길고 복잡한 C++ 엔진 코드를 직접 작성하지 않고도 최신 하드웨어와 GPU를 활용할 수 있는 강력한 기능을 제공합니다.

SRP를 사용하면 C# 코드와 머티리얼 셰이더를 통해 간편하게 렌더링 파이프라인을 커스터마이즈할 수 있습니다. 따라서 C++ 렌더링 파이프라인 전체를 작성하거나 수정하는 복잡하고 어려운 작업을 하지 않고도 최대한의 컨트롤이 가능합니다.

Unity는 대다수의 소규모 게임에서 활용하기에 충분한 내장 렌더링 모드를 제공합니다. SRP는 단순히 사용자의 고유한 요구 사항에 맞추어 렌더링 프로세스를 맞춤 설정할 수 있는 기능이나 대상 플랫폼의 하드웨어에 맞게 성능을 최적화하는 기능을 넘어서서 더 많은 가능성을 가져다줍니다.

SRP는 Unity에서 렌더링의 새로운 방향을 제시합니다. 즉, 암호로 가득 찬 블랙박스 모델에서 벗어나서 모든 것이 C# 언어로 이루어진 더 개방된 체계로 전환하는 것을 의미하며, 사용자가 필요에 따라 자신만의 파이프라인을 작성하거나 원하는 대로 템플릿을 만들 수 있는 환경을 구축하는 것을 목표로 합니다. 유니티는 2018.1 버전에서 내장 렌더링 엔진 이외에 두 가지 기본 파이프라인을 출시합니다.

새로운 스크립터블 렌더 파이프라인을 사용하여 구현할 수 있는 환경에 대해서는 1인칭 인터랙티브 데모 영상인 ‘사자의 서(Book of the Dead)’를 통해 확인해 볼 수 있습니다.

스크립터블 렌더 파이프라인(SRP)에 대한 정보와 사용 방법은 유니티의 최신 블로그 게시물을 참조하시기 바랍니다.

 

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

PC와 콘솔에서 정교한 비주얼을 구현하기 위한 파이프라인

HD RP는 일부 플랫폼(PC DX11+, PS4, Xbox One, Metal, Vulkan – 아직 XR은 지원되지 않음)을 지원하는 최신 렌더러입니다.

HD RP는 하이엔드 PC와 콘솔에서 놀라울 정도로 정교한 고해상도 비주얼을 구현합니다. 단점으로는 성능이 낮은 플랫폼에서는 작동하지 않으며, 일정한 학습 기간이 필요하고 일부 관련 툴도 교체해야 합니다.

이 렌더러는 포워드와 디퍼드 간에 기능상의 동등함(패리티)를 보장하는 하이브리드 타일/클러스터 포워드/디퍼드 렌더러로, 입체 광원(개발 중), 통합 조명(불투명/투명/입체 광원에 모두 동일한 조명 사용), 새로운 광원 모양(점 광원에 선과 직사각형 옵션 제공, 스폿 광원에 상자와 피라미드 옵션 제공), 데칼 기능을 포함합니다.

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

드로우 콜 감소

LW RP는 더 적은 수의 드로우 콜을 사용하는 싱글 패스 포워드 렌더러입니다. LW RP를 사용하면 내장 렌더링 파이프라인을 사용할 때에 비해 프로젝트의 드로우 콜 수가 감소합니다. LW RP는 모든 플랫폼을 지원하지만 특히 모바일이나 XR과 같이 고성능이 요구되는 애플리케이션에 적합합니다. 단점으로는 HD RP와 마찬가지로 새 SRP 워크플로로 전환하려면 일정한 학습 기간이 필요하고, 일부 타사 툴과는 현재 호환되지 않습니다.

LW RP에는 자체 렌더링 프로세스가 있으므로 자체 프로세스에 적합하게 작성된 셰이더가 필요합니다. 이번에 새로 개발한 스탠다드 셰이더 세트는 머티리얼의 셰이더 선택 드롭다운의 경량 파이프라인(Lightweight Pipeline) 그룹 아래에서 찾을 수 있습니다. 새 스탠다드 셰이더는 스탠다드 PBR 셰이더, 간소화된 조명 모델을 포함한 비 PBR 스탠다드 셰이더, 스탠다드 터레인 셰이더, 스탠다드 언릿 셰이더로 구성됩니다. 참고로 레거시 파티클, UI, 스카이박스, 스프라이트 셰이더를 포함한 Unity의 모든 언릿 스톡 셰이더는 LW RP와 함께 작동합니다.


패키지 관리자를 사용하여 LW RP를 다운로드하고, 유니티의 최신 블로그 게시물에서 새 LW RP에 대한 정보와 사용 방법을 확인하실 수 있습니다.

 

템플릿: 빠르고 간편하게 새 프로젝트 시작하기

2D인지 3D인지, PC나 콘솔과 같은 하이엔드 플랫폼인지, 모바일과 같은 경량 플랫폼인지 등 다양한 조건에 따라 일반적으로 선호되는 설정으로 구성된 템플릿을 제공합니다. 템플릿을 사용하면 기본적인 설정 단계를 생략할 수 있으므로 더 빠르고 간편하게 새로운 프로젝트를 시작할 수 있습니다.

템플릿에는 최적화된 Unity 프로젝트 설정이 적용되어 있고 일부 프리팹과 에셋이 함께 제공됩니다. Unity에서 새 프로젝트를 시작하면 대상 게임 유형이나 비주얼 정확도 수준에 알맞게 사전 설정되어 있으므로 여러 가지 설정을 변경할 필요가 없습니다.

따라서 더욱 빠르게 새 프로젝트를 시작할 수 있을 뿐만 아니라 찾기 어려운 설정이나 스크립터블 렌더 파이프라인, 셰이더 그래프, 포스트 프로세싱 스택 등과 같은 새로운 기능에 대해서도 쉽게 확인할 수 있습니다.

Unity에서 제공되는 템플릿은 다음과 같습니다.

템플릿 설명
2D Unity의 내장 렌더링 파이프라인을 사용하는 2D 프로젝트용 템플릿입니다.

이미지 임포트(Image Import), 스프라이트 패커(Sprite Packer), 씬 뷰(Scene View), 조명(Lighting), 직교 카메라(Orthographic Camera)를 비롯한 2D용 프로젝트 설정으로 이루어져 있습니다.

3D Unity의 내장 렌더링 파이프라인을 사용하는 3D 프로젝트용 템플릿입니다.

3D용 프로젝트 설정으로 이루어져 있으며, 기본 색 공간이 리니어(Linear)로 지정되어 있고 기본 라이트매퍼(Lightmapper)가 프로그레시브(Progressive)로 설정되어 있는 등 일부 설정이 다릅니다.

3D with Extras
(프리뷰)
3D 템플릿과 유사하지만 포스트 프로세싱, 프리셋, 예시 콘텐츠가 추가로 포함됩니다.
High End
(프리뷰)
셰이더 모델 5.0(DX11 이상)을 지원하는 플랫폼에서 하이엔드 그래픽을 구현하기 위한 템플릿으로, HD RP를 사용합니다.

HD RP는 고급 머티리얼 유형과 설정 가능한 하이브리드 타일/클러스터 디퍼드/포워드 조명 아키텍처를 포함하는 최신 렌더링 파이프라인입니다.

Lightweight
(프리뷰)
성능에 초점을 맞춘 템플릿으로, 주로 베이크된 조명 솔루션을 이용하는 프로젝트에 사용됩니다.

이 템플릿은 오브젝트당 광원 컬링을 사용하는 싱글 패스 포워드 렌더러인 LW RP를 사용합니다. LW RP를 사용하면 프로젝트의 드로우 콜 수가 감소하므로 비교적 사양이 낮은 하드웨어에 적합합니다.

모든 광원은 픽셀 광원당 추가 패스가 아닌 싱글 패스에서 셰이딩됩니다.

Lightweight VR
(프리뷰)
주로 베이크된 조명 솔루션을 이용하는 VR 프로젝트를 개발할 때 성능에 초점을 둔 템플릿입니다. LW RP를 사용하며 실행하려면 VR 기기가 필요합니다

 

셰이더 그래프(프리뷰): 누구나 손쉽게 가능한 셰이더 제작

이전에는 프로그래밍 지식을 가진 사람만 Unity에서 셰이더를 제작할 수 있었습니다. 하지만 2018 버전부터는 누구나 셰이더를 제작할 수 있습니다.

셰이더 그래프를 통해 코드를 전혀 작성하지 않고도 디자이너 툴을 사용하여 시각적인 방법으로 셰이더를 작성할 수 있습니다. 즉, 손쉬운 드래그 앤 드롭 방식으로 그래프 네트워크의 노드를 생성하고 연결할 수 있습니다. 결과를 즉시 확인하고 반복할 수 있어 새로운 사용자도 간편하게 셰이더 제작에 참여할 수 있습니다.

셰이더 그래프 시스템의 특징은 다음과 같습니다.

  • LW 렌더 파이프라인과 함께 작동하도록 디자인됨(HD 렌더 파이프라인도 곧 지원 예정)
  • 모든 커스텀 렌더 파이프라인과 함께 작동하도록 확장 가능
  • 오픈 아키텍처를 채택하여 커스텀 노드를 작성할 수 있음

셰이더 그래프에 관한 정보와 사용 방법은 GitHub의 셰이더 그래프 예시 라이브러리와 유니티의 셰이더 그래프 튜토리얼 비디오를 통해 상세히 알아보실 수 있습니다.

 

프로그레시브 라이트매퍼

프로그레시브 라이트매퍼는 베이크된 광원에서 최적의 결과물을 만들어내며, Unity 에디터에서 변경 사항을 바로바로 표시하여 더욱 예측 가능하고 신속하게 반복 작업을 할 수 있게 함으로써 조명 아티스트의 워크플로를 개선합니다.

프로그레시브 라이트매퍼는 5.6 버전에서 ‘프리뷰’ 기능으로 처음 출시되었으며 새로운 버전이 출시될 때마다 기능이 점점 보강되어 왔습니다. 이번 2018.1 버전부터 프리뷰가 아닌 정식 기능으로 제공되며 대규모 씬을 베이크하기 위한 메모리 최적화가 추가되었습니다.

2018.1 버전부터 프로그레시브 라이트매퍼는 커스텀 베이크 API(Custom Bakes API)를 통해 고급 사용자를 지원합니다. 이를 통해 ‘사자의 서’에서 1인칭 인터랙티브 경험을 구현하는 데 사용된 커스텀 오클루전 프로브(Occlusion Probes) 시스템처럼 새로운 조명 툴을 개발하기 위해 베이킹 솔루션의 데이터를 액세스할 수 있습니다.

 

포스트 프로세싱 스택 v2

포스트 프로세싱 스택을 사용하면 전문가급 제어 기능을 활용하여 사실적인 필터를 씬에 적용할 수 있습니다. 아티스트 친화적인 인터페이스를 통해 손쉽게 양질의 비주얼을 구현할 수 있을 뿐만 아니라 세밀한 조정을 통해 더욱 극적이고 사실적인 효과를 만들어낼 수 있습니다.

포스트 프로세싱 스택은 2018.1 버전부터 베타가 아닌 정식 기능으로 제공되며, 그동안 사용자들로부터 가장 많은 요청을 받은 기능을 추가하고 최대한 많은 버그를 수정했습니다. 또한 모바일에 특화된 경로, 영역 블렌딩, 커스텀 사용자 효과를 사용하기 위한 프레임워크 전체를 추가하여 XR 지원을 개선했습니다.

이 포스트 프로세싱 스택 버전은 에셋 스토어 팩 특유의 유연한 플러그인 활용성과 특정 Unity 핵심 기능만 콕 찝어 업데이트할 수 있는 편리함을 동시에 가져다줄 것으로 기대되는 패키지로 제공될 예정이며, 출시를 준비 중인 여러 패키지 중에서 가장 먼저 제공될 예정입니다.

2018.1 버전에서 포스트 프로세싱 스택은 더욱 높은 품질의 효과, 강력한 오버라이드 스택이 있는 자동 영역 블렌딩, 나만의 커스텀 효과를 작성하고 배포할 수 있는 유연한 프레임워크를 포함하도록 개선되었으며, LW RP, HD RP, 내장 렌더링 파이프라인과 호환됩니다.

 

PS4를 위한 다이내믹 해상도

다이내믹 해상도(Dynamic Resolution)는 Unity 2017.3 버전에서 Xbox One용으로 처음 도입되었습니다. 이제 이 기능이 PS4에도 제공됩니다. 사용자는 이 기능을 사용하여 GPU 예산을 동적으로 관리할 수 있습니다. 예를 들어 일부 시나리오에서만 4K와 같은 고해상도를 사용하고 고해상도가 필요하지 않은 부분에서는 GPU 성능을 높이기 위해 해상도를 낮추어 구현할 수 있습니다.

즉, 사용자는 Unity 에디터에서 다이내믹 해상도를 적용할 렌더 텍스처와 카메라를 선택한 다음 런타임 시점에 스크립트 하나를 호출하여 해당 항목의 해상도를 높일 수 있습니다. FrameTimingManager에서 제공하는 정보와 다이내믹 해상도를 함께 사용하면 선택한 렌더링 대상의 해상도를 변경하여 GPU 부하를 자동으로 조절하는 스크립트를 작성할 수 있습니다. 시스템 내부적으로는 다이내믹 해상도를 사용하지 않을 때와 똑같은 메모리를 렌더링 대상에 할당하며, 해상도가 변경될 때에도 유의미한 수준의 CPU 성능 오버헤드가 발생하지 않습니다.

참고: 다이내믹 해상도는 CPU를 많이 사용하는 게임에서는 특별한 효과를 기대하기가 어려우므로 다이내믹 해상도를 적용하기 전에 GPU를 많이 사용하는 게임으로 전환할 수 있는지 확인해야 합니다.

GPU 인스턴싱: GI 지원

이제 GPU 인스턴싱에서 각 인스턴스에 전역 조명 데이터를 가져올 수 있습니다. Unity 렌더 루프에서 라이트프로브 릿(LightProbe-lit) 또는 라이트맵 릿(Lightmap-lit) 오브젝트를 자동으로 배치하도록 허용하거나, 새 API를 수동으로 호출하여 씬과 함께 베이크된 라이트프로브 데이터를 추후 인스턴스된 렌더링에 사용되는 MaterialPropertyBlock 오브젝트로 추출함으로써 전역 조명을 가져올 수 있습니다.

라이트맵 UV 오버랩 시각화

이 기능은 의도하지 않은 이미지 왜곡과 관련한 문제를 해결하는 기능입니다. 라이트맵이 여러 개의 차트로 나뉘어져 샘플링될 때 한 차트의 텍셀 값이 다른 차트의 텍셀 값과 섞여(두 값이 지나치게 비슷한 경우) 원하지 않는 효과가 나타나는 문제가 있습니다 새로운 UV 오버랩 시각화 기능을 사용하면 이 문제가 발생한 차트/텍셀을 즉시 확인할 수 있습니다. 이 기능을 사용하면 오버랩을 자동으로 식별할 수 있고 예상치 못한 문제(예: 차트 마진 확대 등)를 해결할 때 정확한 정보를 토대로 적절한 조치를 취할 수 있습니다.

 

메탈(Metal)용 테셀레이션

메탈용 테셀레이션은 품질이 비교적 낮은 메시를 사용하면서도 시각적 정확도를 높이는 방법으로, 헐(hull)/도메인 셰이더 단계를 사용하는 DX11 하드웨어 테셀레이션 규칙을 따릅니다. 이 기능을 사용하는 기존 HLSL 셰이더는 플랫폼 간 원활한 전환을 위해 메탈 컴퓨트 셰이더로 크로스 컴파일되고 투명하게 변환됩니다. (대상 그래픽 API는 테셀레이션 구현과 관련하여 기본적으로 다른 접근 방식을 사용합니다.)

 

기타 그래픽 개선 및 새로운 기능

2018.1 버전에서는 스카이 오클루전(Sky Occlusion)이 실험 기능으로 제공됩니다. 이 기능을 사용하면 스카이박스 조명의 영향을 앰비언트 오클루전 계산에 포함하여 그래픽의 정확도와 사실성을 높일 수 있습니다.

또한 GI를 베이크하는 백엔드에 광원 정보를 전달하는 실험적인 C# 인터페이스가 새로 추가되었습니다.

2D

물리: 2D

이제 기기의 모든 CPU 코어를 활용하여 리지드바디 시뮬레이션을 할 수 있습니다. 여기에는 새로운 컨택트 발견, 이산적/연속적 아일랜드 솔버 수행, 광범위한 단계 동기화 실행 등 네이티브 잡 시스템으로 실행할 수 있는 모든 기능이 포함됩니다. 이 기능을 사용하려면 2D 물리(2D Physics) 설정으로 이동하여 ‘잡 옵션(실험 기능)(Job Options (Experimental))’ 아래에 있는 ‘멀티스레딩 사용(Use Multithreading)’을 선택하면 됩니다. 또한 이 기능을 개발하는 과정에서 사용된 잡 기반 물리를 테스트하는 프로젝트 몇 개를 제공해 드립니다. 관련 테스트 프로젝트는 Github에서 이용할 수 있습니다.

 

2D SpriteShape 프리뷰(패키지)

SpriteShape는 스프라이트 레이아웃이자 월드 구축 툴로, 특정한 각도 범위에 기반하여 셰이프의 경로를 따라 스프라이트를 타일링할 수 있는 기능을 제공합니다. 타일링 텍스처를 사용하여 셰이프를 채울 수도 있습니다.

SpriteShape 기능의 중요한 장점은 베지어 곡선 경로와 선택적으로 또는 연속적으로 스프라이트를 타일링할 수 있는 기능을 효과적으로 합쳤다는 점입니다. 특정 각도에 할당된 스프라이트는 연속적으로 타일링되는 경우 자동으로 전환됩니다.

이 기능은 프리뷰 패키지를 통해 제공됩니다. 여기에서 샘플 프로젝트와 문서를 다운로드할 수 있습니다.

유니티 포럼으로 이동하여 기능을 사용해 본 경험을 공유해 주시기 바랍니다. 이 기능이 워크플로에 적합했는지 그리고 프로젝트 품질 향상에 어떤 도움이 되었는지 알려주시기 바랍니다. 긍정적인 부분 외에도 불편한 점이 있었다면 함께 알려주시면 감사하겠습니다.

 

2D 애니메이션 시스템 프리뷰(패키지)

유니티는 새로운 2D 애니메이션 시스템을 준비 중입니다. 새로운 2D 애니메이션 시스템은 여러 단계로 나누어 출시할 예정이며 현재는 프리뷰 패키지 형식으로 이용해 볼 수 있습니다.

처음 선보이는 버전에서는 골격 애니메이션 작업을 위한 스프라이트 리깅용 툴 개발에 주력했습니다. 이 툴은 Anima2D와 유사하지만 Anima2D를 Unity에 통합한 것과는 다릅니다.

이 툴에는 바인드 포즈 편집, 수동 메시 테셀레이션, 스킨 가중치 페인팅 기능이 포함되며, 런타임 컴포넌트가 모든 기능을 연결하여 스프라이트 변형을 수행합니다. 유니티의 목표는 사용자가 단일 스프라이트로 구성된 단순한 애니메이션 캐릭터를 만들 수 있도록 지원하는 것입니다.

진행 중인 프로젝트

유니티는 지속적으로 새로운 기능과 워크플로를 구축하여 추가할 예정입니다. 현재 멀티스프라이트 캐릭터를 더욱 효율적으로 만들고 대규모 제작 워크플로를 지원할 수 있는 툴을 개발 중이며, 이를 통해 사용자는 복잡한 멀티스프라이트 캐릭터를 쉽게 만들 수 있으며, 잠재적으로는 여러 캐릭터 간에 릭(rig)과 애니메이션 클립을 공유할 수도 있을 것입니다.

이 기능은 프리뷰 패키지로 제공됩니다. 여기에서 샘플 프로젝트와 문서를 다운로드할 수 있습니다. 유니티는 사용자의 의견을 소중하게 생각합니다. 유니티 포럼에서 유니티가 적절하게 지원한 워크플로와 놓친 부분, 그리고 개선을 위한 아이디어 등의 의견을 공유해 주시기 바랍니다.

 

파티클 시스템 개선

GPU 메시 인스턴싱

이제 파티클 시스템에서 CPU 성능 비용을 대폭 절감하면서 더 많은 파티클 메시를 렌더링할 수 있는 GPU 인스턴싱이 지원됩니다. 파티클 시스템은 절차적 인스턴싱을 사용합니다. 자세한 설명은 여기에서 참조하실 수 있습니다.

파티클 스탠다드 셰이더에 인스턴싱 지원이 추가되었으며, 모든 신규 콘텐츠에서 기본으로 사용하도록 설정됩니다. Unity 2018.1 버전에서는 렌더러 모듈의 체크박스만 클릭하면 이전 Unity 버전의 콘텐츠를 사용하도록 수동으로 설정할 수 있습니다. 또한 자체 셰이더에 파티클 인스턴싱 지원을 추가할 수도 있습니다.

아래는 이전의 비인스턴스 기술을 사용하여 8.6fps로 렌더링된 10,000개의 구체 메시와, 새로운 인스턴스 기술을 사용하여 8.5fps로 렌더링된 100,000개의 구체 메시입니다.

 

파티클의 궤도 속도

Unity 2018.1 버전에서는 생존 기간 속도(Velocity over Lifetime) 모듈에 새로운 옵션이 추가되어, 지정된 중심점에 비례하여 파티클을 이동할 수 있습니다. 기본적으로 중심은 트랜스폼을 사용하여 정렬되지만, 모듈 내에서 오버라이드할 수 있습니다. 궤도(Orbital) 파라미터를 사용하여 파티클을 중심점으로 이동하거나, 방사(Radial) 파라미터를 사용하여 중심점과의 거리를 조정할 수 있습니다.

텍스처된 셰이프 모듈

이제 셰이프 모듈의 모든 셰이프 유형이 텍스처를 지원합니다. 다음과 같은 용도로 텍스처를 사용할 수 있습니다.

  • 파티클 컬러 관리
  • 파티클 알파 관리
  • 한계값 및 직접 선택한 텍스처 채널에 따라 파티클 폐기

서브 이미터

Unity 2018.1 버전에서는 두 가지 방법으로 서브 이미터를 생성할 수 있습니다. 첫 번째 방법으로는 충돌 모듈에서 서브 이미터를 생성하는 것과 비슷하게 작동하는 트리거 모듈을 사용할 수 있습니다. 서브 이미터 모듈(Sub-Emitter Module)에서 ‘Trigger’를 서브 이미터 유형으로 선택한 다음, 트리거 모듈 내에서 조건이 충족되면(즉 파티클이 충돌 영역 내에 들어오면) 해당 서브 이미터가 트리거됩니다.

두 번째 방법으로는 스크립트를 통해 서브 이미터를 트리거할 수 있습니다. ‘TriggerSubEmitter’라는 새로운 스크립트 API가 추가되었습니다. 이 스크립트 API를 사용하여 단일 파티클, 여러 파티클, 또는 모든 파티클에 대해 서브 이미터를 트리거할 수 있습니다. 서브 이미터 모듈에서 ‘Manual’을 생성 유형으로 선택하면 파티클 시스템이 스크립트 호출을 통해서만 이 이미터를 트리거하도록 설정됩니다. 또한 기존 유형(‘Collision’ 또는 ‘Death’)을 사용하고 스크립트를 통해 이러한 서브 이미터에 트리거를 추가할 수도 있습니다.

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

Unity 엔진이 발전을 거듭하며 새롭게 도입되는 VR과 멀티스레드 렌더링 등과 같은 기능은 호환성을 확보하기 위해 많은 시간이 필요합니다. 이로 인해 레거시 파티클 시스템을 지원하는 모든 Unity 버전을 사용한 개발 과정에서 많은 분들이 어려움을 겪습니다. 또한, 새로운 엔진 기능이 추가될 때마다 기존의 레거시 파티클 시스템 코드를 유지 관리해야 하는 번거로움이 뒤따를 것입니다.

이러한 이유로 유니티는 심사숙고 끝에 레거시 파티클 시스템을 유지하기보다 지원을 중단하고, 이에 따라 Unity 2018.1 버전에서는 레거시 파티클 시스템의 스크립트 바인딩을 삭제하기로 결정했습니다.

레거시 파티클 시스템의 스크립트 바인딩은 Unity 5.4 버전부터 지원에서 제외되었으며, 유니티의 분석 데이터에 따르면 사용 사례도 거의 발견되지 않았습니다. Unity 2018.3 버전에서는 레거시 파티클 시스템을 완전히 삭제할 계획입니다.

레거시 파티클 시스템 지원 중단으로 인해 영향을 받는 사용자는 다음과 같은 방법을 이용할 수 있습니다.

모든 문제를 완벽히 해결할 수는 없겠지만, 우려하시는 부분에 대해 충분히 의견을 수렴하고 변경 사항으로 인해 야기되는 불편을 최소화할 수 있도록 노력하겠습니다.

애니메이션

가중치가 적용된 탄젠트(애니메이션 커브)

가중치가 적용된 탄젠트(Weighted Tangents)를 사용하면 탄젠트의 가중치를 조절하여 더 적은 키와 매끄러운 커브로 이루어진 애니메이션 커브를 만들 수 있습니다. 탄젠트를 ‘Weighted’로 설정하면 키를 더하지 않고도 늘여서 커브 보간을 변경함으로써 더 매끄럽고 정확한 결과물을 도출할 수 있습니다.

애니메이션 팀은 Unity의 모든 커브 편집에서 가중치가 적용된 탄젠트를 지원하도록 개선했습니다. 따라서 가중치가 적용된 탄젠트 기능을 파티클 시스템과 함께 사용할 수 있습니다.

새롭게 추가된 베지어 핸들과 가중치가 적용된 탄젠트를 사용하면 탄젠트의 가중치를 조절하여 더 적은 수의 키와 매끄러운 커브로 이루어진 애니메이션 커브를 만들 수 있습니다. 탄젠트를 ‘Weighted’로 설정하면 키를 더하지 않고도 늘여서 커브 보간을 변경함으로써 더 매끄럽고 정확한 결과물을 도출할 수 있습니다.

또한 애니메이터 컨트롤러(Animator Controller) 창에 간단하면서도 편리한 줌 컨트롤(Zoom Control) 기능도 추가했습니다.

 

프로빌더(패키지)

지난 2월에 발표한 바와 같이 프로빌더 및 프로빌더의 크리에이터가 Unity에 추가되었습니다. 이제 추가 비용 없이 Unity 에디터에서 프로빌더, 프로그리드, 폴리브러시 툴을 활용하여 통합된 고급 레벨 디자인을 구현할 수 있습니다. 프로빌더, 프로그리드, 폴리브러시로 구성된 이 패키지는 모든 Unity 구독 플랜(Personal, Plus, Pro, Enterprise)에 포함되어 있습니다.

프로빌더(ProBuilder)는 3D 모델링 및 레벨 디자인 기능을 갖춘 유일한 하이브리드 툴로 간단한 지오메트리를 구축하는 데 최적화되어 있을 뿐만 아니라 필요에 따라 세밀한 편집과 UV 언래핑까지도 수행할 수 있습니다.

프로빌더를 사용하면 구조, 레벨, 복잡한 터레인 특징, 차량, 무기의 프로토타입을 빠르게 제작하거나 커스텀 충돌 지오메트리, 트리거 영역, 내비게이션 메시를 만들 수 있습니다.

또한 프로빌더는 모델 익스포트 툴과 임포트한 메시를 편집하는 툴을 제공하고, 직접 작성한 코드에서 프로빌더 툴 세트에 액세스할 수 있는 런타임용 API를 포함합니다.

패키지에 포함되어 제공되는 프로그리드(ProGrid)는 3방향 축 모두에서 활용할 수 있는 시각적, 기능적 그리드를 제공합니다. 그리드를 활용하면 작업을 매우 빠르고 간편하게 진행하면서도 레벨을 정확하게 구성할 수 있습니다. 특히 프로그리드는 모듈 단위 환경이나 타일 기반 환경에 활용하면 편리하며, 프로빌더와 함께 사용하면 모든 작업에서 더욱 빠르고 정확하게 지오메트리를 구성할 수 있습니다. 자세한 내용은 프로그리드 소개 및 튜토리얼에서 확인하실 수 있으며, 프로그리드 통합 및 사용 가능 여부에 대한 자세한 내용은 이 블로그 게시물의 아래쪽에서 참조하실 수 있습니다.

폴리브러시(Polybrush)를 사용하면 Unity 에디터에서 직접 텍스처와 컬러를 블렌딩하고 메시를 조형하고 오브젝트를 분산할 수 있습니다. 프로빌더와 폴리브러시를 함께 사용하면 완벽한 에디터 내 레벨 디자인 솔루션으로 기능합니다.

마지막으로 Maya와 같은 디지털 콘텐츠 제작 툴과 피드백을 바로바로 주고받으면서 모델의 세부 묘사를 완성할 수 있습니다.

아래는 프로빌더를 사용하여 신속하게 구조, 복잡한 터레인 특징, 차량, 무기의 프로토타입을 제작하거나 커스텀 충돌 지오메트리, 트리거 영역, 내비게이션 메시를 만드는 예시입니다.

돌출시키기(extrude)와 끼워 넣기(inset)

 

절차적 셰이프

 

씬 내 UV 컨트롤

 

무제한으로 편집 가능한 셰이프

 

Unity로 만든 수많은 게임에서 프로빌더가 사용되었습니다. 자세한 내용은 다음의 하이라이트 비디오에서 확인하실 수 있습니다.

다음은 프로빌더의 여러 기능에 대한 간략한 소개입니다.

폴리브러시를 사용하면 Unity 에디터에서 직접 텍스처와 컬러를 블렌딩하고 메시를 조형할 수 있습니다.

폴리브러시는 베타 단계에 있으며, 최근 반복 작업과 관련한 새로운 기능이 추가되었습니다. 이제 다양하게 커스터마이즈할 수 있는 브러시를 사용하여 오브젝트를 분산할 수 있습니다.

텍스처 블렌딩

 

버텍스 컬러 페인팅

 

세부 메시 분산
지오메트리 조형

 

자세한 내용은 폴리브러시 소개 및 튜토리얼에서 확인하실 수 있습니다.

프로빌더, 폴리브러시, 프로그리드가 포함된 패키지는 세밀한 지오메트리를 더욱 신속하게 구성할 수 있는 완벽한 에디터 내 레벨 디자인 솔루션으로 기능합니다.

프로빌더는 새로운 Unity 패키지 관리자를 통해 사용할 수 있습니다. 유니티는 2018년 안에 폴리브러시와 프로그리드를 Unity에 직접 통합할 예정입니다. 그전에는 폴리브러시(베타)프로그리드를 에셋 스토어에서 무료로 다운로드하여 사용할 수 있습니다.

사용 방법

Unity 에디터에서 ‘Window’ 메뉴 > ‘Package Manager’를 선택합니다. ‘All’을 클릭하고, ‘ProBuilder’를 선택한 다음 ‘Install’을 클릭하면 됩니다.

자세한 내용은 도움말 문서프로빌더 시작하기 튜토리얼 시리즈를 확인하시기 바랍니다.

이미 패키지 중 하나를 구매하셨다면 관련 블로그 게시물의 ‘툴 사용 방법 및 로드맵 알아보기’ 섹션에서 자세한 내용을 확인할 수 있습니다.

 

코어 엔진

C# 잡 시스템, 엔티티 컴포넌트 시스템, 버스트 컴파일러

유니티는 새로운 고성능 멀티스레드 시스템을 통해 Unity의 핵심적인 요소를 새롭게 구축하고 있습니다. 병렬 코드를 작성할 수 있는 안전하고 간편한 샌드박스를 제공하는 새로운 C# 잡 시스템 덕분에 새 시스템에서는 골치 아픈 프로그래밍 없이도 게임에서 제공되는 모든 멀티코어 프로세서를 활용할 수 있습니다. 또한 엔티티 컴포넌트 시스템을 통해 적합한 성능의 코드를 기본 작성하고, 버스트 컴파일러를 통해 고도로 최적화된 네이티브 코드를 생성할 수 있는 새로운 모델이 도입되었습니다.

기본 성능 설정만으로도, 더욱 다양한 하드웨어에서 게임이 실행되게 할 수 있을 뿐만 아니라 더 많은 유닛과 복잡한 시뮬레이션을 포함하는 풍부한 게임 월드를 구축할 수 있습니다.

C# 잡 시스템

C# 언어로 매우 신속한 병렬화 코드를 작성하여 멀티코어 프로세서 활용 극대화

최신 하드웨어 아키텍처의 트렌드는 개별 코어의 처리 속도를 높이는 기존 방식에서 멀티코어를 통해 처리 능력을 높이는 방식으로 변화하고 있습니다. 이러한 흐름에 따라, 갈수록 발전하는 하드웨어의 프로세싱 성능을 완벽하게 활용할 수 있도록 C# 잡 시스템을 도입했습니다.

이제 C# 스크립트로 신속한 잡 시스템을 위한 코드(jobified code)를 작성할 수 있습니다. 이 시스템은 경쟁 상태(race condition) 및 교착 상태(deadlock) 등과 같이 멀티스레드를 사용할 때 발생할 수 있는 위험으로부터 보호할 수 있어 안전성도 높습니다.

전반적인 성능 향상

C# 잡 시스템은 특히 엔티티 컴포넌트 시스템(2018.1 프리뷰)과 새로운 버스트 컴파일러(2018.1 프리뷰) 기술과 같은 새로운 Unity 기능이 도입됨에 따라 전반적인 성능을 개선합니다. 이러한 시스템의 목표는 Unity의 근본적인 성능을 향상하고 기존 워크플로를 지원하면서 더 원활한 기술 전환을 실현하는 것입니다.

필요한 작업

Unity의 성능을 향상하기 위해서는 Unity에서 코드를 작성하는 방식을 다음과 같이 변경해야 합니다. 먼저 계산 과정에서 여러 메모리 위치에서 데이터를 직접 가져오는 대신 데이터를 읽어올 때 사용할 수 있는 정확한 선형 데이터 배열을 CPU에 전달하면 속도가 대폭 향상됩니다. 메모리를 적극적으로 관리하여 성능을 최적화할 수 있습니다. 또한, Unity의 API에 추가된 새로운 툴 세트를 활용하면 데이터 레이아웃과 메모리 관리 방식을 명확하고 세부적으로 관리할 수 있습니다

 

엔티티 컴포넌트 시스템(프리뷰)

엔티티 컴포넌트 시스템은 실제 해결 중인 문제, 즉 게임을 구성하는 데이터와 행동에 집중하는 코드를 작성하는 방식입니다.

엔티티 컴포넌트 시스템을 사용하면 디자인과 관련해서 더 나은 게임 프로그래밍 접근 방식을 시도할 수 있으며, Unity의 잡 시스템과 버스트 컴파일러와 함께 사용할 때 최신 멀티코어 프로세서를 최대한으로 활용할 수 있습니다.

유니티는 엔티티 컴포넌트 시스템을 통해 오브젝트 중심의 접근 방식에서 데이터 중심의 디자인으로 이동하고자 합니다. 이에 따라 코드 재사용이 더욱 쉬워지며, 다른 사람들이 더욱 쉽게 코드를 이해하고 작업할 수 있게 됩니다.

엔티티 컴포넌트 시스템은 2018.1 버전에서 프리뷰 패키지를 통해 제공되며, 이후의 2018.x 버전에서 지속적으로 새로운 버전이 개발되어 출시될 예정입니다.

버스트 컴파일러(프리뷰)

버스트는 Unity의 LLVM 기반 컴파일러로, .NET IL을 통해 새로운 연산 기반 백엔드 컴파일러 기술을 사용하여 기계어 코드를 작성합니다. 버스트는 C# 잡을 가지고 컴파일링 대상 플랫폼의 특화된 성능을 활용하는 매우 최적화된 코드를 생성해냅니다. 따라서 멀티 플랫폼에서 잘 조정된 어셈블러 코드의 많은 이점을 쉽게 활용할 수 있습니다.

버스트 컴파일러는 2018.1 버전에서 프리뷰 패키지로 제공되며, 이후 2018.x 버전에서 지속적으로 새로운 버전이 개발되어 출시될 예정입니다.

Unity에서 제공하는 성능 최적화를 집중적으로 다루는 이 세션에서는 C# 잡 시스템과 엔티티 컴포넌트 시스템 모두에서 사용 가능한 고성능 C# 스크립트를 제공하는데 초점을 맞춘 지속적인 개발 과제를 설명합니다.

 

또한 기능을 잘 사용할 수 있도록 지원하기 위해 C# 잡 시스템을 사용하여 대규모로 시스템을 작성하는 방법을 시연하는 예제는 C# 잡 시스템 사용 설명서에서 확인하실 수 있습니다.

엔티티 컴포넌트 시스템을 사용하여 구축하는 방법에 관한 자세한 내용은 엔티티 컴포넌트 시스템 샘플을 참조하시기 바랍니다.

에셋 임포트

지난 가을에 열린 Unite Austin 2017에서 유니티와 오토데스크는 Autodesk 3D 툴과 Unity 엔진 간에 보다 원활하게 연결되는 워크플로를 구축하기 위한 협업 파트너십을 발표했습니다.

이후 유니티와 오토데스크는 상호운용성을 향상하여 3dsMax/Maya/Unity 워크플로의 모든 단계에서 게임 개발자나 아티스트의 편의를 높였습니다.

유니티의 목표는 에셋 변경 사항을 안전하게 병합할 수 있는 편리한 인터페이스와 워크플로를 제공하여 아티스트가 작업을 이어갈 수 있게 하는 것입니다.

에셋은 서로 다른 애플리케이션 간에 이동하면서 편집되고 이름이 변경되기도 합니다. 이 과정에서 에셋의 본질이 변경되는 경우도 있습니다. 이제 Unity는 어떤 외부 애플리케이션을 통해서든 FBX에 수행된 변경 사항이 정보 손실 없이 원본으로 리매핑될 수 있도록 지원합니다.

이외에도 광원, 애니메이션(커스텀 프로퍼티 포함), 블렌드셰이프(실험 기능)와 관련한 파일을 주고받는 수정 작업의 워크플로와 통합 지원이 개선되었습니다.

캐시 서버 v6.0

이제 품질과 성능 개선을 위한 6개월간의 꾸준한 노력 끝에 탄생한 원격 캐시 서버 6.0 버전을 사용할 수 있게 되었습니다. 캐시 서버를 사용하면 로컬 머신이나 전용 로컬 영역 네트워크 서버에서 에셋 임포트 프로세스를 최적화하여 Unity를 사용하는 개발 작업을 가속화할 수 있습니다. 이러한 개선 사항을 통해 시간이 단축되며 개인과 팀의 개발 프로세스도 가속화됩니다. 지금 GitHub에서 원격 캐시 서버를 다운로드하시기 바랍니다.

에디터 전반

패키지 관리자 UI

패키지 관리자

유니티는 2017.2 버전에서 새로운 패키지 관리자(Package Manager)를 처음으로 소개했습니다. 패키지 관리자는 Unity 개발 기능과 사용자 프로젝트를 구성하는 에셋을 관리할 수 있는 더욱 유연한 모듈 단위 접근 방식입니다. 유니티는 이전 릴리스에서 API로만 제공된 이 툴을 Unity 2018.1 버전에서 새로운 패키지 관리자 사용자 인터페이스로 도입합니다. 새로운 패키지 관리자 UI를 사용하면 프로젝트를 더욱 효율적으로 시작할 수 있으며, 새로운 Unity 기능을 더욱 간편하고 원활하게 설치하고 업데이트하고 활성화할 수 있습니다.

Unity 패키지 관리자 UI에서는 프로젝트 관리 워크플로와 관련한 다음 측면이 개선되었습니다.

  • 새롭게 출시된 기능을 신속하게 사용: 사용하는 에디터 버전에 제공되는 기능 목록을 검색하고 클라우드에서 다운로드할 수 있습니다. 이렇게 하면 패키지가 즉시 자동으로 프로젝트에 포함됩니다.
  • 최신 수정 사항을 즉시 적용: 프로젝트에서 활성화한 패키지를 신속하게 확인하고 다운로드하고 업데이트할 수 있습니다.
  • 프리뷰 기능 사용: 여러 신규 Unity 기능을 ‘프리뷰’로 다운로드하여 최신 기술을 미리 접할 수 있습니다.
  • 경량 프로젝트를 손쉽게 공유: Unity 패키지는 설치된 기기의 전역 캐시에 저장되며, 프로젝트에서 바로 참조됩니다. 또한, 에디터가 필요한 패키지를 클라우드 저장소에서 페치하여 다운로드하므로 프로젝트를 공유할 때 패키지를 이동할 필요가 없습니다.

창(Window) 메뉴에서 패키지 관리자를 찾아 셰이더 그래프, 포스트 프로세싱, 프로빌더, 경량 렌더 파이프라인, 고해상도 렌더 파이프라인과 같은 기능을 설치할 수 있습니다.

어셈블리 정의에서 지정한 어셈블리 테스트

Unity는 관리되는 어셈블리에 스크립트가 컴파일되는 방식을 자동으로 지정합니다. 프로젝트에 스크립트를 추가할수록 Unity 에디터에서 반복 스크립트 변경에 소요되는 컴파일 시간이 증가하며, 이에 따라 컴파일 시간도 늘어납니다.

Unity 2017.3 버전에서 사용자가 폴더 내 스크립트에 기반하여 관리되는 어셈블리를 직접 정의할 수 있는 기능을 도입했습니다. 대형 프로젝트의 경우 프로젝트 스크립트를 여러 어셈블리로 분할하면 에디터의 스크립트 컴파일 시간이 대폭 단축됩니다. 각 관리되는 어셈블리는 Unity 프로젝트 내에서 단일 라이브러리와 같다고 생각하면 이해하기가 쉽습니다.

Unity 2018.1 버전에서는 실행할 때 어셈블리 정의 파일(asmdef) 어셈블리가 다른 스크립트(Assembly-CSharp.dll 및 관련 스크립트)보다 먼저 컴파일되며, 처음 컴파일 오류가 발생하더라도 컴파일이 중단되지 않습니다.

레퍼런스와 함께 성공적으로 컴파일된 asmdef 어셈블리는 그 외 스크립트(Assembly-CSharp.dll 및 관련 스크립트)를 컴파일하기 전에 로드됩니다. 이에 따라 Unity 패키지는 프로젝트 내의 다른 컴파일 오류 발생 여부와는 관계없이 항상 빌드되고 로드됩니다.

또한 사용자 프로젝트 설정을 수정하지 않아도 패키지에 플레이모드 테스트 어셈블리가 포함됩니다.

이전에는 사용자가 설정에서 플레이모드 테스트를 활성화해야 추가할 수 있었습니다. 이에 따라 어셈블리가 빌드에 등록되었으며, 보통 C# 개발자가 테스트용으로 지정된 프로젝트에 적용하는 것과는 달리 별도의 분리가 수행되지 않았습니다.

Unity 2018.1 버전에서는 어셈블리가 테스트 어셈블리를 참조하도록 표시할 수 있습니다. 이렇게 하면 이전 설정이 사용되는 경우를 제외하고 다른 어셈블리에서 테스트 어셈블리를 참조하지 않습니다(이전 버전과 호환 가능). 단, 사전 정의된 어셈블리도 테스트 어셈블리를 자동 참조하지 않습니다.

또한 새로운 빌드 옵션을 기본값으로 추가했습니다. 일반적인 빌드에서는 이러한 설정이 적용된 어셈블리를 빌드하지 않으며, TestRunner만 테스트 어셈블리를 포함하고 빌드합니다.

이 모든 기능 덕분에 설정을 활성화하지 않아도 프로젝트에서 테스트를 수행할 수 있습니다.

프리셋

프리셋은 해당 프리셋이 적용되는 에셋 유형과 프로퍼티 수정 사항(이름/값 페어) 목록을 포함하는 에셋입니다.

오브젝트 인스펙터의 UI나 공개 API 메서드를 통해 직렬화 가능한 오브젝트에 손쉽게 적용하거나 이러한 오브젝트에서 생성할 수 있습니다.

오브젝트는 적용된 프리셋으로 연결되는 링크를 저장하지 않으므로 프리셋을 적용한 이후에는 수정하더라도 아무런 부작용이 발생하지 않습니다.

새로운 프리셋 관리자를 통해 각 오브젝트 유형에 단일 프리셋이 기본으로 등록되어 있을 수 있습니다. Unity 에디터에서 오브젝트가 생성되면 해당 오브젝트의 기본 프리셋이 자동으로 적용됩니다. 기본 프리셋을 변경하더라도 기존 오브젝트에는 영향을 미치지 않습니다.

프리셋은 에디터에만 존재하며, 런타임 API는 변경되지 않습니다.

프리셋은 임포트 직전에 프리셋을 설정하는 API 후크 및 에디터 코드에서 기본 프리셋이 포함된 오브젝트를 생성할 수 있도록 하는 새로운 오브젝트 생성 API를 노출합니다.

 

서브스턴스용 빌트인 지원 제외

지난 2017년 12월에 발표한 바와 같이 Unity 2018.1 에디터에서 서브스턴스 디자이너 머티리얼의 임포트를 위한 빌트인 지원이 제외됩니다. 서브스턴스를 포함하는 방법은 여기에서 확인하실 수 있습니다.

시네머신과 타임라인

타임라인 개선 사항과 편집 모드

2018.1 버전에는 타임라인과 관련한 여러 개선 사항이 추가되었습니다. 타임라인 키보드 내비게이션에서는 탭과 화살표 키를 사용하여 손쉽게 트랙을 접거나 펼치는 토글 기능이 포함되어 더 편리하게 작업할 수 있습니다.

또한 손쉬운 확대/축소를 통해 타임라인 트랙의 개요를 파악할 수 있는 새로운 타임라인 줌(Timeline Zoom) 바가 추가되었습니다.

 

그리고 타임라인에 편집 모드가 도입되었습니다.

클립을 조정할 때 줌 기반의 스냅 동작을 사용하면 인접한 클립이 붙어 있는 상태에서 조정할 수 있습니다. 클러치 키(Ctrl)를 사용하여 에지 마그넷 동작을 해제함으로써 블렌딩 효과를 낼 수도 있습니다. 이렇게 하면 이동된/잘라낸 클립이 에지 마그넷의 방해를 받는 일 없이 인접한 클립과 블렌딩됩니다.

다음의 세 가지 모드를 사용할 수 있습니다.

  • 믹스 모드(Mix mode): 이 모드를 사용하면 두 클립을 블렌딩하여 전환을 생성할 수 있습니다. 이 모드는 지금까지의 타임라인 작동 방식이자 기본 편집 모드입니다.
  • 리플링 모드(Rippling mode): 이 모드를 사용하면 기존에 클립을 포함한 트랙에 새 머티리얼을 위한 공간을 만들어 추가 클립을 삽입할 수 있습니다.
  • 교체 모드(Replace mode): 이 모드를 사용하면 기존 트랙의 클립을 덮어씀으로써 타이밍을 유지하면서 머티리얼을 업데이트할 수 있습니다.

새로 추가된 세 개의 버튼을 사용하여 원하는 모드를 선택할 수 있습니다. 

시네머신 개선 사항

2018.1 버전의 시네머신에는 시네머신 스토리보드를 비롯한 여러 개선 사항이 적용되었습니다. 시네머신 스토리보드를 사용하면 타임라인에서 시네머신 클립의 기능으로 스토리보드의 타이밍과 기본 애니메이션을 설정할 수 있습니다. 이러한 기능은 제작 과정 전반에 걸쳐 스토리텔링 프로세스에서 사람들이 Unity를 사용하도록 유도합니다.

보드의 속도를 측정하고, 크로스 페이드를 실행하고, 기본 줌과 ‘켄 번즈(Ken Burns)’ 스타일의 움직임을 구현할 수 있습니다.

스토리를 탄탄하게 구성하고 타이밍과 샷을 원하는 방식대로 적용하고, 오디오를 추가하여 사실감을 더하고 스토리를 생생하게 표현할 수 있습니다. 모든 준비가 완료되었으면 편집을 방해하지 않으면서 하나의 버튼을 사용하여 스토리보드와 시네머신 카메라를 오갈 수 있습니다.

다른 툴에서 스토리보드와 이전 편집 내용을 실행할 필요 없이 Unity에서 모든 작업을 할 수 있습니다.

이외에도 패키지 관리자 통합, 카메라 흔들기 시스템, 커스텀 카메라 블렌드 커브 등의 다양한 업데이트가 적용되었습니다.

스크립팅

MonoDevelop 제외

유니티는 새로운 C# 기능과 함께 사용할 수 있는 효과적인 C# IDE 경험을 제공하는 것을 중요하게 생각합니다. 따라서 macOS의 새로운 .NET 4.6 스크립팅 런타임에서 최신 C# 기능과 C# 디버깅을 지원할 수 있도록 지난 1월에 발표한 대로 Unity 2018.1 버전부터 MonoDevelop-Unity 5.9.6을 Mac용 Visual Studio로 대체합니다. 이에 따라 Unity에서 (현재 시험적으로 적용 중인) .NET 4.6 스크립팅 런타임 업그레이드를 진행하면서 C# 6.0 이상에서 제공되는 다수의 새로운 C# 기능 지원이 더욱 원활해집니다.

Windows용 Unity에서는 계속해서 Visual Studio 2017 Community를 제공합니다. Visual Studio Community는 이미 새로운 NET 4.6 스크립팅 런타임에서 최신 C# 기능과 C# 디버깅을 지원하고 있습니다. MonoDevelop-Unity 5.9.6의 기능 지원이 중단됨에 따라 Unity 2018.1 Windows 설치 프로그램에서도 제외됩니다.

또한 Visual Studio Code도 Unity와 확장 기능을 지원하여 IntelliSense 및 Unity C# 프로젝트 디버깅에 필요한 Unity 디버거 확장 기능을 제공합니다. 자세한 내용은 VS 코드를 사용한 Unity 개발을 참조하시기 바랍니다. 유니티 블로그 게시물에서 VS 코드를 사용한 개발에 대한 상세한 내용 및 대체 IDE에 대해 알아보실 수 있습니다.

유니티는 항상 사용자의 의견에 귀를 기울이고 있습니다. Visual Studio 관련 문제나 Visual Studio와 Unity 통합 관련 문제로 어려움을 겪고 계시다면 https://developercommunity.visualstudio.com/을 통해 알려주시기 바랍니다.

Windows 스탠드얼론 및 macOS 스탠드얼론을 위한 IL2CPP 스크립팅 백엔드 지원 추가

Unity 2018.1 버전에서 Windows 스탠드얼론 및 macOS 스탠드얼론을 위한 IL2CPP 스크립팅 백엔드 지원이 추가되었습니다. 이로써 Mac/OSX 스탠드얼론 및 Windows 스탠드얼론 플레이어에서 IL2CPP에 대한 CPU 속도를 개선하고, 타사 DRM 기술을 활용하여 애플리케이션 코드 보안을 향상할 수 있습니다.

스크립팅 업그레이드 .NET 4.x

Unity 2018.1 버전에서 새로운 스크립팅 런타임이 정식으로 도입되었습니다. 이전에 Unity 2017.1 버전에서 안정적인 스크립팅 런타임을 프리뷰 버전으로 처음 제공했습니다. 2017.2 및 2017.3 버전에서 많은 Unity 사용자들이 이 실험적인 스크립팅 런타임을 사용해보고 귀중한 의견을 전달해 주셨습니다. (이 자리를 빌어 모두에게 감사드립니다!) 또한 Microsoft Mono 팀과 Visual Studio 팀의 유능한 개발자들과 긴밀하게 협업하여 문제를 해결하고 버그를 수정한 결과, 최신 스크립팅 런타임의 안정성이 강화되었으며 광범위하게 사용할 수 있게 되었습니다.

업그레이드된 컴파일러와 런타임을 통해 모든 플랫폼에 걸쳐 안정성 및 디버깅 성능이 개선되었으며 최신 .NET 아키텍처에 동등하게 적용할 수 있게 향상되었습니다. 예를 들어, C# 6과 새로운 .NET API 덕분에 Unity에서 최신 .NET 라이브러리와 툴을 사용할 수 있습니다.

Standard 2.0 .NET 지원 및 새로운 ‘Unity’ 프로필

새 스크립팅 런타임에서는 .NET 4.x.NET Standard 2.0의 두 가지 프로필을 사용할 수 있습니다. 두 프로필 모두 .NET Standard 2.0을 지원하므로 최신 크로스 플랫폼 라이브러리를 사용할 수 있습니다. .NET Standard 2.0 프로필은 작은 빌드 크기, 크로스 플랫폼 지원, AOT(ahead-of-time) 컴파일에 최적화되어 있습니다. .NET 4.x 프로필은 더욱 폭넒은 API를 제공하며 이전 버전과의 호환성에 주력합니다.

Resonance Audio: 모바일 및 데스크톱용 입체 음향

Unity 2018.1 버전에 완전히 통합된 Google의 입체 음향 SDK인 Resonance Audio를 활용하여 모바일과 데스크톱에서 더욱 사실적인 VR 및 AR 경험을 구현할 수 있습니다. 이제 Unity 에디터에서 Resonance Audio를 사용하면 Android, iOS, Windows, MacOS, Linux를 위한 XR, 3D, 360도 비디오 프로젝트에서 아주 높은 정확도로 수백 개의 동시 3D 음원을 렌더링할 수 있습니다.

최근에 제작된 Made with Unity 게임의 예시로는 Gear VR용으로 제작된 Pixar의 Coco VR, Android 및 iOS용으로 제작된 Disney의 Star WarsTM: Jedi Challenges AR 앱, Daydream용으로 제작된 Runaway의 Flutter VR 등이 있습니다.

이 릴리스에는 새로운 네이티브 멀티플랫폼 XR API가 추가되어 핸드헬드 AR SDK를 통한 추상화를 1차적 목표로 하는 광범위한 프레임워크의 기초를 제공합니다. 네이티브 멀티플랫폼 AR API는 개발자가 핸드헬드 AR 앱을 한 번의 개발만으로 여러 기기용으로 배포할 수 있게 디자인되었습니다. 이 API에 기능이 추가되면서 Bitbucket의 ARKit 플러그인 및 GitHub의 ARInterace 프로젝트(실험 기능)를 제외할 예정입니다. 핸드헬드 AR SDK 지원은 에디터에서 프리뷰 패키지로 제공됩니다.

Magic Leap

Magic Leap을 살펴보고자 하는 모든 제작자 분들께 Magic Leap 크리에이터 포털에서 Magic Leap용 Unity 프리뷰와 Lumin SDK를 확인해 보시기를 추천해 드립니다.

2018년에 출시되는 Magic Leap One™, Creator Edition은 Magic Leap 플랫폼에서 경험을 구축하고자 하는 디자이너와 개발자를 위한 플랫폼입니다

 

Magic Leap 기술 프리뷰는 이 새로운 플랫폼을 미리 체험해보고 싶은 분들을 위한 프리뷰로, 2018.1 기능 외에도 빌드 창 아래에 Magic Leap의 Lumin OS를 대상으로 하는 새로운 플랫폼을 포함합니다. Lumin SDK와 이 프리뷰를 함께 사용하면 Magic Leap Zero와 Magic Leap Remote에 액세스하여 하드웨어 플랫폼을 시뮬레이션할 수 있습니다. 자세한 내용은 여기에서 확인하실 수 있습니다.

Daydream 스탠드얼론 VR 헤드셋

Unity 2018.1 버전은 Worldsense 기술이 적용된 Google의 Daydream 스탠드얼론 VR 헤드셋을 지원하여 Daydream 앱에 완전한 6개의 자유도(6DoF) 트래킹 지원을 제공합니다. 지금 이 기능을 사용하여 빌드해서 올해 하반기에 출시되는 하드웨어에 미리 대비하시기 바랍니다.

Unity용 ARCore 1.1

개발자 프리뷰를 마치고 정식 기능으로 출시된 ARCore를 사용하여 Google Play를 사용하는 1억 개 이상의 Android 기기를 대상으로 고품질 AR 앱을 만들 수 있습니다. Unity용 ARCore 1.1은 검출된 특징점(feature points) 주변의 표면에 캔, 상자, 책과 같은 가상 콘텐츠를 배치할 수 있는 새로운 기능인 지향 특징점(oriented feature points)을 사용할 수 있어 씬의 환경을 더욱 정확하게 파악할 수 있습니다. 또한 ARCore 인스턴트 프리뷰를 통해 거의 실시간으로 AR 앱을 테스트하고 반복할 수 있습니다. ARCore가 Unity 2018.1에 제공하는 기능에 대해 자세히 알아보시기 바랍니다.

ARcore 인스턴트 프리뷰: 데이터를 기기에서 Unity 에디터로 스트리밍하여 게임 창에 표시하기

 

지향 특징점: 벽면에 박힌 두 개의 가상 금속 막대를 반대쪽에서 살펴보기

 

스테레오 360도 이미지/비디오 캡처

360도 비디오 예고편을 통해 기교를 뽐내 보려는 VR 개발자이든, 몰입감 있는 시네마틱 단편 영화를 제작하고자 하는 감독이든, 모든 제작자의 워크플로가 더 간결해집니다. Unity의 새로운 양안 360도 이미지 및 비디오 캡처 기술을 활용하면 몰입도 높은 경험을 rngudgkdu YouTube, Within, Jaunt, Facebook 360, 또는 Steam 360 Video 등의 플랫폼을 통해 수많은 사람들과 공유할 수 있습니다.

기기에 구애받지 않는 Unity의 스테레오 360도 캡처 기술은 스테레오 큐브맵 렌더링을 사용하는 Google의 ODS(Omni-Directional Stereo) 기술을 기반으로 합니다. 유니티는 Unity의 그래픽 파이프라인에서 Unity 에디터와 PC 스탠드얼론 플레이어를 통해 스테레오 큐브맵 렌더링을 기본으로 지원합니다. 스테레오 큐브맵이 생성되면 큐브맵이 360도 비디오 플레이어에서 사용되는 투영 형식인 스테레오 등장방형(equirectangular) 맵으로 변환됩니다.

스테레오 360도 캡처는 포워드 및 디퍼드 라이팅 파이프라인에서 스크린 공간과 큐브맵 그림자, 스카이박스, MSAA, HDR, 새로운 포스트 프로세싱 스택과 함께 작동합니다.

자세한 정보는 이 블로그 게시물을 참조하시기 바랍니다.

실험적인 기능인 스테레오 360은 단안 또는 양안 360도 이미지를 큐브맵 이미지로 캡처할 수 있게 지원하며 에디터에서 런타임 시점에 작동합니다.

 

플랫폼

Android ARM64(프리뷰)

Unity 2018.1 버전에서 IL2CPP 기술에 기반한 Android용 ARM64 비트 런타임 지원이 추가되었습니다. 현재는 Anroid용 32비트 ARM 또는 x86 빌드만 제작 가능합니다. 거의 모든 칩셋이 64비트를 지원함에도 불구하고 지금까지 그 이점을 충분히 활용하지 못했습니다. 새로운 64비트 Android 앱 실행 지원이 추가됨에 따라 성능이 향상되고 4GB 이상의 게임 메모리 공간을 활용할 수 있습니다.

비(非)VR 애플리케이션용 Android 지속 성능 모드

Android 지속 성능 모드(Sustained Performance Mode)를 사용하면 기기의 서멀 스로틀링 기능 없이 오랫동안 예측 가능하고 일관적인 기기 성능 수준을 유지할 수 있으며, 약간의 성능 저하를 감수하는 대신 배터리 사용 시간을 늘리고 원활한 사용자 경험을 제공할 수 있습니다. Goolge의 지속 성능 API(Sustained Performance API)에 기반하는 이 설정은 VR 애플리케이션에는 이미 제공되고 있으며, 이제 VR이 아닌 일반 애플리케이션에서도 사용할 수 있습니다.

 

퍼포먼스 리포팅

Unity Plus와 Unity Pro에서 제공되는 퍼포먼스 리포팅(Performance Reporting)이 MacOS와 모바일 플랫폼(iOS, Android)뿐만 아니라 Windows 데스크톱에서도 지원됩니다. 이제 유니티 개발자 대시보드에서 Windows의 네이티브 크래시 보고를 살펴보고 디버그할 수 있습니다. 또한 보고서 관리와 보고서 조회를 비롯하여 작업이 잦은 프로젝트의 성능을 더 잘 관리할 수 있도록 대시보드에 새로운 기능을 업데이트할 예정입니다.

 

릴리스 노트

새로운 기능, 개선 사항, 수정 사항을 모두 확인하려면 릴리스 노트를 참조하시기 바랍니다. 또한 유니티 포럼을 이용하여 의견을 공유해 주시기 바랍니다.

 

2018.1: 새로운 릴리스 방식인 2가지 스트림 소개

유니티는 지난 GDC에서 테크 스트림(TECH stream)과 LTS 스트림(Long-Term Support stream)이라는 새로운 Unity 릴리스 계획을 발표했습니다. 테크 스트림은 일년에 3번의 주요 릴리스로 구성되며 새로운 기능을 제공합니다. LTS 스트림은 매년 마지막 테크 스트림에서 이어지며 다음 해까지 연장 지원됩니다.

테크 스트림과 LTS 스트림은 1년 동안 각 릴리스를 모두 지원하는 현재의 방식과 크게 다릅니다. 이제부터 각 릴리스에 대한 지원은 다음과 같은 방식으로 변경됩니다.

이전 테크 릴리스에 대한 지원은 다음 테크 릴리스가 출시되는 즉시 종료됩니다.
LTS 릴리스는 총 2년 동안 지원됩니다.

릴리스 방식이 어떻게 달라졌는지를 좀 더 구체적으로 살펴보면 다음과 같습니다.

릴리스가 4회에서 3회로 변경: 4회 제공되던 이전 릴리스 방식이 연간 3회의 테크 스트림으로 변경됩니다.

첫 번째 테크 릴리스는 봄에 출시: 매년 테크 스트림은 봄에 시작되며 올해 첫 출시된 릴리스는 2018.1이었습니다. 이후 여름과 가을에 각각 한 번씩 더 테크 릴리스가 출시됩니다.

버그 수정 빈도: 테크 스트림은 1주 간격으로, LTS 스트림은 2주 간격으로 버그 수정이 포함된 릴리스가 배포됩니다.

패치에서 업데이트로 변경: 릴리스를 테스트하는 방법이 개선되었기 때문에 모든 사용자에게 적합할 것으로 판단하여 이제 매주 배포하는 패치에서 .p# 접미사가 삭제됩니다.

새로운 스트림의 실제 운영 방식

첫 번째 LTS 릴리스는 2017.3의 최신 업데이트 버전인 2017.4입니다. 버전 번호가 “xxxx.4″로 바뀌는 것은 새로운 LTS 주기가 시작되었음을 나타냅니다. 즉, xxxx.1, .xxxx.2, xxxx.3은 테크 릴리스이고, xxxx.4는 LTS 릴리스입니다.

테크 스트림과 LTS 스트림은 정기적으로 업데이트되며, 업데이트 버전이 배포될 때마다 버전 번호도 계속해서 변경됩니다. 예를 들어, 2017.4.0 다음에는 2017.4.1, 그 다음에는 2017.4.2, 그 다음에는 2017.4.3 등과 같이 버전 번호가 바뀝니다.

아래의 그림은 새로운 스트림 시스템이 운영되는 예를 보여줍니다. 파란색 상자는 테크 스트림을, 초록색 상자는 LTS 스트림을 나타냅니다.

LTS에 대한 이해를 돕기 위해 자주 묻는 질문에 대한 답변을 수록한 블로그 게시물을 작성했습니다.

2018.1 베타 테스트에 도움을 주신 모든 분께 감사드립니다

베타 테스트에 참여하여 2018.1 버전을 출시할 수 있게 도와주신 모든 분께 감사의 말씀을 전합니다. 가장 먼저 Unity 2018.1의 새로운 기능을 사용해보고 유용한 피드백을 남겨주셔서 감사합니다.

2018.1 경품 당첨자 정보

모든 베타 2018.1 경품에 당첨되신 분들께는 별도로 연락드렸으며, 몇 주 이내에 당첨자 분들께 경품을 발송해 드리겠습니다.

2018.2 베타 참여

아직 베타 테스터가 아니라면 새로운 버전의 베타 테스트에 참여해 보시기 바랍니다. 최신 기능을 미리 사용해보고, 프로젝트가 새로운 베타 버전에서도 잘 호환되는지 확인해 볼 수 있습니다. 베타 테스터가 되시면 다음과 같은 혜택이 있습니다.

  • 공식 출시 전에 최신 기능 사용
  • 호환성을 테스트하여 프로젝트 업그레이드 준비
  • 전문가 및 유니티 커뮤니티의 베테랑들과 정보 공유
  • 베타 테스터 자격으로 경품 추첨에 자동 응모하여 다양한 경품에 도전
  • 설문 조사와 피드백 제공을 통해 유니티의 방향성을 결정하는 데 참여하고 모임에 초청될 기회 획득
  • 할인 및 특별 행사 초청 등의 전용 혜택을 받는 엘리트 그룹에 포함

유니티는 베타 버전에 대한 설문 조사 응답 데이터를 면밀히 검토한 결과를 바탕으로 다양한 혁신과 새로운 시도를 이어가기 위해 노력하고 있습니다. 이를 위해 더욱 체계적인 오픈 베타 방식을 확립하고 신속한 QA 절차를 마련할 예정이며, 궁극적으로는 한층 완성도 높은 최종 제품을 만들 수 있도록 지원할 계획입니다.

최신 베타 버전을 다운로드하여 사용하실 수 있습니다. 새로운 기능을 미리 체험해 보고, 버그 발견 시 신고를 통해 Unity 소프트웨어의 품질을 높이는 데에도 기여하실 수 있습니다.

먼저 효과적인 베타 테스터가 되는 방법에 대한 가이드에서 개요를 살펴보시기 바랍니다. 뉴스레터를 구독하면 베타 버전 관련 소식, 사용 방법 및 팁과 관련된 내용을 이메일로 받아보실 수 있습니다.

 

54 코멘트

코멘트 구독

코멘트를 달 수 없습니다.

  1. Everything that matters are in preview yet.
    After the update my project was broken, It makes my PC works too much that I can’t do anything more during buildings..
    I’m losing a lot of time waiting for the full stable version..
    Until there, my unity project will keep in the fridge.

  2. Impressive amount of additions! I wish Linux ARM support was there too. Hopefully someday…

  3. Hi

  4. When can we expect support for VR with the HDRP?

  5. Looks like the best Unity upgrade to date!

  6. Fantastic job, folks! Especially on 2D. Looking forward to more 2D features in the future.

  7. After switching to 2018 stable, my game began to lag very terribly. Physics2D began to show spikes, ~15FPS. After rolling back to 2017 LTS, everything came back to normal ~50-60FPS. So don’t hurry to switch your main projects to 2018.

    1. This is the first time we’ve heard of such an issue. Would you mind producing a bug report with a simple reproduction case so we can figure out what is wrong? Also, could you look at the profiler to see where the time is going? Feel free to contact me directly on the forums.

  8. what is the water used in 2018.1 video, lightweight render pipeline ? is this an asset or an example we can download ?

  9. With upgrading to .Net 4.x, LLVM backend and “data-oriented design” any chances getting F# support in near future? I would be so excited to use this powerful, yet concise, language in my projects without getting headache of scripting the whole build process ground-up myself.

  10. Would the ProBuilder stuff be retro compatible with 5.6? Mostly interested in the runtime functionality.

    1. Charles Beauchemin

      5월 4, 2018 1:43 오전

      Unfortunately, the package manager is not compatible with 5.6. You can find ProBuilder on the Asset Store although it won’t contain all the latest functionalities being developed.

  11. I can´t find 2D SpriteShape Preview (package) and 2D SpriteShape Preview (package) to install in Package Manager … Where they are ???

    1. Charles Beauchemin

      5월 3, 2018 4:37 오후

      Please check our forum post here: https://forum.unity.com/threads/spriteshape-preview-package.522575/
      The 2D packages are on a staging registry and need a specific line to your project manifest.json.

  12. Ok question.
    C# Job System: I don’t understand if this will change my current code/the way I write simple code…
    Can I continue to create class where I write my code in Awake, Start, Update etc…?
    A simple example of how this will change my default way of coding would be great (the video example is not basic). Also I like to let Unity think about the memory management and I don’t need triple A performance… Can I just ignore it?
    Sure if I really need to create something that need performance I will like to give the new Job System a try… But right now I just want to know if I need to rewrite lot’s of my current code or this is only something for advanced performance.

    1. You’re absolutely free to ignore the Job System if you don’t think you need to use it :)

      1. Thank you.
        I like optional feature, I will use it when I need to generate multiple object of the same type.

  13. I hope there’s a big promotion, but it doesn’t work at the moment. I’m looking forward to a high picture, a good picture… I hope that the function is becoming more and more powerful…

  14. I‘m impressed. I briefly tried it and it is a big step in the right direction. I especially love the new Postprocessing Stack and the new real-time lights. And the unified material- and light rendering is great too. Now it‘s actually fun to work with Unity as an artist.
    Awesome job!

  15. Is there any information that can be released on upcoming multiplayer improvements?

  16. Shader graph is still not working in HD render pipeline : /

  17. So Shader Graph is still unusable in HD Render Pipeline? I still got pink shader ball with new created Shader Graph in Unity 2018.1.0f2.

  18. Now we have basic 3d modeling, sculpting and painting directly in the editor. Also, we have 2d rigging. So can we expect 3d rigging in Unity, to complete 3d assets prototyping (and not only prototyping) workflow in the editor?

  19. Just installed 2018.1. few questions:
    1) Since .NET 4.x is not live why isn’t it the default scripting back-end. It seems unintuitive to change it from 3.5 to 4.x
    2) I created a standard 3D project and noticed that Progressive lightmapper is the default lightmapper. Is that the recommended lightmapper now? I thought it is mainly for baked lighting etc (mobile friendly) but it seems to be the default for PC standalone as well. My apologies, I am not a lighting expert, so this is mainly an informational question.
    3) From the release notes above, the Shader Graph and Post Processing V2 are not labeled as Preview (as oppose to the other Preview features) however when I opened the Package manager , they were marked as Preview. You might want to update the release notes so people know these are still in preview.

  20. These are some very fine release notes. Nicely presented with lots of screenshots and videos. Just great, thanks!

  21. Just a quick tip: If you use the templates that come with 2018.1, they presently dont give you the latest versions of post-processing & render pipeline packages that you can already get manually using the Package Manager UI. Apparently this is because the templates went through QA with earlier versions of these packages, but there are quite a lot of fixes in newer versions of these packages so this is something to watch out for.

    1. Charles Beauchemin

      5월 2, 2018 8:15 오후

      Thanks for this valuable contribution Steve!
      For more details on the scriptable render pipelines, please go to this forum: https://forum.unity.com/forums/graphics-experimental-previews.110/

  22. When will the handheld AR SDK’s be available in the package manager, as mentioned in this article?

    1. Charles Beauchemin

      5월 2, 2018 8:11 오후

      Soon! :-)

  23. How can we get ECS to work? I tried setting the .NET framework to 4.6, but Visual Studio tells me that I don’t have the 4.6 .NET installed on my pc. Updating VS to the newest version didn’t help either.

    1. Charles Beauchemin

      5월 2, 2018 8:04 오후

      Please go to our Entity Component System and C# Job System forum to get some assistance.

  24. Only good things ahead for Unity! Really looking forward to the reworked and harmonized input system and the nested prefab development.

  25. How to change installation folder of VS 2017?

    1. Charles Beauchemin

      5월 2, 2018 8:03 오후

      For now, you need to use the installer for VS2017 to do that. We are looking at providing this option in our installer as well.

  26. When will the handheld AR SDK’s be available in the package manager, as mentioned in this article?

    1. Charles Beauchemin

      5월 2, 2018 8:06 오후

      It is coming soon

  27. Integrated slate editor for shaders.. bout dang time.

  28. When upgrading an existing project to LW RP, is it possible to completely remove lighting for optimization purposes? My game already has zero lights, zero ambient, etc. And if so, could this technique be applied to only certain scenes?

    1. If your goal is optimization, you can probably do even better than LW – you can write your own completely custom RenderPipeline that strips lighting support out entirely.

      1. Ippokratis Bournellis

        5월 3, 2018 10:24 오전

        So there is some documentation, some examples on how to write the rendering pipeline now ? Have you or someone else you know actually tried to implement one and found the pipeline to be bug-free enough to use it ? The scriptable rendering pipeline sounded promising when it was announced two years ago, it would be great to see it working, documented, with examples. Congrats for the release.

  29. awesome!!!

  30. I feel like Unity 2018.1 shouldn’t have come out of beta yet. It doesn’t seem ready.
    – The package manager just makes things confusing. I feel the question ‘Is it on the Asset Store or Package Manager?’ will become common. The package manager and Asset Store should be merged together somehow.
    – The tools Unity have aquired from the Asset Store do not feel like ‘part of Unity’. It is like Unity have failed in making some new good features so buy stuff they can add from the Asset Store to make it look like they’ve done something.
    – Templates I don’t see the point in. Having example projects for different setups is nice but I only need to see them once as a reference. Not every time I create a new project. The word ‘template’ would suggest a good base for a project not a load of assets which you import and immediatley delete.
    – The Unity Hub is nice but not useful yet. There are a lot of features they could have easily added like project grouping which I would have expected to be in the initial release. It also doesn’t work with older versions of Unity which is the exact reason a lot of people like Asset Store developers need it.
    – And last but not least the new Render Pipelines shouldn’t be in a full Unity release yet. I know they are still in ‘preview’ but they should have been left in beta. HD is still unusable in a production enivronment as nothing supports it a the moment. Documentation is still lacking. Lightweight isn’t lightweight enough in my opinion.

    1. Charles Beauchemin

      5월 2, 2018 4:15 오후

      Hi Vince,
      Thanks for expression your opinion. Here are a few things you might be interested to know:
      1- Package Manager: the new package manager will eventually replace the old package format and the Asset Store will handle both at some point. We are proceeding one step at a time and we take all the feedback from our users and package developers as we go.
      2- Tools: the tools we acquired, like TextMesh Pro, as slowly morphing to become more integrated with Unity. During 2018.2 lifecycle, for example, you will see a TextMesh Pro UX refactor take place. Probuilder and others are also going this way.
      3- Templates: the templates are more than just importing some assets, they also change some settings for people wanting to create a project for a specific target or game genre. As we go, you will see more templates available and each one will ease the project creation.
      4- Hub: the Unity Hub is currently used by 26k weekly users and we didn’t deprecate any workflow for users that prefer not to use it. If you have feedback to give to the team, feel free to post on our Hub Preview forum.
      5- Render Pipelines: the scriptable render pipelines are still in preview and you can provide the graphics’ team feedback on our forums.
      I hope this helps you understand our decisions.

      1. Hello Charles, is there support for Tree Creator trees and Terrain for HDRP?

    2. Are you kidding? Unity Hub rocks! You can easily open many instances of the same version of unity to have several projects side by side, and projects open automatically in the correct version of Unity. It’s great. I love it.

    3. I disagree with the asset store and package manager being confusing. Package manager has core engine features, asset store has add-ons. Simple.

      I would rather have free, Unity provided assets that are not fully integrated than wait for the full integration, I don’t care that they don’t “feel” like they are a part of Unity yet.

      Don’t like the idea of using templates? No problem, create an empty project instead (duh).

      I don’t know, the Unity Hub is useful for us, and we’ll know additional features will get added in the future.

      If lightweight isn’t lightweight enough for you, go make a custom render pipeline that meets your own expectations on what lightweight is, nobody is preventing you from doing that.

      1. OMG I love your reply XD Some just whine because they can’t do anything else. If you don’t like something, DONT USE IT! -_- ITS THAT EASY! :b

        1. Can I make games with Unity game engine for Xbox ? Do I need any permission from https://xboxsupport.org/
          ?

        2. It should be possible if you join the Xbox Live Creators Program. It’s not exactly the same as a ‘regular’ release on Xbox One, but it allows the use of the Xbox One in Dev Mode so you can test it. Read more here: https://www.xbox.com/en-US/developers/creators-program

  31. Mylk The Funky Homosapien

    5월 2, 2018 2:24 오후

    Any differences between this version and the first Release Candidate?

    1. Four fixes – you can see them at the very end of the release notes page (https://unity3d.com/unity/whats-new/unity-2018.1.0).