유니버설 렌더 파이프라인 12 버전으로 업그레이드
이 페이지는 예전 버전의 유니버설 렌더 파이프라인(URP)에서 12.0.x 버전으로 업그레이드하는 방법을 소개합니다.
빌트인 렌더 파이프라인 프로젝트용으로 제작된 에셋을 URP와 호환되는 에셋으로 전환하는 방법에 대한 자세한 내용은 렌더 파이프라인 컨버터 페이지를 참조하십시오.
URP 11.x.x에서 업그레이드
포워드 렌더러 에셋의 이름을 유니버설 렌더러 에셋으로 변경했습니다. URP 12가 포함된 기존 프로젝트를 Unity 에디터에서 열면 Unity는 기존 포워드 렌더러 에셋을 유니버설 렌더러 에셋으로 업데이트합니다.
유니버설 렌더러 에셋에는 포워드 또는 디퍼드 렌더링 경로를 선택할 수 있는 Rendering Path 프로퍼티가 포함되어 있습니다.
이제
ClearFlag.Depth
메서드는 스텐실 버퍼를 암시적으로 지우지 않습니다. 새 메서드인ClearFlag.Stencil
을 사용하십시오.URP 12는 렌더 파이프라인 컨버터 기능을 구현합니다. 이 기능은 이전에 **Edit > Render Pipeline > Universal Render Pipeline > Upgrade...**에서 제공되던 에셋 업그레이드 기능을 대체합니다.
URP 10.0.x-10.2.x에서 업그레이드
다음 셰이더 그래프 셰이더의 파일 이름이 변경되었습니다. 새 파일 이름에는 공백이 없습니다.
Autodesk Interactive
Autodesk Interactive Masked
Autodesk Interactive Transparent
Shader.Find()
메서드를 사용하여 셰이더를 찾는 경우 셰이더 이름에서 공백을 제거하십시오(예:Shader.Find("AutodeskInteractive)
).
URP 7.2.x 이상 릴리스에서 업그레이드
- URP 12.x.x는 패키지 포스트 프로세싱 스택 v2를 지원하지 않습니다. 프로젝트가 패키지 포스트 프로세싱 스택 v2를 사용하는 경우 먼저 해당 패키지를 사용하는 효과를 마이그레이션하십시오.
DepthNormals 패스
버전 10.0.x부터 URP는 _CameraNormalsTexture
라는 노멀 텍스처를 생성할 수 있습니다. 커스텀 셰이더에서 이 텍스처로 렌더링하려면 DepthNormals
라는 이름의 패스를 추가하십시오. 예제는 Lit.shader
구현을 참조하십시오.
스크린 공간 앰비언트 오클루전(SSAO)
URP 10.0.x는 스크린 공간 앰비언트 오클루전(SSAO) 효과를 구현합니다.
커스텀 셰이더에 SSAO 효과를 사용하려는 경우 SSAO와 관련된 다음 엔터티를 고려하십시오.
_SCREEN_SPACE_OCCLUSION
키워드.Input.hlsl
의InputData
구조체에는float2 normalizedScreenSpaceUV
라는 새로운 선언이 들어 있습니다.Lighting.hlsl
에는 간접 및 직접 오클루전 계산을 위한 변수가 포함된AmbientOcclusionFactor
구조체가 들어 있습니다.struct AmbientOcclusionFactor { half indirectAmbientOcclusion; half directAmbientOcclusion; };
Lighting.hlsl
에는 SSAO 텍스처를 샘플링하기 위한 다음 함수가 들어 있습니다.half SampleAmbientOcclusion(float2 normalizedScreenSpaceUV)
Lighting.hlsl
에는 다음 함수가 들어 있습니다.AmbientOcclusionFactor GetScreenSpaceAmbientOcclusion(float2 normalizedScreenSpaceUV)
커스텀 셰이더에서 SSAO를 지원하려면 DepthNormals
패스와 _SCREEN_SPACE_OCCLUSION
키워드를 셰이더에 추가하십시오. 예제는 Lit.shader
를 참조하십시오.
커스텀 셰이더가 커스텀 함수를 구현하는 경우 GetScreenSpaceAmbientOcclusion(float2 normalizedScreenSpaceUV)
함수를 사용하여 조명 계산을 위한 AmbientOcclusionFactor
값을 가져오십시오.
그림자 노멀 바이어스
11.0.x에서는 그림자 노멀 바이어스를 적용하는 데 사용되는 수식이 펑추얼 광원에서 더욱 잘 작동하도록 약간 수정되었습니다. 따라서 이전 버전의 그림자 윤곽선과 정확히 일치하려면 일부 씬에서 파라미터를 조정해야 할 수 있습니다. 일반적으로 방향 광원의 경우 1.0 대신 1.4를 사용하면 충분합니다.
임시 텍스처
이전에는 렌더러에 렌더러 기능이 활성화된 경우 URP는 임시 렌더러를 통한 렌더링을 강제로 수행해야 했습니다. 이는 일부 플랫폼에서 성능에 상당한 영향을 미쳤습니다. 이러한 이유로 이제 렌더러 기능은 ScriptableRenderPass.ConfigureInput
을 사용하여 입력을 선언해야 합니다. 이 정보를 사용하여 임시 텍스처를 통한 렌더링이 필요한지 여부를 자동으로 결정합니다.
호환성의 이유로 Intermediate Texture라는 새 프로퍼티가 유니버설 렌더러에 추가되었습니다. 이를 통해 새로운 동작을 사용하거나 임시 텍스처 사용을 강제할 수 있습니다. 후자는 렌더러 기능이 ScriptableRenderPass.ConfigureInput
을 사용하여 입력을 선언하지 않는 경우에만 사용해야 합니다.
렌더러 기능을 사용하던 모든 기존 유니버설 렌더러 에셋(URP에 포함된 에셋 제외)은 임시 텍스처를 강제로 사용하도록 업그레이드되므로 기존 설정이 계속 올바르게 작동합니다. 새로 생성된 유니버설 렌더러 에셋은 새로운 동작을 기본값으로 사용합니다.
URP 7.0.x-7.1.x에서 업그레이드
먼저 URP 7.2.0으로 업그레이드합니다. 유니버설 렌더 파이프라인 7.2.0 버전으로 업그레이드를 참조합니다.
URP 8.x.x는 포스트 프로세싱 스택 V2 패키지를 지원하지 않습니다. 프로젝트가 포스트 프로세싱 스택 V2 패키지를 사용하는 경우 해당 패키지를 사용하는 효과를 먼저 마이그레이션해야 합니다.
LWRP에서 12.x.x로 업그레이드
- LWRP에서 URP 12.x.x로 직접 업그레이드할 수 있는 경로는 없습니다. 먼저 LWRP를 URP 11.x.x로 업그레이드한 후 URP 11.x.x에서 URP 12.x.x로 업그레이드하는 단계를 따르십시오.