Unity 유니버설 렌더 파이프라인 지원

March 9th, 2020

애니메이션 유니버설 렌더 2D 데모

spine-unity 런타임에 설정된 Unity 2019.3 버전의 유니버설 렌더 파이프라인2D 렌더러 기능 지원을 알려드리게 되어 기쁩니다!

유니버설 렌더 파이프라인(URP)은 고품질 그래픽스 성능을 제공하도록 최적화된 기존 스크립터블 렌더 파이프라인(SRP)이며 경량 렌더 파이프라인(LWRP)의 후속 모델입니다. 모바일 플랫폼에서 하이엔드 PC 및 콘솔까지 완벽하게 확장됩니다. 새로운 2D 렌더러 워크플로를 추가하여 특히 2D 게임용으로 제작된 다루기 쉬운 2D 라이팅 시스템을 제공합니다.

이제 다운로드 가능한 추가 Unity 패키지 매니저(UPM) 패키지 com.esotericsoftware.spine.urp-shaders가 있어서 URP 지원을 추가하여 spine-unity 런타임을 확장할 수 있습니다.

별도의 패키지가 필요한 이유

Unity에서는 많은 옵션 모듈을 새로운 Unity 패키지 매니저(UPM) 에코시스템으로 옮겼습니다. 또한 URP 기반 셰이더 파일은 Universal RP라는 이름의 UPM 패키지로 제공되며, 기본으로 제공되는 모든 새 Unity 프로젝트의 일부는 아닙니다.

spine-unity 런타임에 URP Spine 셰이더를 포함 시키면 Unity의 Universal RP 패키지가 프로젝트에 설치되지 않은 경우 혼란스러운 오류 메시지와 추가 구성 단계가 발생합니다. URP Spine 셰이더를 UPM 패키지로 제공함으로써 이러한 종속성이 자동으로 해결되어 이 추가 기능을 보다 쉽게 사용할 수 있습니다.

앞으로 Unity의 옵션 패키지에 의존하는 다른 spine-unity 기능에 별도의 UPM 패키지를 제공할 예정입니다.

설치

다운로드 페이지를 통해 UPM 패키지를 다운로드하거나, Git 저장소의 spine-unity/모듈 서브디렉터리에서 UPM 패키지를 찾을 수 있습니다. 패키지 설치 방법에 대해서는 spine-unity 설명서 페이지의 확장 UPM 패키지 설치에 대한 지침을 따라 하세요.

URP 예제

URP 셰이더 선택

이 패키지에는 위의 애니메이션 GIF와 유사한 두 가지의 예제 장면이 포함되어 있으며 com.esotericsoftware.spine.urp-shaders-3.8/Examples/2D/URP 2D Shaders.unitycom.esotericsoftware.spine.urp-shaders-3.8/Examples/3D/URP 3D Shaders.unity에서 확인할 수 있습니다. 이 예제 장면에서는 각각의 2D 및 3D 렌더러 설정에서 URP 셰이더를 사용하는 방법을 보여줍니다. 이 장면은 Project Settings - Graphics에 설정된 현재 UniversalRenderPipelineAsset의 설정 변경에 반응합니다.

사용법

spine-unity 런타임 Spine/Skeleton Lit, Spine/Sprite/Vertex LitPixel Lit의 표준 Spine 셰이더는 유니버설 렌더 파이프라인과 호환되지 않습니다. 대신, Spine Universal RP Shaders 패키지에서는 2D 렌더러 지원을 포함하여 유니버설 렌더 파이프라인을 위해 특별히 만들어진 셰이더를 제공합니다.

  1. Universal Render Pipeline/2D/Spine/Skeleton Lit

    Spine/Skeleton Lit 셰이더의 유니버설 2D 렌더러 배리언트.

  2. Universal Render Pipeline/2D/Spine/Sprite

    Spine/Sprite/Vertex LitPixel Lit 셰이더의 유니버설 2D 렌더러 배리언트.

  3. Universal Render Pipeline/Spine/Skeleton

    Spine/Skeleton 셰이더의 유니버설 배리언트.

  4. Universal Render Pipeline/Spine/Skeleton Lit

    Spine/Skeleton Lit 셰이더의 유니버설 배리언트.

  5. Universal Render Pipeline/Spine/Sprite

    Spine/Sprite/Vertex LitPixel Lit 셰이더의 유니버설 배리언트.

머티리얼 속성에서 Shader 메뉴를 통해 셰이더를 머티리얼에 할당할 수 있습니다:

URP 셰이더 선택

유니버설 렌더 파이프라인 셰이더는 Project Settings - Graphics에서 할당된 UniversalRenderPipelineAsset의 설정을 준수합니다. 다음의 GIF는 이러한 설정을 변경하면 장면 속의 캐릭터가 어떻게 영향을 받는지 보여줍니다:

프로젝트 설정 - URP 에셋

URP 에셋 설정 라이브 업데이트

제한 사항

다른 모든 Spine 셰이더와 마찬가지로, LWRP 셰이더는 Linear 색 공간을 사용할 때 Premultiply alpha(PMA) 아틀라스 텍스처를 지원하지 않습니다. Linear 색 공간을 사용하는 경우 Premultiply alpha 설정을 비활성화하여 아틀라스 텍스처를 straight alpha 텍스처로 내보내세요. 자세한 내용은 스트레이트 알파 내보내기 및 가져오기 설정 지침을 참조하세요.

확실하지 않은 경우 Edit > Project Settings > Player > Other Settings > Color Space을 통해 현재 활성화된 색 공간을 확인할 수 있습니다.

플레이어 설정 - 감마

spine-unity 런타임에 이러한 추가 기능을 사용하여 하이엔드 및 로우엔드 장치 모두에서 더욱 인상적인 게임과 앱을 만들 수 있으시기를 바랍니다. 포럼에서 여러분의 의견을 공유하세요.