SpriteRenderer에서 전환하려는 각 버전마다 하나씩 두 개의 텍스처를 취하는 사용자 지정 셰이더를 사용하여이 방법에 접근했습니다.
(이 효과를 사용하여 두 개 이상의 상태를 전환하더라도 여전히 게임을 구성하려고 시도하므로 한 번에 두 개만 렌더링 할 수 있습니다. 이전 상태와 다음 상태입니다. 플레이어가 세 번째 상태로 전환을 시작하기 전에 완료되었습니다.이 시점에서 더 이상 표시되지 않으므로 이전 "이전"상태를 바꿀 수 있습니다.)
이 쉐이더는 효과에 대한 마스크로 세 번째 단일 채널 텍스처를 사용하여 두 텍스처 사이에서 크로스 페이드됩니다 (예 : 검정 = 100 % 오래된 상태, 회색 = 50/50 혼합, 흰색 = 100 % 새로운 상태). 이 마스크 텍스처를 화면 공간에 매핑합니다.
그런 다음이 마스크를 생성하기 위해 RenderTexture로 렌더링 할 두 번째 카메라를 설정했습니다. 이 두 번째 카메라는 기본 카메라와 함께 이동하고 FoV / 직교 크기와 일치하므로 내 뷰의 모든 애니메이션이 월드에 적용되고 마스크가 일관되게 나타납니다. 이 카메라는 내 주 카메라보다 먼저 렌더링되며 특별히 지정된 "공개"레이어의 내용 만 보도록 설정되었습니다. 비디오 예제에서는 입자 시스템을 사용하여 작은 구름 모양 모음을이 텍스쳐로 스 플래트하여 시간이 지남에 따라 확장되어 전이가 유기적으로 퍼지는 가장자리를 제공합니다.