콘텐츠로 이동

Perspective Removal 가이드

NiloToon의 Perspective Removal 기능 사용 시 발생할 수 있는 문제와 해결 방법을 설명해요.


화면 가장자리에서 잘못된 Culling

캐릭터의 Renderer가 화면 가장자리에 가까울 때 사라지는 경우, Perspective Removal이 원인일 수 있어요.

해결 방법 1: Update When Offscreen

먼저 모든 캐릭터의 Skinned Mesh Renderer에서 Update When Offscreen을 활성화해 주세요.

Update When Offscreen 설정

해결 방법 2: Bound 크기 확대

위 방법으로 해결되지 않는 경우, Skinned Mesh Renderer의 Bound를 더 크게 만들어 주세요. Bound를 크게 하면 Unity의 Culling 시스템이 Renderer를 잘못 Cull하는 것을 방지할 수 있어요.

Skinned Mesh Renderer Bound 설정

원인

Unity의 Culling 시스템은 항상 Perspective Removal이 적용되지 않은 지오메트리를 Culling에 사용해요. Unity의 소스 코드에 접근하지 않는 한 Unity의 Culling 시스템을 수정할 방법이 없어요.


부착 오브젝트가 3D에서 정확히 일치하지 않는 문제

NiloToon_Character Shader만 Perspective Removal을 받을 수 있어요. 이 기능을 지원하지 않는 다른 Shader는 Perspective Removal의 영향을 받지 않아요 (예: 손이 무기/마이크를 완벽하게 잡지 못하는 문제).

간단한 방법

대상 오브젝트의 Renderer를 NiloToonPerCharacterRenderController 스크립트의 attachmentRendererList에 드래그해 주세요. 대상 오브젝트는 NiloToon의 Character Shader를 사용해야 하며, 해당 오브젝트의 NiloToonPerCharacterRenderController비활성화해야 해요.

간단한 방법 설정

복잡한 방법

  1. 임의의 GameObject에 NiloToonCharacterRenderOverrider 스크립트를 추가해 주세요
  2. 캐릭터의 루트 스크립트를 TargetCharacterRenderController 슬롯에 드래그해 주세요
  3. 모든 부착 오브젝트(예: 무기)를 Targets에 드래그해 주세요

복잡한 방법 설정

결과

Targets 내의 Renderer가 모두 NiloToon_Character Shader를 사용하는 경우, 모든 Target의 Perspective Removal 결과가 해당 캐릭터와 동기화돼요 (Perspective Removal 결과가 동일하게 적용돼요).