Documents for 3D collision & physics

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By raould
:warning: Old Version Published before Godot 3 was released.

I have not found documentation that explains 3D collision & physics. At first I “just” want to know how to do 3D kinematic collisions. I see a lot about 2D but not really anything canonical for 3D. If anybody has step-by-step docs/tuts/videos/projects about it, that would be a great help!

P.S. I did see GameFromScratch did a tutorial on 2D. I also finally noticed that the Godot class naming is confusing to me in that the 3D equivalents are named not by replacing the 2D with 3D, rather by dropping the 2D. But even with all that, I think it would be better/best if there were a tutorial/docs dedicated to the whole 3D question.

Im not sure eather. I also wish there where more on 3d physics for kynematic bodies. The best I found on 3d is the roll a ball tutoriall https://www.youtube.com/watch?v=_P1LkbT2Oz8, but that does NOT cover kynematic bodies (sadly).

Sojan | 2016-08-21 12:45

:bust_in_silhouette: Reply From: RODGIMA

NO idea :frowning: i have same question…

:bust_in_silhouette: Reply From: RODGIMA

https://forum.godotengine.org/1602/physics-for-objects-in-3d

:bust_in_silhouette: Reply From: RODGIMA

3d shapes node can give u a solution

:bust_in_silhouette: Reply From: DimitriyPS

In Godot there is a serious bug with the bodies in 3D physics. Before it correction not possible to use the complex form of the kinematic bodies.

:bust_in_silhouette: Reply From: raould

In the end I use Areas and move one per object I want to collide. Then I set up signals for area_enter( Object area ) and implement my own function for it. That way I can get basic collision in 3d. If you get the Godot_Demos zip and unpack it and search through it for examples of 2d Area and _on_body_enter() you can start to see how things are wired up and coded up. That’s what I did to “learn” how to do it. “Just” use the 3d verison of Area and CollisionShape.

It requires that I use a tree like this for each:

  1. Area as parent
    2a) Mesh as child of Area
    2b) CollisionShape as child of Area, sibling of Mesh.

So the CollisionShape is a hack that is a fake bounding box approximation to my real 3d mesh geometry. Better than nothing. :slight_smile: :frowning: