I’m trying to animate 3D objects (Collada) using bullet physics. The idea is to have a low poly landscape with objects like trees, rocks, etc. Some objects consist of several sub meshes. By default objects are inactive. Once activated, an object should collapse (i.e. all parts of the object should fall to the ground).
Attached is a setup with a simple tree model. To create the rigid bodies, I import the Collada, then split the meshes, get Indices and Vertices and feed them into the Convex Hull node. So far so good. There are small gaps between the individual parts of the tree so that the rigid bodies don’t intersect on creation. However, when I activate the bodies there seems to be immediate contact and they push each other away rather than fall to the ground. Even when I leave bigger gaps the same thing happens. It seems like the geometry that Convex Hull generates for calculation is quite different to the original mesh.
Does anyone have any suggestions? Am I doing something fundamentally wrong here?
LowPoly_Bullet.zip (121.1 kB)
I’ve opened the collada and found what follows: it seems that trunk normals are inverted, in both files; also trunks are missing top and bottom polygons/caps so to close the mesh; meshes have a number of redundant vertices/points.
I can’t test the relevancy of these “issues” with bullet, because if I try to export the meshes again, I have a number of remarkable issues: I get double meshes, for example.
This is a problem with my collada exporter. Try fix the normals, closing trunks and optimizing points, it’s 30 secs job for both files, and report if something changes, please.
Thanks for the hints h99! I fixed the trunk normals and closed all the holes. Although I don’t see a big difference in the bullet animation, it’s probably better to work with neat meshes.
However, I noticed that the axis centers were not in the middle of my objects…rookie mistake. After fixing the axes, everything falls more naturally (as it should)
Eh I told you… I didn’t know if normals and stuff could have any relevance. What you mean by middle? The centroid of each singular mesh?