Convex hull Collision problem

So, with all objects in my .blend, if I have no physics on any of the materials, and the object is set to “static,” I can’t seem to get the a collision bound of convex hull or triangle mesh working. On the other hand, in the same situation with the same settings, when any of the other collision mesh options are enabled (box, capsule, cone, etc…) it works and my dynamic character won’t go through the object.
Any thoughts?

Also, is there any way to change the size if I choose “box” or any other collision mesh? I have some objects, like trees, that when “box” collision mesh is chosen, or any other one, it’s either way too big and strange in shape in some other way- it just keeps my character way, way too far from the object. If I suck at explaining this I’ll post some pics/vid/.blend but I think you guys may get my point. I was thinking, maybe place an invisible object in the middle of the “tree” and make a collision around that, stretching/molding that invisible object to create a collision bound I’d like for the tree. Any help is greatly appreciated.

Turn on view physics,

convex hulls only work for very simple shapes,

if it is a tree, i would recommend using many cylinder sub objects and compound parenting them to a ‘tree physics root’
‘compound’ must be checked in the root object.

this way you can get an accurate shape as well as also have a collision volume unlike triangle mesh.

delay 0 frames run 1-------and--------set parent(root compound no ghost)
delay 1 frame set state -(empty state)

(objects can pop through a triangle mesh and miss collisions much easier then a shape with a collision volume*)


quickCompoundTree.blend (605 KB)

Awesome, thanks BPR. Is this good on performance? Like, is it more efficient to parent through actuators like your .blend, or is it better to parent it using ctrl+p (performance wise, like Frame Rate, general game speed, etc)? Also, what exactly does “compound” do, as in, how does it affect the objects?

Again, thanks a lot. You’re one of my favorite users on the whole site, just saying. A lot of your work goes way over my head, so I learn a lot picking apart your blends to figure out how you write your scripts. (They are super complicated to me, but you definitely help me a lot on broadening my knowledge/capabilities in BGE.)

For something like a tree with complex shapes, I make it no collision. And will simply use a plane on the tree bark at the same height as my charactors, so they collide with the plane, instead of the whole tree. Then I add that plane to the tree group, and instance it.


Instance it?

when you group something on a hidden layer, you can add a instance of that object using add menu(group instance)
make sure the center of the group rests at 0,0,0

alternatively alt+d instances individual objects meshes and data etc.

in upbge you can enable geometry instancing
meaning using many copies of a low poly mesh in a scene cost much less (like grass or leaves or bricks)

Thanks BPR, and yeah I see what you’re saying. I was actually going to make a different thread about this, wondering if there was a way to go beyond individually instancing each object (with alt+d) many times- only because I noticed that when you do this, all it really does is create a new object using the same mesh, with the same materials. However, all other data (physics setting, LOD settings, all other settings related to an object) remain different per object/instance. If I change settings on one object, the other instances of that object won’t change also. I’d imagine this takes eats performance a bit also, any way to make it so that each “instance” is literally the same as the others? As in each setting within the object? Also, how is UPBGE’s geometry instancing different/better than what I’m doing now in BGE (alt+d instancing). I only ask because if I see that many positives in UPBGE, I might just go download it. I just like having the blender render next to the game engine.