빌트인 렌더러에서 프로젝트를 고해상도 렌더 파이프라인으로 전환
고해상도 렌더 파이프라인(HDRP)은 새로운 세트의 셰이더와 조명 단위를 사용하며 둘 모두 빌트인 렌더러와 호환되지 않습니다. Unity 프로젝트를 HDRP로 업그레이드하려면 먼저 모든 머티리얼과 셰이더를 전환한 다음 이에 따라 개별 광원 설정을 조정해야 합니다.
이 문서에서는 3D With Extras 템플릿 프로젝트를 HDRP로 전환하는 방법에 대해 설명하지만 프로젝트를 전환하는 동일한 워크플로를 사용할 수도 있습니다.이 문서를 따라 3D With Extras 프로젝트를 업그레이드하려면 3D With Extras 템플릿을 사용하는 프로젝트를 생성합니다. 이렇게 하려면 다음 단계를 따르십시오.
Unity Hub를 엽니다.
Projects 탭에서 New를 선택합니다.
Template 섹션에서 3D With Extras를 선택합니다.
Project Name을 입력하고 프로젝트를 저장할 Unity의 Location을 설정합니다.
Create를 클릭합니다.
Unity 에디터를 열면 다음과 같이 보입니다.
HDRP 설정
먼저 HDRP를 설치하려면 High Definition RP 패키지를 Unity 프로젝트에 추가합니다.
- Unity 에디터에서 Package Manager 창(메뉴: Window > Package Manager)을 엽니다.
- High Definition RP 패키지를 찾아 선택한 다음 Install을 클릭합니다.
HDRP는 현재 프로젝트에서 사용할 수 있습니다. HDRP를 설치할 때 Unity는 자동으로 두 HDRP 특정 컴포넌트를 씬의 게임 오브젝트에 연결합니다. 이는 HD Additional Light Data 컴포넌트를 광원에 연결하고 HD Additional Camera Data 컴포넌트는 카메라에 연결합니다. 프로젝트가 HDRP를 사용하도록 설정하지 않는 경우 모든 HDRP 컴포넌트가 씬에 존재하게 되며 Unity가 오류를 일으킵니다. 이러한 오류를 수정하려면 프로젝트에서 HDRP를 설정하는 방법에 대한 다음의 지침을 참조하십시오.
HDRP를 설정하려면 렌더 파이프라인 마법사를 사용합니다.
Render Pipeline Wizard 창을 엽니다(메뉴 Window > Render Pipeline > HD Render Pipeline Wizard).
Configuration Checking 섹션에서 HDRP 탭으로 이동하여 Fix All을 클릭합니다. 이렇게 하면 프로젝트에 관한 모든 HDRP 설정 문제를 수정합니다.
HDRP가 현재 프로젝트 내에 설정되어 있지만 씬이 올바르게 렌더링되지 않으며 마젠타 오류 셰이더를 사용하여 게임 오브젝트를 표시합니다. 이는 씬의 게임 오브젝트가 빌트인 렌더러용으로 만들어진 셰이더를 여전히 사용하기 때문입니다. 빌트인 셰이더를 HDRP 셰이더로 업그레이드하는 방법을 알아보려면 머티리얼 업그레이드 섹션을 참조하십시오.
HDRP에는 자체 포스트 프로세싱 구현이 포함되며 더 이상 포스트 프로세싱 패키지를 지원하지 않습니다. 3D With Extras 프로젝트를 전환하는 경우 또는 프로젝트가 포스트 프로세싱 패키지를 사용하는 경우 프로젝트에서 포스트 프로세싱 패키지를 제거합니다. 이렇게 하려면 다음 단계를 따르십시오.
Unity 에디터에서 Package Manager 창(메뉴: Window > Package Manager)을 엽니다.
Post Processing 패키지를 찾아 선택한 다음 Remove를 클릭합니다.
포스트 프로세싱 효과를 템플릿 프로젝트에 추가하고 커스터마이즈하는 방법에 대한 자세한 내용은 포스트 프로세싱 섹션을 참조하십시오.
머티리얼 업그레이드
씬의 머티리얼을 HDRP와 호환 가능한 머티리얼로 업그레이드하려면 다음 중 하나를 수행합니다.
Upgrade Project Materials to High Definition Materials: 프로젝트의 모든 호환 가능한 머티리얼을 HDRP 머티리얼로 전환합니다.
Upgrade Selected Materials to High Definition Materials: 프로젝트 창에 현재 선택된 모든 호환 가능한 머티리얼을 HDRP 머티리얼로 전환합니다.
Upgrade Scene Terrains to High Definition Terrains: 씬의 모든 터레인에서 빌트인 기본 스탠다드 터레인 머티리얼을 HDRP 기본 터레인 머티리얼로 교체합니다.
이러한 옵션을 다음에서 찾을 수 있습니다.
Edit > Render Pipeline 메뉴
Project Migration Quick-links 섹션의 Render Pipeline Wizard 창
이 프로세스는 커스텀 머티리얼이나 셰이더를 HDRP로 자동으로 업그레이드할 수 없습니다. 반드시 커스텀 머티리얼 및 셰이더를 수동으로 전환해야 합니다. 또한 HDRP가 더 많은 하이트맵 변위 기술과 압축 풀기 옵션을 지원하기 때문에 이 프로세스는 하이트맵 관련 프로퍼티를 올바르게 업그레이드할 수 없습니다. 즉 하이트매핑된 머티리얼이 올바르지 않게 보일 수 있습니다. 하이트맵을 사용하는 머티리얼을 업그레이드하는 경우 결과가 빌트인 렌더러 버전에 더욱 적합하게 일치할 때까지 머티리얼의 Amplitude 프로퍼티와 Base 프로퍼티를 수정합니다.
이 프로세스는 또한 파티클 셰이더를 업그레이드할 수 없습니다. HDRP가 파티클 셰이더를 지원하지 않지만 빌트인 파티클 시스템과 호환할 수 있는 일부 셰이더 그래프를 제공합니다. 이러한 셰이더 그래프는 빌트인 파티클 셰이더와 유사한 방법으로 작동합니다. 이러한 셰이더 그래프를 사용하려면 Particle System Shader Samples 샘플을 임포트합니다.
- 패키지 관리자 창을 엽니다(메뉴: Window > Package Manager).
- High Definition RP 엔트리를 찾아서 클릭합니다.
- High Definition RP에 대한 패키지 정보에서 Samples 섹션으로 이동하여 Particle System Shader Samples 옆의 Import into Project 버튼을 클릭합니다.
머티리얼 수동 전환
HDRP 머티리얼 컨버터는 자동으로 빌트인 스탠다드 머티리얼과 언릿 머티리얼을 각각 HDRP 릿 머티리얼과 언릿 머티리얼로 전환합니다. 프로세스는 오버레이 함수를 사용하여 컬러 채널을 함께 블렌딩하며 이는 Photoshop과 같은 이미지 편집 소프트웨어에서 하는 프로세스와 유사합니다. 커스텀 머티리얼을 수동으로 전환하는 데 도움이 되도록 이 섹션에서는 컨버터가 빌트인 머티리얼에서 생성하는 맵을 설명합니다.
마스크맵
빌트인 셰이더에서 HDRP 셰이더로 전환하는 프로세스는 빌트인 스탠다드 셰이더의 다른 머티리얼 맵을 HDRP 릿 머티리얼에 있는 마스크맵의 별도 RGBA 채널에 결합합니다. 각 맵이 들어갈 컬러 채널에 대한 자세한 내용은 마스크맵을 참조하십시오.
디테일 맵
빌트인 셰이더에서 HDRP 셰이더로 전환하는 프로세스는 빌트인 스탠다드 셰이더의 다른 디테일 맵을 HDRP 릿 머티리얼에 있는 디테일 맵의 별도 RGBA 채널에 결합합니다. 이는 또한 평활도 디테일을 추가합니다. 각 맵이 들어갈 컬러 채널에 대한 자세한 내용은 디테일 맵을 참조하십시오.
조명 조정
HDRP는 물리 광원 단위를 사용하여 광원의 강도를 제어합니다. 즉 이러한 단위는 빌트인 렌더 파이프라인이 사용하는 임의적인 단위와 일치하지 않습니다.
빛 강도 단위의 경우 방향 광원은 Lux를 사용하며 모든 다른 광원은 Lumen, Candela, EV를 사용하거나 일정 거리에서 Lux를 시뮬레이션합니다.
HDRP 프로젝트에서 조명을 설정하려면 다음 단계를 따르십시오.
기본 하늘 볼륨을 씬에 추가하여 주변광(메뉴 GameObject > Volume > Sky and Fog Volume)을 설정합니다.
이 새로운 하늘을 사용하려면 다음과 같이 환경 조명을 설정합니다.
Lighting 창을 엽니다(메뉴: ** Window > Rendering > Lighting Settings**).
Profile 프로퍼티의 경우 하늘 볼륨과 안개 볼륨이 사용하는 것과 동일한 볼륨 프로파일을 선택합니다.
Static Lighting Sky 프로퍼티의 경우 PhysicallyBasedSky를 선택합니다.
선택적으로 이 섹션에서 나머지 변경 사항을 만들 때 Unity가 씬의 조명을 다시 베이크하길 원치 않는 경우 창의 하단에 있는 Auto Generate 체크박스를 비활성화할 수 있습니다.
현재 그림자는 저품질입니다. 품질을 높이려면 그림자 프로퍼티를 다음과 같이 변경할 수 있습니다.
새로운 Global Volume 게임 오브젝트를 생성(메뉴: GameObject > Volume > Global Volume)하여 Global Settings라고 이름을 지정합니다.
이 볼륨에 대한 새로운 볼륨 프로파일을 만듭니다. 이렇게 하려면 볼륨의 인스펙터를 열어 New 버튼을 클릭합니다.
Shadows 오버라이드(Add Override > Shadowing > Shadows)를 추가한 다음 Max Distance를 활성화하여 50으로 설정합니다.
태양을 나타내는 빛(Directional Light 게임 오브젝트의 Light 컴포넌트)에서 Intensity를 100000으로 설정하고 Color는 흰색으로 설정합니다. 그런 다음 하늘에서 태양을 보려면 Shape 섹션으로 이동하여 Angular Diameter를 3으로 설정합니다.
현재 씬이 과다 노출되어 있습니다. 이를 수정하려면 3a 단계에서 생성한 Global Settings 게임 오브젝트를 선택하여 Exposure 오버라이드를 해당 Volume 컴포넌트(Add Override > Exposure)에 추가합니다. 그런 다음 Mode를 Automatic으로 설정합니다.
노출을 새로 고침하려면 씬 뷰로 이동하여 Animate Materials를 활성화합니다.
광원 쿠키를 수정하고 HDRP는 컬러가 지정된 광원 쿠키를 지원하기 때문에 빌트인 광원 쿠키는 알파만 포함된 텍스처 포맷을 사용합니다.
프로젝트 창에서 Assets > ExampleAssets> Textures > Light_Cookies > Spotlight_Cookie를 선택합니다.
인스펙터에서 임포트 타입을 Cookie에서 Default로 변경합니다.
Wrap Mode를 Clamp로 설정합니다.
작업 광원을 다음과 같이 수정합니다.
계층 창에서 ExampleAssets > Props > ConstructionLight > Spot Light를 선택하고 Light 컴포넌트를 인스펙터에서 확인합니다.
Intensity를 17000 Lumen으로 변경합니다. 이렇게 하면 8500 Lumen 전구 2개를 나타냅니다.
Emission 섹션에서 More Options를 활성화합니다.
Reflector 체크박스를 활성화합니다. 이는 스폿 광원 뒤의 반사 표면을 시뮬레이션하여 시각적 강도를 조정합니다.
전구 머티리얼을 발광하게 하려면 다음을 수행합니다.
프로젝트 창에서 Assets/ExampleAssets/Materials/Lightbulb_Mat.mat를 선택합니다.
인스펙터의 Emission Inputs 섹션에서 Use Emission Intensity를 활성화하고 Emissive Color를 흰색으로 설정한 다음 Emission Intensity를 8500 Luminance로 설정합니다.
마지막으로 2d 단계에서 Auto Generate를 비활성화한 경우 Lighting 창으로 이동하여 Generate Lighting 버튼을 누릅니다. Auto Generate를 다시 활성화할 수도 있습니다.
포스트 프로세싱
HDRP는 더 이상 Post Processing 패키지를 지원하지 않으며 대신 자체 포스트 프로세싱 구현이 포함되어 있습니다. 씬을 HDRP 포스트 프로세싱으로 전환하려면 다음 단계를 따르십시오.
계층 구조에서 Post-process Volume 게임 오브젝트를 삭제합니다.
- 프로젝트가 포스트 프로세싱 패키지의 스크립팅 API를 사용하여 포스트 프로세싱 효과를 편집한 경우 새로운 포스트 프로세싱 효과를 사용하여 작업하려면 스크립트를 업데이트해야 합니다.
새로운 Global Volume 게임 오브젝트(메뉴: GameObject > Volume > Global Volume)를 생성하여 이름을 "Post-processes"로 지정합니다. 볼륨 인스펙터에서 Add Override를 선택하면 Post-processing 하위 메뉴에서 모든 포스트 프로세스를 찾을 수 있습니다.
Tonemapping 오버라이드를 볼륨(Add Override > Post-processing > Tonemapping)에 추가한 다음 Mode를 활성화하여 ACES로 설정합니다.
Bloom 오버라이드를 볼륨(Add Override > Post-processing > Bloom)에 추가한 다음 Intensity를 활성화하여 0.2로 설정합니다. 블룸의 결과는 포스트 프로세싱 패키지에서의 결과와 같지 않습니다. HDRP의 블룸 효과는 물리적으로 정확하고 카메라 렌즈의 품질을 모방하기 때문입니다.
Motion Blur 오버라이드를 볼륨(Add Override > Post-processing > Motion Blur)에 추가한 다음 Intensity를 활성화하여 0.1로 설정합니다.
Vignette 오버라이드를 볼륨(Add Override > Post-processing > Vignette)에 추가한 다음 아래의 프로퍼티 값을 설정합니다.
Intensity를 활성화하여 0.55로 설정합니다.
Smoothness를 활성화하여 0.4로 설정합니다.
Roundness를 활성화하여 0으로 설정합니다.
Depth Of Field 오버라이드를 볼륨(Add Override > Post-processing > Depth Of Field)에 추가한 다음 다음의 프로퍼티 값을 설정합니다.
Focus Mode를 활성화하여 Manual로 설정합니다.
Near Blur 섹션에서 Start를 활성화하여 0으로 설정한 다음 End를 활성화하여 0.5로 설정합니다.
Far Blur 섹션에서 Start를 활성화하여 2로 설정한 다음 End를 활성화하여 10으로 설정합니다. 이 효과는 게임 뷰에만 표시됩니다.
마지막으로 Global Settings 게임 오브젝트를 선택하여 인스펙터에서 확인합니다. Volume 컴포넌트에서 Ambient Occlusion 오버라이드를 추가(Add Override > Lighting > Ambient Occlusion)한 다음 Intensity를 활성화하여 0.5로 설정합니다.
결과
현재 게임 뷰의 씬은 다음과 같이 보입니다.