What’s the best way to make collision for a large hollow cylinder that player can walk around inside of? It’s positively huge so I don’t think ordinary concave polygon collider would be smooth enough. Basically I want to create a walkable o’Neill cylinder.
My previous attempt solution was to just disable collisions for the thing, place a huge flat invisible box for player to walk on and make cylinder follow the player with rolling-like action.
Looks visually fine, but this approach have numerous issues, such as player being able to walk through objects protruding from the surface as the most obvious one, the second is necessity to prevent player from running around in circles (walls in the video), since the plane isn’t infinite, just huge. Another is you can’t have any physical objects, like boxes, since they would fall straight down (and through the thing) from the player’s perspective.
Each object on the surface should have its own collision. So that when it rotates in place the character still won’t be able to walk into it.
and yes, they should be separate from the base object too, mostly because you really want the engine to occlude them automatically.
As far as objects with physics. You can.
You just need to enable physics only when the character is close and disable them as the object’s rotation tilts past its tipping point.
you can actually calculate this with basic physics math. If you know the object size (bounds), its local center of gravity, you can determine at which angle of incline the simulation would tip the object over. I would say to turn it off about 10deg. Before the tipping point is mathematically reached to be on the safe side.
though, you should be aware that the rotation of the base may impart extra force to the math.
As far as the collision goes.
Let me point you to some intel optimization articles on how to efficiently split meshes for occlusion.
Doing this should actually “convert” the object to where each piece can be a convex hull.
I would also LOD manually at least 2 levels to add/reduce detail. Using the highest lod for collision purposes.
here is the article. Scroll down to the occlusion part. They have image graphs on different ways to slice stuff.