I recently encountered a problem about how to attach collision shape to bones so they can be moved and collision detected with the animation. Full discussion is in this thread: https://godotforums.org/discussion/26556/physicsbone-of-kineticbody-has-no-effect-in-collision#latest.
I think a 3D fighting game probably need to solve this problem. Think of the character has some fighting animations. To check the animation actually hit the enemy and don't cause obvious overlap with enemy's model, I think there should be some PhysicsNode attach to player's fists and feet, and move together with bone animation. My current attempts 1) player as KinematicBody, add PhysicalBone as BoneAttachment to fist/head bones as child of the the Skeleton. 2) player as KinematicBody, click "Create Physical Skeleton" on Skeleton, godot generate physics bones for every bone. Adjust fist/head's PhysicsBone's CollisionShape to be a little larger than fist/head. 3) with 1) or 2), but change PhysicsBone to something else, I tried KinematicBody and RigidBody.
All Results: no collision as if head/fist were air.
So I'd like to discuss: Has any one attempted to make 3D fighting that solves this problem? How do you solve it? Sorry I couldn't find any open source examples of this online. If you are interested to give a try with some code, you can clone this repo: https://github.com/GDQuest/godot-3d-mannequin. If you run the player against the wall, the head would inject into the wall. The goal is to avoid that.
Thank you!