Skip to content

Perspective Removal Guide

This section covers potential issues when using NiloToon's Perspective Removal feature and how to resolve them.


Incorrect Culling at Screen Edges

If a character's renderer disappears when close to the edge of the screen, Perspective Removal may be the cause.

Solution 1: Update When Offscreen

First, enable Update When Offscreen on all character Skinned Mesh Renderers.

Update When Offscreen setting

Solution 2: Enlarge Bounds

If the above method does not solve the issue, make the Skinned Mesh Renderer's Bounds larger. Enlarging the bounds can prevent Unity's culling system from incorrectly culling the renderer.

Skinned Mesh Renderer Bounds setting

Cause

Unity's culling system always uses geometry without Perspective Removal applied for culling. There is no way to modify Unity's culling system without access to Unity's source code.


Attached Objects Not Matching Perfectly in 3D

Only the NiloToon_Character shader can receive Perspective Removal. Other shaders that do not support this feature will not be affected by Perspective Removal (e.g., hands may not perfectly grab a weapon/microphone).

Simple Method

Drag the target object's renderer into the NiloToonPerCharacterRenderController script's attachmentRendererList. The target object must use NiloToon's Character Shader, and its own NiloToonPerCharacterRenderController must be disabled.

Simple method setting

Complex Method

  1. Add the NiloToonCharacterRenderOverrider script to any GameObject
  2. Drag the character's root script to the TargetCharacterRenderController slot
  3. Drag all attached objects (e.g., weapons) to Targets

Complex method setting

Result

If all renderers inside Targets are using the NiloToon_Character shader, all targets' Perspective Removal results will be synchronized with the character (the Perspective Removal result will be applied identically).