What are the best practices and trade-offs for both performance and collider creation for typical 3D third or first person games? I’m looking for advanced information since I’ve been doing this in Unity in many projects over many years and am interested in seeing if Unity has any new approaches, or what other experts think.
Typically, I use terrain for outdoors but have been happy with systems that create their own models for streets, mounds of rocks, etc. Still, when walking in a cave or up stairs with railings, I end up creating a lot of extra convex colliders along with my models. I have used mesh collider (convex on) when breaking a model into parts (like arches or curved walls might have three or more boxes to approximate the curves). I have also leveraged an interesting method that was shared with me, where one will use the navmesh to constrain the player character - an unusual controller but it does work but then has issues since the camera still needs colliders if it is high and, say above the ceiling, etc. At one point I read about a system that actually looks at the visual polygons via light raycasting, as opposed to the normal physic raycasting. Alternatively, I’ve try to use other plugins from the asset store, but they take me more time to use than creating the colliders in the modeling software (I used Blender to create simple sibling objects that I remove the renderer later in Unity).
Anyway, wanted some feedback from other level designer or game play experts on their take. I will reference this question in Nov 16 Unite’s “Ask the Expert”.
Thanks,
Mike