Built-in Render Pipeline에서 URP로 마이그레이션
이 페이지에는 베타 버전에 관한 설명이 포함되어 있습니다.
Cubism 5 SDK for Unity R5 beta3부터 대응하는 렌더 파이프라인이 Built-in Render Pipeline에서 Universal Render Pipeline(이하 URP)으로 변경됩니다.
이에 따라 Built-in Render Pipeline을 사용한 프로젝트는 URP로 마이그레이션해야합니다.
Built-in Render Pipeline에 대해서는 Unity 공식 매뉴얼의 Manual: Using the Built-In Render Pipeline을, URP에 대해서는 Manual: Using the Universal Render Pipeline을 확인하십시오.
Built-in Render Pipeline에서 URP로 마이그레이션하는 절차에 대해서는 Unity 공식 매뉴얼의 Manual: Upgrading from the Built-In Render Pipeline to URP를 함께 참조하십시오.
마이그레이션에 따른 제한사항 및 주의사항
Built-in Render Pipeline 지원에 대해서
지금까지 사용했던 Built-in Render Pipeline은 URP용 패키지가 Built-in Render Pipeline과 호환되지 않기 때문에 사용할 수 없습니다.
대신 Cubism 5 SDK for Unity R4_1 및 거기에서 파생된 Cubism SDK for Unity를 Built-in Render Pipeline 지원 버전으로 유지보수합니다.
또한 Built-in Render Pipeline 지원 버전에서는 Cubism 5.3 이상의 기능을 지원할 계획이 없습니다.
HDRP(High Definition Render Pipeline)에 대한 지원에 대해
HDRP를 이용하는 프로젝트에서는 URP용 패키지가 HDRP와 호환성이 없기 때문에 이용할 수 없습니다.
HDR 정보
HDR Precision을 32bits로 설정하면 배경이 검은색으로 변하고 정상적으로 합성되지 않을 수 있습니다.
HDR Precision을 64bit로 설정하면 정상적으로 그릴 수 있습니다.
설정에 대해서는 Unity 공식 매뉴얼의 Manual: Universal Render Pipeline asset reference for URP 및 Manual: Display advanced properties in a URP Asset을 확인하십시오.
Cubism Editor와 동등한 표현을 하려면 HDR을 끄고 Color Space를 Gamma로 설정해야 합니다.
마스크 정보
URP 대응에 의해 마스크의 구조가 변경됩니다.
자세한 내용은 「URP에서의 마스크」를 참조하십시오.
빌드 정보
블렌드 모드를 사용하는 머티리얼을 Shader Variants에서 미리 생성하므로 사용하는 환경에 따라 빌드 시간이 이전에 비해 크게 증가할 수 있습니다.
명백히 사용하지 않는 머티리얼이나 블렌드 모드가 존재하는 경우 빌드 시에 불필요한 머티리얼을 Strip하도록 설정하는 것으로 빌드 시간을 억제할 수 있습니다.
R4_1에서 마이그레이션하는 방법
Built-in Render Pipeline을 사용하여 Cubism 5 SDK for Unity R4_1을 가져온 프로젝트를 기반으로 설명합니다.
패키지 가져오기 절차
Universal Render Pipeline 에셋을 설치합니다.

그런 다음 URP에 대응하는 Cubism SDK for Unity를 가져오고 다음 단계 중 하나를 수행합니다.
Assets/Live2D/Cubism/Rendering/Masking 폴더를 삭제하려면
Assets/Live2D/Cubism/Rendering/Masking 폴더를 삭제합니다.
그런 다음 아래 절차가 필요합니다.
- CubismMaskTexture 에셋 삭제
- Assets/Live2D/Cubism/Samples/Masking 폴더 삭제
- 모델 프리팹에 연결된 CubismMaskController 구성 요소 삭제
- Assets/Live2D/Cubism/Editor/Inspectors/CubismMaskTextureInspector.cs 삭제
- Assets/Live2D/Cubism/Editor/Inspectors/CubismMaskControllerInspector.cs 삭제
Assets/Live2D/Cubism/Rendering/Masking 폴더를 삭제하지 않는 경우
다음 절차가 필요합니다.
- 모델 프리팹에 연결된 CubismMaskController 구성 요소 삭제
- Assets/Live2D/Cubism/Rendering/Masking/CubismMaskMaskedJunktion.cs에서 CubismRenderer.OnMaskPropertiesDidChange()를 찾을 수 없다는 오류가 발생하는 부분을 주석 처리하거나 삭제

그런 다음 Library 폴더를 삭제하고 Unity를 다시 시작합니다.
Library 폴더를 삭제하지 않으려면 모델을 다시 가져옵니다.
패키지 가져오기 후 설정
Project 창의 컨텍스트 메뉴 내 Create/Rendering에서 URP Asset (with Universal Renderer)을 선택하여 Universal Renderer Pipeline 에셋을 만듭니다.

Project Settings을 열고 생성한 Universal Renderer Pipeline 에셋을 Project Settings/Graphics/Default Render Pipeline으로 설정합니다.

이제 프로젝트의 렌더 파이프라인이 URP로 설정됩니다.
생성한 Universal Renderer Pipeline 에셋의 Rendering/Renderer List에 CubismURPRenderer.asset을 설정합니다.

Default로 설정하면 장면 뷰에서도 Cubism 모델이 표시됩니다.
장면에서 Cubism 모델을 표시할 카메라의 Renderer가 CubismURPRenderer로 되어 있는지 확인합니다.

임의의 모델을 장면에 배치하면 모델이 그려집니다.
