HEYAYAYAY…. Anyway, I’m in the process of creating some assets for a game I’m working on. Now this isn’t my first time with Unity3D (albeit my first serious try), but I’m asking:
Cheetah3D has this neat ‘Tube’ object. I haven’t exported to Unity yet, but it appears to have normals on both sides (well, duh). My question is: can I have this as a sort of ‘room’ that can be explored on the inside, yet viewed from outside?
I read previously somewhere (I think on the KSP forums) that Unity doesn’t support concave meshes due to the limitations of PhysX, but I still need to know for sure, before I spend a bunch of time on something that was never going to work.
Yes you can. Normally such a shape has faces pointing in both directions (doubling up) but you can render the back face of a single face if you use the right shader too. MeshColliders are the thing with the convex property - they are a bit fragile - it depends what you want them for, but they back face cull which can lead to problems. Normally you would map primitive colliders onto your scene to make it more robust.
I would suggest that you make a scene out of bits that you construct in a modelling package rather than trying to render the whole thing there. Unity has a limit of 65,000 vertices per mesh in any case.
Yes, you can have tube objects in Unity. From which side it can viewed depends only on the shader. Most shaders use backface culling, so they only render the “front” side. Each vertex only have one normal (at least in Unity). So you have only one normal for light calculations. It’s possible to “transform” the normal in the shader, but usually you just model both sides as seperate triangles, one facing the front and one the back side.
Concave mesh-colliders are possible, but the only exception is that Unity (or PhysX) can’t handle collisions between two concave (or non-convex to be more precise) colliders. Primitive colliders (Box, sphere, capsule) and convex meshcolliders can collide with non-convex coliders without any problems.