Search Unity

Unity 2018.1은 그 핵심에 두 가지의 혁신적인 기능을 선보이며 새로운 주기의 시작을 알렸습니다. 이와 함께 스크립터블 렌더 파이프라인(SRP, Scriptable Render Pipeline)과 셰이더 그래프(Shader Graph)를 통해 아티스트와 개발자의 권한을 강화하는 한편 C# 잡 시스템(C# Job System), 버스트 컴파일러(Burst Compiler) 및 ECS를 통해 골치 아픈 프로그래밍 작업 없이도 멀티코어 프로세서의 장점을 십분 활용할 수 있도록 했습니다. Unity 2018.2에서는 이러한 혁신적인 기능과 더불어 몇몇 새로운 기능을 선보였습니다. 이번 블로그에서는 2018.2 버전의 가장 핵심적인 업데이트를 개괄적으로 살펴보고자 합니다.

Unity 2018.2는 여기 또는 Unity 허브에서 다운로드할 수 있습니다.

Unity 2018.2의 목표 중 하나는 SRP(Scriptable Render Pipelines, 스크립터블 렌더 파이프라인)의 성능을 강화하여 한 차원 높은 렌더링 수준을 실현하는 것입니다. 모바일 분야에서도 성공적인 작업을 지원할 수 있도록 다양한 기능을 개발하고 개선하는 것 역시 이번 버전의 주안점 중 하나입니다. 2018.2 버전에 대한 세부적인 사항을 다루기에 앞서 이와 같은 두 가지 목표 영역과 관련하여 지금까지 진행되어 온 내용을 간단하게 살펴보고자 합니다.

Unity 2018.2는 LWRP(Lightweight Render Pipeline, 경량 렌더 파이프라인)의 성능을 최적화하고 HDRP(High Definition Render Pipeline, 고해상도 렌더 파이프라인)를 강화하여 최고의 그래픽 품질을 구현합니다. Unity 2018.2에서는 이 두 파이프라인을 모두 지원하는 셰이더 그래프의 성능을 높이는 등 다양한 부문에서 개선이 이루어졌습니다(현재 LWRP와 HDRP 모두 프리뷰로 제공).

또한 모든 iOS와 Android, Windows, MacOS, UWP와 PS4에서 IL2CPP에 대한 관리되는 코드 디버깅 지원을 추가했으며, LWRP에 모바일 최적화 기능을 일부 추가했습니다.

Android 프로젝트에 대해서는 64비트(ARM64) 지원이 최종 출시되어 이제 미리 라이브러리를 만들지 않고도 사용자가 Unity 플러그인 폴더에 직접 자바 코드를 추가할 수 있습니다.

마지막으로 벡터 그래픽스 임포터(Vector Graphics importer) 및 픽셀 퍼펙트(Pixel Perfect) 등 몇 가지 새로운 2D 기능을 프리뷰 패키지로 이용할 수 있습니다. 벡터 그래픽스 임포터를 사용하면 SVG 그래픽스 작업이 용이하며, 픽셀 퍼펙트를 사용하면 다양한 기기의 서로 다른 해상도에서 완벽한 레트로 룩을 손쉽게 구현할 수 있습니다.

지금부터 이번 릴리스에 도입된 모든 항목을 차근차근 훑어 보겠습니다.

Unity 2018.2 새로운 기능

모든 세부 사항 소개

그래픽스

SRP 성능 개선

2018.1에서 선보인 SRP(프리뷰)를 통해 아티스트 및 개발자가 새로운 렌더링 파이프라인을 사용할 수 있게 되었습니다. 이번 릴리스에는 다음과 같은 SRP 업데이트가 적용되었습니다.

SRP 배처

CPU 렌더링 속도 개선

SRP 배처(SRP batcher)는 Unity의 새로운 엔진 내부 루프로, GPU 성능 저하 없이 CPU 렌더링 속도를 개선하며 레거시 SRP 렌더링 코드를 대체합니다.

PBR(Physically Based Rendering, 물리 기반 렌더링)을 사용하는 게임 중 다수는 오브젝트별 머티리얼에 대해 동일한 셰이더와 키워드를 공유하는 여러 오브젝트와 메시를 포함합니다. SRP 배처는 PBR을 사용하는 게임의 CPU 속도를 획기적으로 높입니다.

SRP 배처는 HDRP 및 LWRP와 함께 사용 가능하며, 현재 PC DirectX-11, Metal 및 PlayStation 4를 지원합니다.

스크립터블 셰이더 배리언트 스트리핑

플레이어 빌드 타임 데이터 크기 감소

프로젝트가 복잡해지면 셰이더 배리언트 수가 증가하여 플레이어 빌드 타임 및 데이터 크기 역시 증가하게 됩니다.

이제 2018.2에 도입된 스크립터블 셰이더 배리언트 스트리핑(scriptable shader variants stripping) 기능으로 셰이더 배리언트가 생성되는 개수를 조정할 수 있으며, 이에 따라 플레이어 빌드 타임 및 데이터 크기를 대폭 줄일 수 있게 되었습니다.

이 기능을 사용하면 유효하지 않은 코드 경로나 사용하지 않는 기능이 포함된 모든 셰이더 배리언트를 스트리핑할 수 있으며, 빌드 반복 시간이나 유지 관리 복잡도에 영향을 주지 않고도 ‘debug’나 ‘release’와 같은 셰이더 빌드 구성(configuration)을 생성할 수 있습니다. 스크립터블 셰이더 배리언트 스트리핑을 통해 팀의 효율성을 대폭 개선할 수 있습니다. Unity 셰이더 파이프라인 아키텍처에서 스크립터블 셰이더 배리언트 스트리핑을 구현하는 방법은 이 블로그 게시물을 참조하시기 바랍니다.

GraphicsSettings의 셰이더 배리언트 스트리핑 옵션

 

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

우수한 고성능 구현

LWRP는 고성능을 구현하므로 저사양 하드웨어, XR과 같이 고성능이 요구되는 애플리케이션 및 모바일 플랫폼 등에 특히 유용하게 활용될 예정입니다.

LWRP는 최적화된 타일 기반 렌더링(Optimized Tile Utilization)을 활용하여 성능을 개선하고 추가적인 최적화를 실현했습니다. LWRP는 타일에 대한 로드 및 저장 개수를 조정하여 모바일 GPU의 메모리를 최적화합니다. 또한 배치로 광원을 셰이딩하여 오버드로우와 드로우 콜을 줄일 수 있습니다.

현재 기본 LWRP는 모든 VR 플랫폼에서 지원되지만, 2018.3 버전까지는 MSAA(Multisample anti-aliasing, 멀티샘플 안티앨리어싱)가 지원되지 않습니다.

현재 LWRP는 ARCore나 ARKit와 같은 핸드헬드 AR 또는 HoloLens나 Magic Leap 기기에서 지원되지 않습니다. 신제품 계획에 대한 소식은 향후 지속적으로 알려드릴 예정입니다.

 

LWRP는 저사양 HW뿐 아니라 XR과 같이 고성능이 요구되는 앱에서도 높은 성능을 자랑합니다.

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

Unity 2018.1에서 프리뷰로 처음 선보인 HDRP는 PC와 콘솔 등 주로 하이엔드 플랫폼에서 고해상도 비주얼을 구현하는 데 주력합니다.

2018.2에서는 고품질의 그래픽을 구현할 수 있도록 관련 기능이 더욱 향상되었습니다. 단, SRP는 아직 프리뷰로 제공되므로 본격적인 제작 단계에 활용하는 것은 권장하지 않습니다. 이번에 개선된 기능에는 볼루메트릭(Volumetrics), 광택이 있는 평면 반사(glossy planar reflection), 지오메트릭 스페큘러 AA, 프록시 스크린 공간 반사 및 굴절, 메시 데칼, 섀도우 마스크 등이 있습니다.

볼루메트릭: 볼루메트릭 포그(Volumetric fog)는 면 광원을 제외하고 지원되는 모든 유형의 광원에서 조명을 받습니다. 또한 밀도 볼륨(density volume)을 통해 포그의 밀도를 국지적으로 제어할 수 있습니다.

광택이 있는 평면 반사: 이제 머티리얼의 평활도를 반영하는 광택 평면 반사가 지원됩니다.

지오메트릭 스페큘러 AA: 트라이앵글이 밀집한 메시의 경우 스페큘러 앨리어싱이 발생할 수 있습니다. 이제 앨리어싱 수를 줄이고 제한할 수 있는 기능을 통해 이러한 문제를 해결할 수 있습니다.

프록시 스크린 공간 반사 굴절: 프록시 영역(씬 경계를 추산하는 영역)을 사용하여 스크린 공간 반사 및 굴절을 실행할 수 있는 기능입니다. 비록 뎁스 버퍼처럼 정확도가 높지는 않지만, 런타임 비용이 낮습니다.

메시 데칼: 프로젝터 데칼 외에도 메시 데칼을 사용할 수 있습니다.

섀도우 마스크: 이 HDRP 기능은 이전에는 디스턴스 섀도우 마스크(Distance Shadowmask) 모드(최대 섀도우 거리에서 동적 섀도우가 섀도우 마스크로 전환)를 사용했습니다. 이제 2018.2에서는 동적 섀도우가 라이트맵을 사용하지 않는 오브젝트만 렌더링하는 경우 광원별로 선택할 수 있습니다(빌트인 파이프라인의 섀도우 마스크 모드에 해당). 덕분에 HDRP를 사용하면 빌트인 파이프라인과 달리 두 가지 섀도우 마스크 모드를 동시에 사용할 수 있으며, 빌트인 섀도우 마스크 모드를 광원별로 제어할 수 있습니다.

또한 셰이더 그래프 지원을 추가하여 시각적으로 셰이더를 생성할 수 있게 되었으며, 전반적인 안정성 및 성능 향상이 이루어지고 있습니다. 여기서 ‘제한적인 지원’이란 셰이더 그래프에서 HDRP 기능이 부분적으로만 제공된다는 의미입니다. 현재 고급 머티리얼 기능(SSS(Subsurface Scattering), 클리어 코트)은 사용할 수 없으며, 테셀레이션 기능 또한 현재로서는 제공되지 않습니다.

마지막으로 플레이어를 빌드할 때 필요하지 않은 셰이더를 컴파일하지 않게 하는 셰이더 스트리핑 기능이 추가되어 빌드 시간을 획기적으로 단축했습니다.

현재 HDRP는 AR/VR 플랫폼에서 지원되지 않습니다. 이러한 플랫폼에 대한 지원은 2019년에 추가될 계획입니다. 신제품 계획에 대한 소식은 향후 지속적으로 알려드릴 예정입니다.

Sunlight 입체 광원이 사용된 Fontainebleau Photogrammetry 데모

 

Unity에서 HDRP를 핵심적인 기술로 활용하여 제작한 자동차 광고

프로그레시브 라이트매퍼

프로그레시브 라이트매퍼의 경우 2018.1에서 프리뷰로 소개되었던 기능이 몇 가지 개선되었습니다.

사용자 설정이 가능한 베이크된 광원 감쇠

사용자 설정이 가능한 프로그레시브 라이트매퍼의 광원 감쇠(light falloff)를 사용하면 조명을 베이크할 때 물리적으로 정확하게 보이는 감쇠 커브를 구현할 수 있습니다. 이전에는 스폿 광원과 점 광원의 강도가 주로 조명의 범위 값에 의해 결정되었습니다. 하지만 실제로는 조명의 감쇠 가 조명의 강도에 의해 결정되므로 이러한 방식으로는 물리적으로 정확하게 보이지 않습니다.

이 기능을 사용하면 프로그레시브 라이트매퍼가 월드-공간 거리에 연동된 거리 감쇠를 통해 조명의 도달 범위와 강도를 별개로 취급합니다. 레거시 감쇠에 대한 지원도 여전히 제공하는 한편, 이제는 선형 감쇠, 거리 제곱(distanced squared), 범위 제한이 없는 거리 제곱 감쇠까지 지원합니다. HDRP를 사용하면 역제곱(inverse square) 감쇠가 기본적으로 활성화되어 실시간 조명을 비롯하여 빛 강도에 대한 물리적인 유닛을 사용할 수 있습니다.

미리 계산된 조명을 위한 인스턴스화된 알베도 및 이미시브

이전에는 모든 라이트맵을 위한 고유한 라이트맵 공간에 이미션과 알베도를 할당했습니다. 하지만 인스턴스의 알베도/이미션 특성은 대개 동일하므로, 이제 고유한 인스턴스별로 이러한 맵을 생성하는 기능이 지원됩니다. 이 기능을 사용하면 프로그레시브 라이트매퍼의 메모리 사용량이 감소하므로 대규모 씬도 베이크할 수 있습니다.

애디티브 씬 조명 경고

성능 최적화를 위해 대규모 씬을 런타임 중에 가시성 여부에 따라 로드하거나 언로드할 수 있는 소규모의 ‘하위 씬’으로 분할하는 것이 좋습니다. 이러한 방식을 ‘애디티브 로딩(additive loading)’ 또는 ‘멀티 씬’ 설정이라고 합니다.

전역 조명을 포함하여 가산적으로 로드된 씬

 

멀티 씬 구성을 위한 GI 조명 생성 시 Unity에서 지원되는 워크플로를 사용하면 필요한 모든 하위 씬을 로드한 다음, 하위 씬에서 전체 씬 계층 구조를 위한 조명을 생성하도록 할 수 있습니다. 그 결과, 라이트맵, 사전에 계산된 실시간 GI 및 프로브 데이터를 저장하는 LightingData.asset이 생성됩니다. 이 에셋은 ‘마스터’ 씬으로 간주할 수 있는 최초 로드 씬과 연결됩니다.

이후 런타임 중 로드/언로드되는 씬의 조명 데이터는 마스터 씬과 연결된 LightingData.asset에서 파생됩니다. 이 시나리오에서 하위 씬의 조명 설정은 상호 연관성이 없습니다. 하지만 용도에 따라 씬이 개별적으로 베이크되거나 다른 순서로 로드될 수 있으며, 이 경우 씬의 조명 설정이 호환되지 않고 조명 데이터가 불일치하는 일이 발생할 수 있습니다. 예를 들어 스카이박스가 일치하지 않거나, 라이트맵 해상도가 다르거나 혼합 조명 모드가 불일치할 수 있습니다.

이전에는 Unity에서 이러한 문제를 경고하지 않았기 때문에 기대한 결과가 도출되지 않는 경우 사용자가 혼란을 느끼곤 했습니다. 따라서 설정이나 데이터가 호환되지 않는 경우 사용자에게 경고를 표시하도록 업데이트되었습니다. 또한 보다 쉬운 디버깅과 검증을 위해 호환되지 않는 항목에 대한 상세 정보가 제공됩니다.

기타 개선 사항

이제 컬 라이트맵 섀도우캐스터(cull lightmapped shadowcaster) 기능(스크립팅 API만 해당)에 ‘광원별(per light)’ 옵션이 추가되어 HDRP에서 활용할 수 있습니다.

셰이더 그래프(프리뷰)

2018.1의 프리뷰 패키지에서 사용자가 셰이더를 시각적인 방식으로 빌드할 수 있는 셰이더 그래프를 소개한 바 있습니다. 이를 통해 코드를 직접 작성하는 대신 그래프 네트워크상에서 노드를 만들고 연결할 수 있습니다. 그래프의 노드별로 변경 사항에 대해 즉각적으로 피드백을 확인할 수 있으며, 쉽고 편리하게 사용할 수 있어 신규 사용자들도 셰이더를 생성할 수 있습니다. 이 릴리스에는 다음을 비롯한 여러 개선 사항이 반영되었습니다.

HDRP 지원

이제 셰이더 그래프를 통해 HDRP에서도 PBR 및 언릿(Unlit) 마스터 노드를 사용할 수 있습니다. 셰이더 그래프로 구축된 셰이더는 LWRP 및 HDRP 모두와 호환됩니다.

 

버텍스 위치

이제 PBR 및 언릿 마스터 노드의 포지션(Position) 슬롯에서 버텍스 위치를 수정할 수 있습니다. 기본적으로 이 노드에는 object space position이 입력되어 있습니다. 이 슬롯에 직접 입력하는 경우 해당 버텍스의 정확한 로컬 포지션을 명시해야 합니다. 절차적 셰이프(Procedural Shapes)와 같은 특정 노드는 버텍스 셰이더에서 실행할 수 없으며, 이 슬롯과 호환되지 않습니다.

마스터 노드 설정

이번 버전부터는 토글 버튼으로 셰이더의 여러 렌더링 설정을 변경할 수 있는 작은 창에서 마스터 노드의 설정도 변경할 수 있습니다.

프로퍼티 레퍼런스 이름 상태 노출

프로퍼티의 레퍼런스 이름을 수정하는 기능이 추가되어 스크립트에서 셰이더 프로퍼티를 더욱 쉽게 참조할 수 있습니다. 프로퍼티의 레퍼런스 이름을 수정하려면 프로퍼티를 선택하고 레퍼런스 옆에 새 이름을 입력하면 됩니다. 기본 이름을 재설정하려면 마우스 오른쪽 버튼으로 레퍼런스(Reference)를 클릭한 다음, 레퍼런스 재설정(Reset reference)을 선택합니다.

프로퍼티(Property) 창을 펼쳐서 노출(Exposed) 체크박스를 토글할 수도 있습니다.

그래프 경로 변경

이제 셰이더 그래프와 하위 그래프의 경로를 변경할 수 있습니다. 셰이더 그래프의 경로를 변경하면 셰이더 선택 목록의 셰이더 그래프 위치도 변경됩니다. 하위 그래프의 경로를 변경하면 노드 생성 메뉴의 하위 그래프 위치도 변경됩니다.

IsFrontFace 노드

이 노드를 사용하면 프래그먼트의 면 신호(face sign)에 따라 그래프 출력을 변경할 수 있습니다. 현재 프래그먼트가 정면의 일부분이면 노드에서 True 값을 반환하며, 후면이면 False 값을 반환합니다. 참고: 마스터 노드에서 양면(two sided)을 활성화해야 이 기능을 사용할 수 있습니다.

Gradient 노드

두 가지 새로운 노드를 통해 그레디언트 기능을 사용할 수 있습니다. 샘플 그래디언트(Sample Gradient) 노드는 시간(Time) 파라미터로 그레디언트를 샘플링합니다. 이 그레디언트는 그레디언트 슬롯 제어(Gradient slot control) 뷰에서 정의할 수 있습니다. 그레디언트 에셋(Gradient Asset) 노드는 다양한 시간 파라미터를 사용하여 여러 샘플 그레디언트 노드로 샘플링할 수 있는 그레디언트를 정의합니다.

Texture3D Texture2D 배열

Unity에서 지원되는 텍스처 유형에 새로운 프로퍼티 유형 2가지 및 노드 4가지가 추가되었습니다. 이러한 프로퍼티 유형 및 노드를 사용하여 셰이더 그래프에서 Texture 3D 및 Texture 2D Array 타입의 에셋을 정의하고 사용할 수 있습니다.

텍스처 2D LOD 노드

텍스처 2D 샘플에 LOD(디테일 수준) 기능을 제공하는 새로운 노드를 추가합니다. 샘플 텍스처 2D LOD는 샘플 텍스처 2D와 같은 입력 및 출력 슬롯을 사용하지만, Vector1 슬롯을 통한 LOD 조정 입력도 포함합니다.

생성된 코드 표시

특정 노드에 대해 생성된 코드를 확인할 수 있습니다. 코드를 확인하려면 노드를 마우스 오른쪽 버튼으로 클릭한 다음 생성된 코드 표시(Show Generated Code)를 선택합니다. 그러면 Unity에 연결한 코드 에디터에서 코드 스니핏이 열립니다.

Windows 및 Linux의 Vulkan에서 에디터 지원(실험 기능)

이 릴리스는 Windows와 Linux의 Vulkan에서 에디터를 실행하는 기능을 실험적으로 지원합니다. Vulkan은 다양한 플랫폼에 걸쳐 PC, 콘솔, 휴대폰과 임베디드 플랫폼 등 여러 기기에 사용되는 최신 GPU에 효율적으로 액세스할 수 있는 차세대 그래픽스 및 연산 API입니다.

텍스처 밉맵 스트리밍

이번 릴리스에서는 온디맨드, 즉 요구에 따라 제공하는 메모리에 대한 스트리밍 텍스처 밉맵 지원이 추가되었습니다.

장점

이러한 기능을 활성화하면 Unity 애플리케이션에 필요한 텍스처 메모리 요구 사항을 줄일 수 있습니다.

원리

이 시스템이 적용된 Unity에서는 메시가 액티브 카메라에 근접한 경우에만 고해상도 텍스처 밉맵을 로드하게 됩니다. 고해상도 밉맵 데이터는 메모리에 저장되며, 전체 텍스처 메모리 크기는 사용자가 정의한 메모리 할당량(budget) 범위 내로 유지되어야 합니다. 새로운 텍스처 밉 레벨 로딩으로 인해 텍스처 메모리가 메모리 할당량을 초과하는 경우에는 카메라에서 가장 멀리 있는 메시의 고해상도 밉맵 데이터가 메모리에서 제외됩니다.

최초 로드 시간 단축

최초로 로드되는 텍스처 데이터 감소(저해상도 밉맵 레벨만 로드)로 인해 최초 씬 로드 시간도 단축될 수 있습니다. 단, 최초 로드 속도 개선 여부는 플랫폼에 따라 다를 수 있습니다.

제어 범위 확대

텍스처 밉맵 스트리밍(Texture Mipmap Streaming) 시스템을 통해 실제로 메모리에 로드되는 밉맵 레벨을 완전히 제어할 수 있습니다. 일반적으로 Unity는 디스크에 저장된 모든 밉맵 레벨을 로드하지만, 이 시스템을 사용하면 로드할 밉맵 레벨을 직접 제어할 수 있습니다.

또한 이 시스템을 사용하면 CPU 처리 시간이 소폭 지연되는 대신 GPU 메모리 사용량을 대폭 줄일 수 있습니다.

간편한 사용 설정 관리

이 기능은 품질 설정(Quality Settings)을 통해 간편하게 사용 설정할 수 있으며, 텍스처별로 시스템을 통한 스트리밍 여부를 정의할 수 있습니다. 지표를 쿼리하여 텍스처 메모리 사용량을 식별하고 절감된 메모리 사용량을 확인할 수 있습니다.

또한 다양한 설정을 조정하여 메모리 및 CPU를 균형 있게 사용하도록 시스템을 제어하고, 일부 텍스처의 우선 순위를 더 높게 설정할 수 있습니다(예: 캐릭터 텍스처의 우선 순위를 환경 텍스처보다 높게 설정).

C# 애니메이션 잡

이제 AnimationPlayables를 통해 사용자가 직접 C# 플레이어블(Playables)을 작성하여 애니메이션 데이터와의 직접적인 인터랙션을 구현할 수 있습니다.

또한 사용자는 멀티스레드 C# 코드를 작성하여 PlayableGraph에서 사용되는 AnimationStream 데이터를 제어함으로써 직접 제작한 IK 솔버, 절차적 애니메이션 및 커스텀 믹서를 기존 애니메이션 시스템에 통합할 수 있습니다.

파티클 시스템 개선 사항

다음은 2018.2에서 개선된 사항입니다.

8가지 UV 지원

사상 최대 규모의 커스텀 데이터를 사용할 수 있습니다.

MinMaxCurve MinMaxGradient

이제 파티클 시스템 외 커스텀 스크립트에서 이러한 유형을 사용하여 파티클 시스템 UI에서 사용된 스타일을 매치할 수 있습니다.

선형 공간

이제 해당되는 경우 파티클 시스템이 컬러를 GPU에 업로드하기 전에 선형 공간으로 전환합니다.

스프라이트에서 방출

스프라이트나 SpriteRenderer 컴포넌트에서 방출을 실행하고 파티클 방출을 스프라이트의 비주얼에 완벽하게 일치시킬 수 있도록 셰이프 모듈에 새 모드가 두 가지 추가되었습니다.

BakeMesh

파티클 시스템의 지오메트리를 메시에 베이크할 수 있는 다음의 새 API 두 가지가 추가되었습니다. BakeMesh는 파티클 지오메트리를 베이크하며, BakeTrailsMesh는 트레일 모듈을 메시에 베이크합니다.

선택 항목만 표시(솔로 모드)

다수의 요청에 의해 추가된 이 기능은 씬 뷰 오버레이(Scene View Overlay)의 다른 프리뷰 컨트롤 및 재생/다시 시작/중지 등의 컨트롤 옆에 표시되어 검색과 액세스가 더욱 수월해 졌습니다.

ETC 텍스처 지원

이제 텍스처 시트 애니메이션 모듈에서 스프라이트를 사용할 때 별도의 알파 텍스처를 이용하는 셰이더를 파티클과 함께 활용할 수 있습니다.

2D

픽셀 퍼펙트 카메라(프리뷰 패키지)

픽셀 퍼펙트 프리뷰 패키지는 픽셀 아트에 대한 사용자의 비전을 구현할 수 있도록 지원합니다. 픽셀 퍼펙트 카메라(Pixel Perfect Camera) 컴포넌트를 사용하면 모든 계산이 자동으로 처리되도록 하여 스크린 크기에 관계없이 완벽하고 선명한 픽셀을 구현할 수 있습니다.

인펙토네이터 3: 아포칼립스(Infectonator 3: Apocalypse) – Togo Productions

 

이러한 기능은 스프라이트가 움직이거나 회전할 때 아래 보이는 것처럼 에지를 부드럽게 표현하기 위해 추가적인 보간 없이도 항상 픽셀을 정확하게 구현합니다.

2D 스프라이트 렌더러 ‘피벗 포인트 기준 정렬

이전에는 스프라이트의 중심과 축 간의 거리를 참조하여 마지막으로 렌더링되어야 하는 스프라이트를 결정하고 이미지 전면에 표시될 수 있도록 했습니다.

이번 릴리스부터는 스프라이트 중심 대신 피벗 포인트를 다양한 정렬 방법(예: 화면 상단까지의 거리를 기준으로 정렬)으로 레퍼런스 포인트로 사용할 수 있습니다. 예를 들어 탑다운 RPG 게임의 경우 스프라이트의 렌더링 순서를 결정하려면 스프라이트의 하단을 참조해야 합니다.

새로운 피벗 포인트 설정을 활용하면 게임에 적합한 기준을 설정할 수 있습니다.

2D 육각형 타일맵

이제 육각형 타일맵(Hexagonal Tilemaps)을 빌드할 수 있습니다. 전략 게임이나 디지털 보드게임 제작 시 특히 유용한 플랫탑(flat-top) 및 포인트탑(point-top) 육각형 타일도 지원됩니다.

 

아트워크 제공: David Baumgart

 

SVG 임포터(프리뷰 패키지)

SVG(Scalable Vector Graphics, 확장 가능한 벡터 그래픽스)를 프로젝트로 직접 임포트할 수 있는 기능입니다. SVG 임포터를 사용하면 모든 해상도에서 품질이 보존되며 파일 크기가 매우 작은 스프라이트 에셋을 생성할 수 있습니다.

SVG 임포터는 그레디언트, 채우기, 클리핑 경로, 점선, 둥근 모서리 등 SVG 1.1 사양의 가장 많이 사용되는 기능을 지원합니다. Unity 2D 툴은 이러한 방식으로 임포트된 벡터 그래픽스 스프라이트를 지원합니다.

SVG 파일이 임포트되면 벡터 데이터가 삼각형으로 테셀레이트되며 스프라이트가 생성됩니다. 그러면 2D 시스템에서 이 스프라이트를 사용할 수 있습니다. SVG 임포터 소스는 패키지의 에디터(Editor) 폴더에 있습니다.

패키지 관리자(Package Manager)에서 벡터 그래픽스 프리뷰 패키지의 일부로 SVG 임포터를 다운로드하세요.

벡터 그래픽스 API를 사용하여 코드에서 바로 벡터 구조물을 생성하고 조정할 수 있습니다. 벡터 그래픽스 API 소스는 런타임(Runtime) 폴더 아래의 벡터 그래픽스(Vector Graphics) 네임스페이스에 있습니다.

새로운 2D API

벡터 그래픽스 API를 사용하여 코드에서 바로 벡터 데이터를 생성하거나 조정할 수 있습니다. 새로운 2D 아틀라스 API에서는 커스텀 툴을 작성하여 아틀라스를 생성하고 업데이트할 수 있습니다. 예를 들어, 플레이어의 프로필 사진을 사용해 커스텀 캐릭터 텍스처를 생성하거나, 플레이어의 설정에 기반하여 아틀라스를 최적화할 수 있습니다.

에디터 전반

Unity 프로젝트에서 .java 및 .cpp 소스 파일을 플러그인으로 사용 가능

이제 .java, .cpp 및 .a 소스 파일을 Unity 프로젝트 플러그인 폴더에 추가할 수 있습니다. 이러한 파일들은 Android Studio에서 별도의 라이브러리를 빌드하지 않아도 Unity 플러그인으로 인식되어 APK에 컴파일됩니다. 플러그인 코드는 Unity 프로젝트의 일부로 남아 있으므로 별도의 Android Studio 프로젝트를 생성하지 않아도 됩니다.

스탠다드 에셋 교체

2018.2 버전의 설치 프로그램에서 스탠다드 에셋 5.0 버전을 삭제했으며, 이전 프로토타이핑 팩의 각 부분을 위한 대체 패키지를 구축하고 있습니다. 첫 패키지(스탠다드 에셋: 캐릭터)는 2018.2 릴리스 직후 프리뷰로 출시될 예정으로, 시네머신과 통합된 1인칭 및 3인칭 컨트롤러와 프로빌더로 제작된 프로토타이핑 환경을 포함합니다. 자세한 내용은 몇 주 내에 게시 예정인 블로그 게시물을 참조하세요. 레거시 5.0 패키지는 에셋 스토어에서 다운로드할 수 있습니다.

Unity 허브

곧 출시될 Unity 허브(v1.0)는 모든 사용자의 온보딩 및 설정 프로세스를 간소화하도록 디자인된 새로운 툴로, Unity 프로젝트를 관리할 수 있는 일원화된 위치를 제공하고 Unity 에디터 라이선스와 애드온 컴포넌트의 검색, 다운로드 및 관리 방식을 간소화합니다.

최초 릴리스 이후 버그 수정 및 사용 환경 개선 작업이 집중적으로 진행되었습니다. Unity는 지난 6주 동안 5 이상의 릴리스를 공개했으며, 이러한 릴리스는 자동으로 사용자의 머신에 다운로드 및 업데이트되었습니다. 다음은 허브 1.0과 함께 제공된 기능입니다.

  • 프로젝트 템플릿
  • 커스텀 설치 위치
  • 새 프로젝트에 에셋 스토어 패키지 추가
  • 프로젝트 빌드 대상 수정
  • 에디터: 설치 후 컴포넌트 추가

지난 1월에 출시된 베타 버전을 놓치셨다면 이 블로그 게시물에서 관련 정보를 알아보세요.

 

시네마틱스

카메라 물리 프로퍼티

이번 릴리스에는 다음과 같이 Unity에서 작업하는 아티스트와 시네마토그래퍼에게 더 많은 편의와 안정성을 제공하는 기능이 포함되었습니다.

  • 새로운 물리적 카메라(Physical Camera) 토글을 사용하여 초점 거리(Focal Length), 센서 크기(Sensor Size), 렌즈 변경(Lens Shift) 프로퍼티 등 아티스트와 시네마토그래퍼들에게 친숙한 설정을 표시할 수 있습니다.
  • 또한 이제 모델 임포터가 Autodesk® Maya® 및 기타 호환되는 DCC에서 익스포트한 물리적 카메라의 프로퍼티를 보존합니다.
  • 이제 Unity의 카메라는 추가 컴포넌트나 수동 FOV 계산 없이도 다른 DCC의 카메라에 완벽하게 매치됩니다.
  • 카메라(Camera) 컴포넌트에서 제공되는 드롭다운 메뉴를 통해 널리 사용되는 실제 카메라의 센서 크기를 선택할 수 있습니다.


레코더 1.0

 

곧 출시되는 Unity 레코더 1.0은 에디터에서 애니메이션 클립, 동영상, 이미지 시퀀스를 간편하게 관리하고 녹화할 수 있는 여러 업데이트를 포함합니다.

  • 새로운 UI: 정돈된 UI를 사용하여 녹화를 간편하게 관리할 수 있습니다.
  • 프리셋: 설정을 저장할 수 있어 처음부터 다시 설정하지 않아도 됩니다.
  • API: 스크립트를 사용하여 API를 통해 녹화를 실행할 수 있습니다.
  • 다중 녹화: 여러 건의 녹화를 동시에 시작할 수 있으며, 향후 동일한 설정을 사용하려면 녹화를 목록으로 저장할 수 있습니다.
  • 오디오가 포함된 비디오 클립을 다양한 형식으로 녹화할 수 있습니다.
  • 이미지 시퀀스를 다양한 형식으로 녹화할 수 있습니다.
  • 다음과 같이 애니메이션을 녹화하고 익스포트할 수 있습니다. FBX를 통해 가장 자주 사용하는 DCC 애플리케이션으로 애니메이션 클립을 익스포트할 수 있습니다.

Unity 레코더 v1.0은 에셋 스토어에서 이용 가능합니다.

코어 엔진

오래된 RakNet 기반 네트워킹 기능 제거

이전에 사용했던 네트워킹 기능 RakNet은 5.1 버전부터 지원이 중단되었으며, Unity 2018.2에서 제거되었습니다. 따라서 RakNet을 사용하는 프로젝트는 2018.2에서 작동하지 않습니다.

어드레서블 에셋 시스템

어드레서블 에셋 시스템(Addressable Asset System)을 사용하면 프리팹, 텍스처, 머티리얼, 오디오 클립 및 애니메이션 등 게임의 구성 요소를 더욱 쉽게 관리할 수 있습니다. 프로젝트의 규모가 커질수록 에셋의 수도 늘어납니다. 에셋을 효과적으로 참조하지 않으면 로컬 메모리에서 콘텐츠 배포까지 모든 게임 요소의 관리가 어려워집니다.

일반적으로 에셋 참조는 빌드 시점에 결정되며, 참조를 수정하려면 대대적인 리팩토링을 수행해야 하므로 이러한 경우 특히 콘텐츠 배포 전략의 관리에 어려움을 겪게 됩니다.

새로운 어드레서블 에셋 시스템을 사용하면 게임 규모가 확장됨에 따라 팀을 확장하기에도 용이합니다. 본 시스템에서는 런타임 에셋 관리의 주요 사항을 참조, 패키징 및 배포의 세 가지로 분류합니다. 이를 통해 로컬 머신에 속하든 혹은 CDN을 통해 온라인에 배포되든 상관 없이 메모리 관리 효율을 위해 콘텐츠가 자동적으로 로드 및 언로드되어 콘텐츠 참조 과정을 간소화합니다. 또한 메모리 사용량 최적화를 위한 프로파일러 툴을 제공합니다. 궁극적으로는 이러한 기능을 통해 반복 작업을 더욱 빠르게 진행할 수 있게 됩니다.

 

 

참고: 현재 어드레서블 에셋 시스템은 버그 수정 및 기능 개선을 위해 패키지 관리자에서 제외되었습니다. 개선된 기능으로 곧 다시 릴리스될 예정입니다. 관련 내용은 Unity 포럼을 참고하세요.

고해상도 모니터 지원

4K 모니터를 사용하는 경우 Linux와 Windows의 에디터에서 확장성 높은 고해상도 스케일링이 가능하며, Windows에서는 모니터별 디스플레이 스케일이 지원됩니다.

유니버설 Windows 플랫폼에서 사용되는 .NET 스크립팅 백엔드 지원 제외

Unity 2018.1부터 UWP(유니버설 Windows 플랫폼)의 스크립팅 백엔드 .NET과 IL2CPP가 지원되었습니다. 하지만 이번 릴리스부터는 .NET 스크립팅 백엔드 지원이 제외됩니다. 이러한 지원 제외는 다음과 같은 두 가지 이유로 결정되었습니다.

더욱 간편하게 UWP 게임 이식

이번 지원 제외의 첫 번째 목표는 사용자가 더욱 간편하게 UWP로 게임을 이식(porting)할 수 있도록 하는 것입니다. 과거 UWP로의 게임 이식에 관해 개발자가 겪는 어려움의 대부분은 지원되는 API 범위의 차이 및 Unity가 다른 플랫폼에서 사용하는 .NET 네이티브, Mono 및 IL2CPP 런타임의 차이로 인해 발생했습니다. 따라서 이번 지원 제외를 통해 궁극적으로 UWP로의 게임 이식이 더욱 수월해질 것으로 기대됩니다.

보다 나은 지원 제공

두 번째 이유는 Unity가 더욱 효율적으로 문제를 해결하여 원활한 지원을 제공하도록 하기 위함입니다. .NET 스크립팅 백엔드는 다른 Unity 플랫폼에서 사용하는 런타임과는 완전히 다르기 때문에 여타 기능에 비해 일관적인 품질 수준을 유지하기가 어려웠습니다. 이번 지원 제외를 통해 .NET 스크립팅 백엔드의 유지 관리에 소요되는 시간을 절감함으로써 사용자에게 가장 중요한 기능과 문제에 더욱 집중할 수 있게 되었습니다.

IL2CPP는 기타 Unity 플랫폼과 .NET API 표면이 동일하며, IL2CPP의 WinRT 유형 및 API 액세스는 이전부터 지원되었습니다. 따라서 2018.2에 관리되는 IL2CPP 디버거가 추가됨에 따라 IL2CPP의 개발자 경험은 .NET 스크립팅 백엔드에서 제공되는 경험과 동일하거나 더욱 우수해졌습니다.

IL2CPP는 2017.2부터 기본적으로 사용되었으므로 대다수의 사용자들은 이번 지원 제외로 인해 영향을 받지 않을 것으로 예상됩니다. 하지만 아직 IL2CPP를 사용해 본 적이 없으며 문제가 발생했다면 Unity에 문의해주시기 바랍니다. 2019.1부터 .NET 스크립팅 백엔드 지원이 종료될 예정입니다.

 

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

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

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

엔티티 컴포넌트 시스템

2018.2에서는 리액티브(Reactive) 시스템 샘플을 비롯한 여러 성능 개선이 이루어졌습니다. 리액티브 시스템을 사용하면 컴포넌트 상태에 변화가 있을 경우 이에 대응할 수 있으며, 이벤트 기반 동작을 에뮬레이트할 수 있습니다. 리액티브 시스템에 대해 자세히 알아보려면 이 주제에 관한 요하킴 안테(Joachim Ante)의 Unite Berlin 세션을 시청하세요.

ECS를 사용하여 리액티브 시스템을 구현하는 방법의 예시와 문서도 제공해 드립니다.

또한 올해 하반기에는 Unity 사용자가 제작한 소규모 Unity 게임 샘플을 ECS로 전환하여 제공할 예정입니다.

버스트 컴파일러

이번 릴리스부터 에디터가 사용되는 모든 플랫폼(Windows, Mac, Linux)에서 ECS에 버스트 컴파일링 기능이 제공되며, 스탠드얼론 플레이어(데스크톱, PS4, Xbox, iOS, Android)용 AOT를 빌드할 수 있습니다.

Unity는 2018.3을 구축하면서 지속적으로 ECS 성능에 주력하고, 사전에 기능을 체험해볼 수 있도록 프리뷰를 제공하며, 더욱 다양한 .NET C# 언어 구성(DllImport, constant arrays, foreach 등)을 지원할 예정입니다.

또한 2018.3의 출시 시점에는 버스트 컴파일러를 정식 기능으로 전환할 계획입니다.

 

관리되는 IL2CPP 디버거

이제 IL2CPP 백엔드 사용 시에도 개발자가 선호하는 디버거를 사용해 오류를 찾고 수정하도록 관리되는 IL2CPP 디버깅이 제공됩니다.

스탠드얼론, PlayStation 4, 모바일 플랫폼 및 Xbox One(추후 지원 예정)에 대해 Visual Studio(Unity용 Visual Studio 툴 포함)와 JetBrains Rider에서 모든 디버깅 기능이 지원될 예정입니다.

Unity 2018.2의 스크립팅 런타임 개선 사항

.NET 4.x 버전 이후 여러분이 제공해주신 유용한 피드백 덕분에 Unity 2018.2가 출시되기까지 스크립팅 런타임에 관련된 여러 버그를 수정할 수 있었습니다.

Android에서 ARM 64-bit 지원

이번 릴리스부터 IL2CPP 기술에 기반한 ARM 64-bit가 Android에서 정식으로 지원됩니다. 이 버전은 4GB가 넘는 메모리 용량을 사용하는 64비트 Android 앱과 게임에 맞춘 성능 개선에 중점을 두었습니다.

아키텍처별 APK 분할

이제 하나의 대규모 APK를 구축하는 대신 대상 아키텍처(x86, ARM 32, ARM 64)를 여러 개의 APK로 분할할 수 있습니다. 그런 다음 Google Play와 같이 이 옵션을 지원하는 스토어의 경우 관련 아키텍처가 포함된 APK만 다운로드하면 됩니다.

Google Play Instant 게임 플러그인

신규 플레이어 확보 과정에서 가장 극복하기 어려운 장벽은 설치 과정의 번거로움입니다.

많은 사용자들이 앱을 다운로드하고 여는 데 소요되는 시간으로 인해 게임을 경험해보기도 전에 포기하곤 합니다.

Google Play Instant를 사용하면 플레이어가 게임 전체를 설치하지 않고도 10MB 크기의 인스턴트 게임 버전을 시험적으로 사용해 볼 수 있습니다. Google Play Instant 플러그인을 사용하면 Unity 기반의 Android 앱을 간편하게 인스턴트 앱으로 전환하여 배포할 수 있습니다.

이 플러그인은 Unity 2017.x 및 이후 버전과 함께 사용할 수 있는 GitHub 프로젝트 형태로 제공됩니다.

이 플러그인의 기능은 다음과 같습니다.

  • 설치 모드와 인스턴트 빌드 모드 간 전환 가능
  • Google Play Instant를 지원하기 위해 변경해야 하는 Unity 빌드 설정과 Android Player 설정을 한 곳에서 확인 가능
  • ADB에 연결된 Android 기기에서 인스턴트 앱 빌드 및 실행 가능

C# 플랫폼 인증서 저장소 동기화

이제 Unity는 .NET.4.x 및 UnityWebRequest API의 모든 플랫폼에 걸쳐 플랫폼별 인증서 저장소에 대한 자동 확인을 비롯한 최신 암호화(TLS1.2)를 완전히 지원합니다.

시스템 저장소 확인을 제공하지 않는 Xbox One과 PS Vita의 경우 임베디드 CA 저장소를 확인합니다.

UnityScript 지원 종료

이전에 알려드린 것처럼 이번 릴리스부터 UnityScript에 대한 지원을 전면 중단합니다. 자세한 내용은 지난해 여름에 작성된 리처드 파인(Richard Fine)의 블로그 게시물을 참조하세요.

스크립팅 런타임과 지원되는 C# 버전이 지속적으로 업그레이드됨에 따라 다음과 같이 C#로 인해 다방면으로 성능이 확장되기 때문에 이러한 변경 사항이 결정되었습니다.

  • 스크립팅 런타임이 업그레이드됨에 따라 .NET.4.6 및 이후 버전의 C# 7을 사용할 수 있습니다.
  • JobSystem을 사용하여 경쟁 상태(race condition)와 교착 상태(deadlock)를 방지하는 방식으로 멀티스레드 코드를 간편하게 작성할 수 있습니다.
  • NativeArray 유형을 통해 네이티브 코드로 스토리지가 제어되는 대규모 배열을 생성하고 작업할 수 있으며, 메모리 할당을 더욱 면밀하게 제어하고 가비지 컬렉션(garbage-collection)에 관한 우려를 없앨 수 있습니다.
  • 스크립트 컴파일 파이프라인을 제어할 수 있으므로 스크립트가 어셈블리로 조합되는 방식을 커스터마이즈할 수도 있습니다.

또한 Unity는 UnityScript 코드를 포함하는 새로운 에셋 스토어 패키지의 승인을 중단했으며, UnityScript를 포함한 패키지를 삭제했습니다.

마지막으로, UnityScript-C# 자동 전환 툴을 제공합니다. 이러한 자동 전환 툴이 시중에 여러 개 출시되어 있었지만, Unity는 스크립트 업데이터 작성 시 UnityScript 코드의 운영 방식에 대해 파악한 정보를 활용하여 자체 솔루션을 빌드했습니다. 이 솔루션은 여기에서 다운로드할 수 있습니다.

Visual Studio 코드 디버거 확장 기능

Unity는 Visual Studio 코드를 IDE로 사용하고자 하는 분들을 위해 프리뷰로 제공되는 Unity 확장 기능용 Visual Studio 코드 디버거를 개발 및 유지 관리하고 있습니다.

Unity 내에서 VSCode를 사용하여 C# 코드를 디버그하려면 이 포럼 게시물을 참조하여 시도해 보시기 바랍니다. Unity는 사용자의 의견을 소중하게 생각합니다. 또한 저희는 Unity의 새로운 Mono 런타임에서 C#을 디버깅하고 보고된 버그를 해결하는 기능을 지원하기 위해 확장 기능을 업데이트하고 있습니다.

XR

HoloLens Holographic Remoting

HoloLens Holographic Remoting을 사용하면 애플리케이션에서 로컬 데스크톱 컴퓨터의 강력한 기능을 활용하여 런타임 시점에 렌더링과 프로세싱의 부담을 줄일 수 있습니다. 이 기능은 특히 자동차 및 AEC 업계의 고객에게 유용합니다. 여기에서 사용 방법을 자세히 알아보시기 바랍니다.

릴리스 노트

2018.2 릴리스에는 183가지의 개선 사항과 1,426가지의 수정 사항이 적용되었습니다. 신규 기능, 개선 및 수정 사항을 모두 확인하려면 릴리스 노트를 참조하시기 바랍니다. Unity 포럼에 언제든지 새로운 기능에 대한 피드백을 남겨주시기 바랍니다.

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

베타 테스터 여러분 덕분에 Unity 2018.2를 성공적으로 출시할 수 있었습니다. 새로운 기능을 실험해보고 유용한 피드백을 주셔서 감사합니다.

Unity Gear 세트 경품 당첨자 안내

현재 모든 2018.2 베타 경품 응모를 검토 중이며, 빠른 시일 내에 25명의 당첨자분들께 이메일로 경품 바우처를 보내 드릴 예정입니다. 경품 지급 대상은 이전에 보고되지 않았고, Unity에서 재현할 수 있으며 버그로 인정된 항목을 제출한 분들입니다.

향후 베타 참여

아직 베타 테스터가 아니라면 다음 베타에 참여해 보세요. 최신 기능을 미리 사용해보고 프로젝트가 새로운 버전에서도 잘 호환되는지 확인해 볼 수 있습니다. Unity 커뮤니티 최고의 전문가들과 함께 베타 테스트에 참여하고, Unity의 미래를 그려 나가는 데 힘을 보태며, 다양한 경품 행사에 응모할 기회를 놓치지 마세요.

오픈 베타 테스트를 다운로드하여 사용해 보시기 바랍니다. 베타 테스트에 참여하면 새로운 기능을 미리 체험해 보고, 더 나아가 Unity 소프트웨어의 품질을 높이는 데에도 기여하실 수 있습니다.

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

 




133 코멘트

코멘트 구독

코멘트를 달 수 없습니다.

  1. ocean king cheat app

    9월 8, 2018 6:14 오전

    You will want to know where your visitors coming by way of.
    The title is avert see your past top bar (title bar) of the browser.
    In such cases, the organic listings also get into the slap of the
    Google. http://17173game.com/home.php?mod=space&uid=82512&do=profile&from=space

  2. i love unity game

  3. Can’t I use shader graph in VR game? It doesnt work(solid black screen – HTC VIVE) when I use shader graph and LWRP.

  4. Can’t I use Shader graph to VR game? steam vr is not working(HTC VIVE HMD Screen is always black.) when I use LWRP and Shader Graph.

  5. 2018.2.4 environment VERY SLOW and graphics / dialogs not working on my Mac (posted in OSX forum).

  6. Antonius Naumann

    8월 17, 2018 4:05 오후

    The SVG-Update is great. Is it possible to change the color of SVGs? I thought I can simply change the sprite color, but nothing changed.

    Would be great, because my game and game characters really only consist of circles, rectangles and other shapes and I would like to only use as few resources as possible (so for instance, if I need a blue triangle and a red triangle I would like to use an SVG with only a white triangle and manage the color in-game).

    Is it possible to achieve this?

  7. Antonius Naumann

    8월 17, 2018 4:04 오후

    The SVG-Update is great. Is it possible to change color of SVGs? I thought I can simply change the sprite color, but nothing changed.

    Would be great, because my game and game characters really only consist of circles, rectangles and other shapes and I would like to only use as few resources as possible (so for instance, if I need a blue triangle and a red triangle I would like to use an SVG with only a white triangle and manage the color ingame).

    Is it possible to achieve this?

  8. i have a error in the downlowading

    1. Thomas Krogh-Jacobsen

      8월 16, 2018 9:40 오전

      Sorry to hear you are experiencing problems downloading. What error are you getting?

  9. hey i want to create unity game for this game https://www.clashoflightsworld.com/

  10. There is one feature that would be helpful for high quality visualisations. Especially when it comes to human body. It is a support for rigs with more than four influences per vertex. HDRP would be an appropriate place to introduce it.

  11. fiestera-2563@hotmail.com

    8월 9, 2018 3:35 오후

    Me encanta

  12. There is a regression with InputField in Unity 2018.2: it breaks Korean IME. Certain combinations of Korean letters disappear after typing. I’ve already filed a bug report about this, but I’m leaving this comment here in case somebody else is also running into this issue. You can rollback to 2018.1.9f1 to avoid this problem for now.

  13. Is this a release candidate or final version?

    I cannot believe that it has severe bugs with rigid bodies (already reported and marked as fixed in a future release).

    These 2018.x versions almost killed our project, I’m stuck with 2018.1b11 since almost all newer releases have this bug. Something critical, kinematic rigid bodies are being affected by the movement of their parent (non kinematic), this should not happen… I hope that a fix will come soon, it is hard believing that these Unity releases are stable.

    First we got an Android crash with 2018.2, it got fixed soon but it take many hours where we searched for what was causing the issue… And the problem was not at our project. And now this severe bug with physics.

    These versions should have the beta label guys, please. They are awesome given all the new features, but are far away of something stable or recommended for serious use. I lost more than three entire weeks of work since 2018.1 “stable” came out (so I’m with the 2018.1 beta 11, it has bugs in editor but nothing critical on player).

    Maybe launching two more stable versions each year could be a better idea instead of three? This would allow more time to beta testing, without suddenly breaking our projects with a final problematic release.

    1. Hey! Could you let me know the case numbers in question? I’d follow up with the status. Thanks so much for your interest in physics.

  14. Jasur Sadikov

    8월 2, 2018 4:45 오후

    Awesome! Nice work! Unity took right direction with their engine.
    Waiting for UI system minor improvements and Editor UI update.

  15. Absolutely love the direction that Unity is taking. I have been working with Unity for a long time now and it literally went from kinda clunky to very professional feeling!

  16. Ah I thought the SVG importer works for the UI :(

  17. SVG question…. Does Unity 2018.2 support SVGs with transparencies? I create all my art in Illustrator which I then convert to PNGs. I often adjust the opacity in many ways as the shapes overlap.

  18. Does Unity support right-to-left text yet? I’m using the InputField component and I had to develop a custom script that flips the input when appropriate, but it’s not reliable when mixing ltr languages with rlt ones.

  19. Did anyone tested 2018.2.1 with default project no SDK imported its cant build send error multidex-1.0.2 cant be found. does QA actually work ?

  20. illuminati-reptilian

    7월 25, 2018 11:14 오후

    “IL2CPP has been the default since 2017.2, so we expect most users will have no issues with this. However, if you have not yet tried using IL2CPP and you do experience any issues, please be sure to file them. We plan to end backend support for .NET scripting in 2019.1.”
    Is this only related to Universal Apps or every platform?

  21. updating the norms is very convenient and pleasant to work

  22. When will the new Standard Character Assets be available ? i Have asked in the forums (https://forum.unity.com/threads/new-standard-asset-characters-third-person.526612/0 and on social media, i have been more successful getting information out of my dogs about which one is responsible for raiding the bin than i have from Unity.

  23. Tom Southworth

    7월 23, 2018 3:58 오후

    Hey guys, just wondering if the SVGs that get imported are currently supported by your UI system, as when I try to display an SVG on my UI it seems to be invisible. Works fine as a 2D Sprite though! Any info would be much appreciated, cheers :)

    1. Hello Tom, unfortunately SVG is not yet supported by the UI system. This is something that gets asked very often and we’re seriously considering it. Thanks for the feedback!

  24. My Editor is too Slow
    windows8.1
    unity2018.2
    4gb ram
    any suggestion on how to make it fast

    1. – get Windows 10
      – get more RAM (min. 16GB highly recommended, maybe more, it depends on what you’re doing)
      – get an SSD as a working storage

  25. How do you get it? Note I only have personal.

  26. I absolutely love the idea of SRP. But, will it be possible to write a shader with a custom lighting model? For example, I would like to change the Fresnel approximation for a car game I’m developing.

  27. Say you’ve got a 2D game, totally unlit. Zero lighting etc. Running IL2CPP. Would the LW SRP make a difference in performance?

  28. can i use python language to code my games in unity

    1. Not the i’m aware of, the main scripting lang is C#, but that shouldn’t stop you, you can do it !!!

  29. In the runner game, stutter problem can not be solved at all.
    Is it the technical limit of Unity?

    1. Stutter is chronic problem in 5.x and above.

    2. Martin Tilo Schmitz

      7월 30, 2018 4:29 오후

      Hi there :),

      If you can provide more info, e.g. what kind of stutter, screenshots of the profiler, exported profiler data and generally more context in a forum post and tag it “performance” or “profiler”, other users and maybe me, if I can find the time, can have a look at it.

      With this little information to go on and with having build an runner game for mobile myself before, I’m gonna go out on a limp and assume the typical problem: Allocating data on the heap (showing up in the Profiler as GC.Alloc) costs performance and will eventually trigger GC.Collect since the heap is garbage collected (“managed”) in C#. Garbage collection has quite the performance implications. There are a lot of mobile games out there, where you can practically see how they are allocating some 40mb of “soon to be garbage” every frame with the typical GC.Collect hiccup every x seconds. This is not really an issue isolated to Unity but within Unity, it is rather easy to ignore or overlook this problem until it’s too late. Especially with action oriented games, you want your game loop to be running GC.Alloc free. Use the profiler to find where your issues are. See where you can preallocate data or can convert classes (heap data) to structs (stack data) etc. There’s also a bunch of videos on performance optimization in our YouTube channel.

    3. Your PC is trash…. Sorry but there is no other way to say it. I experience no stutter whatsoever on multiple machines. You should try to meet the recommended requirements before saying it does not work as intended.

  30. So were do we find the ,planar reflections, volumetric lighting?

  31. Wow, that was an impressive list of changes. The master node settings is a nice QoL, as is editing the reference name for a property. We can now see the generated code for any specific node? I don’t remember asking for this, but I think someone at Unity enjoys making even the little things as easy and convenient as possible. Thanks, Unity team!

  32. Oooh man, still you’re keeping me in suspense for nested prefabs and automatic tiles (I know I can already download them, but was hoping on the official release just to be safe). But ECS is coming to Whoville, hurray! My game doesn’t need the extra performance, but at the same time why not?

    I really respect that you’re modernizing your (and our) entire workflow, and slimming down certain features to really give the rest of Unity the attention it deserves. Though I still can’t get my hands on those juicy nested prefabs, at the same time you’ve given us all these other updates which are, honestly, a bit overwhelming. If you keep this up, UnityHub will soon need dropdowns for each version of Unity to keep browsing through the releases manageable!

    Great stuff, give Joachim Ante my regards.

    1. Can you teach me English? I don’t have any foundation!

  33. When will Shader Graph Production Ready?

  34. I had a few issues with package manager import.cs and various other minor issues when loading my project solution in VS2017. Turns out all I needed to do was do an upgrade of VS2017 to the latest 15.7 release.

    Just a little heads up for anyone updating to the latest and greatest unity.

    Great work and love the features….

  35. Amboy Manzano Arquero

    7월 14, 2018 12:24 오전

    hello

  36. Wow!!! SVG Import! This feature is AWESOME!!!! I’m wait this coolest feature many time…. together with API, it’s cool! However, still wait to updating .net runtime to the latest version :)

    PS. Detailed translate to Russian language are available here https://devtribe.ru/p/unity/chto-novogo-v-unity-2018-2

  37. How can i enable Specular AA?

  38. Will i need to redownload the prefab preview of 2018.2 in order to get latest changes?? are you guys keeping prefab preview build up to date with all the changes above?? i really want to get back to an official release, but i will not go back to old prefabs… stuck on 2018.2.x or whatever :(

    1. Hi Brian,

      There is not going to be an update of the preview build with Prefabs. All resources are currently focused on getting the new Prefab workflows ready for 2018.3.

  39. Will we ever be able to create large terrains without the paintbrush scaling up?

  40. How to run Unity2018.2 with Vulkan API?
    I downloaded and installed Unity2018.2.0f2 on Ubuntu 18.04 with AMD RX460 GPU but graphic api unity using is OpenGL4.5
    I try with -vulkan when run unity but not working
    I can play Dota2 with -vulkan so graphic driver is ready with vulkan

    1. Charles Beauchemin

      7월 11, 2018 8:03 오후

      You need to set Vulkan as the preferred rendering API for your current build target in the player settings, or launch the editor with -force-vulkan

      1. Last ngiht I tried with -force-vulkan but not working, Tonight, I will try change in player setting

        1. If it’s not working with -force-vulkan, check your editor log to see whether vulkan support is being successfully loaded/enabled (and if not, why not).

        2. I try with -force-vulkan and received error in Editor.log file
          COMMAND LINE ARGUMENTS:
          ./Unity
          -force-vulkan
          [0713/003036:ERROR:browser_main_loop.cc(161)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
          Gtk-Message: 00:30:36.044: GtkDialog mapped without a transient parent. This is discouraged.
          [0713/003036:ERROR:renderer_main.cc(227)] Running without renderer sandbox
          [0713/003036:ERROR:sandbox_linux.cc(308)] InitializeSandbox() called with multiple threads in process gpu-process
          [0713/003036:ERROR:gpu_process_transport_factory.cc(402)] Failed to establish GPU channel.
          I will create a thread in forum Linux Editor
          Thank you !

        3. I think problem is here:
          Initialize engine version: 2018.2.0f2 (10189b18f56e)
          Forcing GfxDevice: Vulkan
          [vulkan] LoadVulkanLibrary libvulkan.so.1[vulkan] LoadVulkanLibrary failed to load libvulkan.so.1Vulkan detection: 0
          [vulkan] LoadVulkanLibrary libvulkan.so.1[vulkan] LoadVulkanLibrary failed to load libvulkan.so.1Vulkan detection: 0
          GLX Extensions: GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_visual_info GLX_EXT_visual_rating GLX_EXT_framebuffer_sRGB GLX_EXT_create_context_es2_profile GLX_MESA_copy_sub_buffer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_EXT_texture_from_pixmap GLX_INTEL_swap_event GLX_ARB_context_flush_control
          Renderer: AMD Radeon (TM) RX 460 Graphics
          Vendor: ATI Technologies Inc.
          Version: 4.5.13529 Core Profile Context 18.20.2.15

  41. Any news on shadergraph / NET4.x incompatibility ?

  42. What is “Unable to find name key matches ‘rıght'”? What is “rıght”? And this error doesn’t affect run the game. But spamming my console.

    1. Charles Beauchemin

      7월 11, 2018 3:00 오후

      please open a bug using the Bug Reporter tool and we’ll follow up with you

  43. Can’t find the Addressables package in Package Manager and there seems to be no links to the preview builds anymore. How am I supposed to get the package?

    1. Charles Beauchemin

      7월 11, 2018 2:58 오후

      please have a look at our forum post here: https://forum.unity.com/threads/addressables-are-here.536304/

  44. Will Recorder 1.0 work with the HD Pipeline?

    1. Yes as long as you output to game screen and not cameras (it’s an option in the Recorder). We are working on a fix for the cameras.

  45. This is a massive changelist and one to be proud of. Thanks for all the work put into it! ESC will change everything. I also like work put into smaller tools such as Recorder. How many days I spent figuring out how to properly capture footage from Unity. Now I don’t have to! Thanks!

  46. THANK YOU FOR STREAMING MIPMAPS!!!!!!
    I see it works with lightmaps too, but does it manage reflection probes too?

  47. How do I get the Addressable Asset package? I don’t see it in the Package Manager.

    1. Check this forum post:
      https://forum.unity.com/threads/addressables-are-here.536304/

      The “Getting Started” document contains a link to a demo project that references the necessary packages.

  48. I’m a little confused, is ECS still in preview. Can we use ECS in our commercial releases/projects, or is it just to test out/learn and not recommended to use in final project releases.

  49. failed to download UWP IL2CPP component

    1. Charles Beauchemin

      7월 11, 2018 3:04 오후

      possibly an intermittent server overload issue? did you try doing it again? otherwise, you can try this direct link: http://download.unity3d.com/download_unity/787658998520/TargetSupportInstaller/UnitySetup-UWP-IL2CPP-Support-for-Editor-2018.2.0f2.exe

  50. IL2CPP-Managed Debugger — this is huge/awesome/excellent, can’t wait to try it.

  51. I just installed unity2018.2 and found that the font in the editor is still too small to read on a 4k screen. Where can I set the font size for text in the editor?

    1. Antoine Lassauzay

      7월 11, 2018 3:41 오후

      There is no option inside Unity to increase the font size however Unity will adjust to Windows settings for your monitors.
      This way you can scale up the font size and the whole Editor UI.

      Instructions from Microsoft support page: https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices

      Windows 10

      Select Display > Change the size of text, apps, and other items, and then adjust the slider for each monitor.

      Earlier Windows systems

      Right-click the application, select Properties, select the Compatibility tab, and then select the Disable display scaling on high DPI settings check box.

      1. Thank you for your explanation.
        I reset my scaling setting in Windows 10 and put it back to 150% and now Unity Editor looks good and I can finally read the text there again.

  52. Great update! I love being able to remove built in modules in the package manager. Is there anywhere I can find out more info on what each module covers completely so I know if I’m safe to disable them?

    Two examples:

    * I don’t use the physics or physics2d system except for collider and collider2d components (and their respective raycasters). I assume this means I can’t disable those modules safely, but how would I know that?

    * I don’t use videos anywhere but I use Unity Ads, do I need to keep the video module?

  53. Anthony Rosenbaum

    7월 10, 2018 9:44 오후

    Sweet only 3 more months until Nested Prefabs and Isometric Tilemaps!

    1. Charles Beauchemin

      7월 10, 2018 10:19 오후

      you can use Nested Prefabs right away by downloading the preview build here: https://unity3d.com/prefabs

  54. “Proxy Screen Space Reflection & Refraction”
    Is there a paper, blog post or any sources that explain the details of the working?

      1. Well there is nothing specifically about “Proxy Screen Space Reflection & Refraction” in these documents, and none talk about how it is implemented and the math and trick behind it. It’s hard to evaluate a new techniques without at least some paper talking about the math of how it operate! I don’t understand how it can be screen space and not use the depth pass at all.

      2. Goddamnit, it’s another name for box projection cubemap, you could have said that, My head was spinning for a while :(

        1. How could you make Proxy SSR work? I found no documentation about it.

  55. this is cool, but I wonder what about skinned mesh rendering component to be using in ECS and C# Job system?

    1. hola me llamo guillermo tnia cuatro mensajes en mi tablet

  56. Sir , actually I really happy and little bit disappointed with “no terrian” updates ! Please make new terrain feature like paint materials !

    1. We have Terrain updates coming in 2018.3, check out our Unite Berlin roadmap presentation for an overview: https://youtu.be/CWgi6hE26ig?t=32m56s

  57. Any word on the state of the GPU lightmapper? I know it was mentioned as a 2018.2 feature, has it been pushed to 2018.3.x?

    1. Charles Beauchemin

      7월 10, 2018 7:27 오후

      You can always keep an eye on our Unity Roadmap to know the features we are working on and the version in which we will be releasing them. For now, the GPU Lightmapper is in development but not scheduled yet.
      https://unity3d.com/unity/roadmap

  58. Michael Herzog

    7월 10, 2018 6:22 오후

    “In 2018.2, we added several improvements including Reactive system samples and arrays and strings.”
    Where are these string helpers? I can’t find a “NativeString” in the Unity.Collections namespace. Am I missing smth?

    1. The Entity Component System is focused on providing a new way of writing high performance code. It is up to you if you want to use it or not. We have no plan to deprecate MonoBehaviour / GameObject.

      1. Hello, Joachim! Thank you for your answer!
        It’s good to hear that MonoBehaviour/GameObjects are not going away. While ECS is a terrific thing, there are some cases, particularly, when developer has to rely on their old reusable code and their project is not bound by performance, it’s nice to have that old code supported by new Unity releases.

    2. Charles Beauchemin

      7월 10, 2018 7:55 오후

      Hi Michael, thanks for your feedback. It seems these systems will be coming later. I will edit the blog post to rectify this information.

  59. “Edit Sprite Mesh” in Anima 2D not work on 2018.2 – fix this please!

    When are you planning a new prefab system? As far as I remember, it’s promised in 2018.2 version.

    1. Charles Beauchemin

      7월 10, 2018 6:14 오후

      Can you use the bug reporter to file an issue for this please?
      As for the Prefab System, you can already get a preview build here: https://unity3d.com/prefabs but it is only scheduled for 2018.3.

  60. Holik Krisztián

    7월 10, 2018 5:53 오후

    Congratulations!

    Can i find any infromation about how to upgrade full old project to the new HDRP?

  61. Can you give us some details on why some nodes can and some can’t be used as vertex position input ?

    1. This is simple because HLSL doesnt allow some functions in the vertex shader. More information and a list of incompatible nodes can be found here: https://github.com/Unity-Technologies/ShaderGraph/wiki/Port

      1. Thank you Matt.

  62. Widh you could add Java beside C#, I’m still waiting your reales Which support Java.

    1. I believe you are misreading, or they did not explain well enough. They did not “add Java support” as in, you can’t write Java code as well as C# code, you can simply include already made Java plugins that Android will end up utilizing. That is assuming that I am interpreting this correctly as well.

      1. I’m asking them to make Java a main language. Still waiting.

        1. Alkis Tsapanidis

          7월 13, 2018 4:12 오후

          Simple request with an exceedingly easy answer:

          No.

        2. You’re going to be waiting a LOOOONG time. They just removed Javascript support, and have no intention to add Java support, like ever. Better for you to learn C#, or go somewhere else.

  63. Sad Government Worker

    7월 10, 2018 5:12 오후

    More unity updates that I will never see

    1. Another Sad Government Worker

      7월 10, 2018 5:22 오후

      Don’t worry, I think we will finally update to Unity 3.4.1

  64. All this looks magical, good to see you folks had loads of fun too :-)

  65. Maybe you could fix Unity’s crashes, hanging, bugs, and errors in your next release. All your “great” features don’t work without at least one engine crash – features that have been part of the engine for years. Every release makes it even more unstable. After working on Unity for 4 years, I’m moving on. I’d never recommend this engine if you want a relatively painless experience.

    1. Sorry to hear you are having problems. Have you filed any bug reports for these issues you are having? What are the bug numbers?

    2. Charles Beauchemin

      7월 10, 2018 5:04 오후

      Since 2017.3, we put in place a Release QA team dedicated to ensure the versions we are shipping are of good quality, on top of the QA teams working on testing each feature.

    3. I recommend you take some time to reevaluate your PC setup. At one point I was having a lot of crashing and issue which ended up being caused by video drivers and pc configuration. It has been a year and I work within unity 7-10 hours a day since I have had a single issue.

  66. Harshit Pratap Singh

    7월 10, 2018 4:27 오후

    The new features are great specially shader graph, new asset store, unity hub and the package manger.

  67. Jashan Chittesh

    7월 10, 2018 4:07 오후

    Do you have any news on the status LWRP and HDRP for VR? We currently have a project that builds across various VR (and now even AR) platforms – from high-end gaming PCs down to iPhone 6s and Samsung Galaxy S8, and many of the things coming with 2018.2 look like they would be extremely useful for us. Switching to SRP (and ECS / Jobs System ;-) )will probably be quite a bit of porting but might be worth it. But obviously only if VR really works with it ;-)

    1. LWRP works in 2018.2 for mobile VR platforms but it’s missing MSAA which is coming in 2018.3. HDRP support for VR will be 2019 once we have all the kinks worked out.

  68. What about the bone based 2d animation system. Is it ready?

    1. Charles Beauchemin

      7월 10, 2018 3:53 오후

      please check our 2D Preview forum for all the information about this package and other 2D packages: https://forum.unity.com/forums/2d-experimental-preview.104/

  69. Glauber Torres

    7월 10, 2018 3:31 오후

    This is very impressive! Any idea when facial mocap will be in public beta?

  70. A little frustrated with this “Additive scene lighting warnings”. Judging by this inclusion it appears as though there is no current solution and a solution is not planned for using baked probes from multiple scenes which is what I know a few devs were hoping for to help with procedural level generation. There was a bug raised for this but it was closed by Unity so perhaps the stance on this is that it is intended functionality?

    1. I agree. Additive level loading without light probes gives me exactly half of the lighting I need in order to render objects in a scene.

      I’ve had to tiptoe around this for years and make complex proxy art and duplicate lighting scenerios to sidestep this critical limitation. It’s ugly and limiting and giving day one warnings doesn’t solve the problem.

      New updates are neat, but I still wait for the day I see improvements to this system.

      1. We are actively working on removing the limitations on Additive Loading, especially light probes.

        1. Thank you for the reply. Its good to know that this area is receiving some attention.

    2. Here’s the bug I refered to marked as Postponed. https://issuetracker.unity3d.com/issues/mse-additively-loaded-scenes-use-light-probe-data-from-first-loaded-scene
      Postponed till when exactly?

  71. 终于修复了2d palette 的 bug

  72. immeasurability

    7월 10, 2018 3:07 오후

    when fix all bugs?

    1. Charles Beauchemin

      7월 10, 2018 3:32 오후

      2018.2 will receive regular updates with bug fixes until 2018.3 is out
      please check our blog post about LTS and TECH streams here: https://blogs.unity3d.com/2018/04/09/new-plans-for-unity-releases-introducing-the-tech-and-long-term-support-lts-streams/

  73. Congratulations on a new release!
    With all the focus on Entity Component System, should we worry that the current development approach using GameObjects and MonoBehaviours will become obsolete and will be deprecated at some point?

    1. Charles Beauchemin

      7월 10, 2018 7:39 오후

      We are not planning any deprecation of these any time soon. We will maintain what’s there with GameObjects and MonoBehaviours.

  74. That’s a long list of features… o.o

  75. Good stuff, though much still in preview!
    Planar Reflections? Do you have a link to info on this? Much needed

    1. Planar reflections are for the High Definition Render Pipeline.
      If you grab the latest version of it through the Package Manager, you will be able to add a “Planar Reflection Probe” to your scene (GameObject / Light / Planar Reflection Probe). Basically, this object is set like a reflection probe and will influence all surfaces within it’s bounds, but will do reflection according it’s relative horizontal plane.
      Note that you have an example setup if you add a “Mirror” object (GameObject / 3D Object / Mirror), which is a combination of a fully reflective plane + a planar reflection probe.

      1. Ah I see, any chance of some reduced quality version for the LWRP in future?
        We still want to show some mirror effect on mobile

  76. Awesome! Keep it coming guys!