I have a feeling that unity automatically culls meshes outside of the camera frustrum. How can I disable this, or what can I do to make the entire level visible? I might want to cull certain things like point lights, but the road geometry should always be visible.
Anything outside of the camera frustum can never be visible, since the camera does not see it.
So if you want more of your level to be visible, you would need to make the frustum bigger, for example increase the field-of-view. (fovy)
Normally culling is a good thing – meshes are only skipped if they have no chance of putting a single pixel on the screen. But, for models where (0,0,0) is nowhere near the verts, Unity can get confused.
What usually happens is the modeller meant to shift the entire mesh to a better spot, but accidentally moved only the verts, leaving (0,0,0) far, far away. Or the animator accidentally “moved” the model through a base bone and now every animation moves you 50 units right. Parenting appears to solve both of these (sometimes w/o you realizing.) But, the culler still sees a small model, with the official (0,0,0) way off the end of the screen, and skips it.
Best solution is to go back to the modelling program and recenter the model. It really is a modelling error.
I figured it out and it wasn’t what you guys were saying, but you led me to the right idea. What I did was I grouped all my level components under one game object (in attempt keep things neat). That was the problem. After I took my models out of the game object they all culled correctly.
Edit: Nevermind what I said. This didn’t actually fix it. The problem is in the modeler.