Perspective Removal 가이드¶
NiloToon의 Perspective Removal 기능 사용 시 발생할 수 있는 문제와 해결 방법을 설명해요.
화면 가장자리에서 잘못된 Culling¶
캐릭터의 Renderer가 화면 가장자리에 가까울 때 사라지는 경우, Perspective Removal이 원인일 수 있어요.
해결 방법 1: Update When Offscreen¶
먼저 모든 캐릭터의 Skinned Mesh Renderer에서 Update When Offscreen을 활성화해 주세요.

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

원인
Unity의 Culling 시스템은 항상 Perspective Removal이 적용되지 않은 지오메트리를 Culling에 사용해요. Unity의 소스 코드에 접근하지 않는 한 Unity의 Culling 시스템을 수정할 방법이 없어요.
부착 오브젝트가 3D에서 정확히 일치하지 않는 문제¶
NiloToon_Character Shader만 Perspective Removal을 받을 수 있어요. 이 기능을 지원하지 않는 다른 Shader는 Perspective Removal의 영향을 받지 않아요 (예: 손이 무기/마이크를 완벽하게 잡지 못하는 문제).
간단한 방법¶
대상 오브젝트의 Renderer를 NiloToonPerCharacterRenderController 스크립트의 attachmentRendererList에 드래그해 주세요. 대상 오브젝트는 NiloToon의 Character Shader를 사용해야 하며, 해당 오브젝트의 NiloToonPerCharacterRenderController는 비활성화해야 해요.

복잡한 방법¶
- 임의의 GameObject에 NiloToonCharacterRenderOverrider 스크립트를 추가해 주세요
- 캐릭터의 루트 스크립트를 TargetCharacterRenderController 슬롯에 드래그해 주세요
- 모든 부착 오브젝트(예: 무기)를 Targets에 드래그해 주세요

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