So I am wondering, what type of colliders would be best for a 3D animated character in a 2D fighting game, otherwise known as 2.5D (something like Street Fighter IV), in Unity? I am assuming a rigidbody would be needed since there will be a lot of physics involved and responses to force, i.e. being kicked, punched, etc.? Keep in mind that in a fighting game the character has many animations, at least 20-30, if not more. In addition, since it's one-on-one fighting, the enemy would also need to have many animations and be able to handle collision and so forth. I've done some research on the subject and here are the options I've come up with:
- A rigidbody with isKinematic set to False for the whole character and a mesh collider over the whole character. The problem with a mesh collider is that it's not meant to be used for animated objects (I think). It's mostly for static, simple geometry. In addition, a mesh collider cannot collide with another mesh collider, unless its Convex, but in that case it cannot have more than 250 or so triangles (an animated 3D character has thousands of triangles).
- A rigidbody with isKinematic attribute set to False and mesh colliders for each body part, i.e. head, arms, legs, torso. Similar problem with #1 above. Mesh collider is not for animated objects.
- A rigidbody with isKinematic set to False and a primitive collider for each body part, i.e. sphere for head, capsule for arms and legs, cube for torso. This would allow for detecting collison for each body part, which is essential for fighting game mechanics.
- Same as above, but also add a separate rigidbody to each body part as well.
So far I am leaning towards option #4, but I would like to hear some educated opinions from people on here more experienced than myself.
Edited by lougv22, 22 March 2014 - 08:07 PM.