Character disappears when it's origin is not visible

I have an orthogonal camera and a plane object to simulate a 2D sprite.

  • The plane has four vertices (0,0), (0,1), (1,1), (1,0)
  • The plane has two triangles (0,1,2) and (0,2,3)
  • This panel represents the main character. The origin of the main character object is directly below the character’s feet.

The problem is that when the origin of the main character goes off-screen, the whole character disappears. It reappears back when the origin is within view (eg. the camera catches up after falling down a ledge).

  • The character has rigidbody, a box-collider with trigger and a few scripts.
  • The textures are set to “unlit transparent”. I tried changing the texture to “diffuse” but the effect persists.

I don't think there is a way to turn off frustum culling. There are ways to mitigate it.

I had a similar problem because my meshes were procedurally generated. Apparently culling is based on the bounds of the mesh. But then I found that if I scaled the GameObject, the bounds didn’t seem to scale… it was not easy to test this. So I set the bounds to the scaled value and the culling issues went away. I wish there was an easier solution.

try this: Why Ragdolls become invisible in Unity - YouTube