I have a cube mesh that I want to have deleted when it collides with a hitbox. I parented the cube to another cube which is used for steering. After doing the parenting, the child no long fires the end object action on collisions. I have tried grouping them and having compound collision, but that doesn't help. I also ensured that neither of the options were set to 'ghost. How do I get this to work?
-
$\begingroup$ You had an end object actuator to the cube before parenting it to another cube? And after the parenting took place it won't disappear no more? Can you share blend file through pasteall.org/blend ? $\endgroup$– LevCommented Aug 10, 2015 at 20:47
-
$\begingroup$ pasteall.org/blend/37503 <---there you go, the blue cube has a yellow sensor poking out of the corners, when it collides with the red cube and vice-verse, but since the red cube is parented to the purple box, it doesn't die $\endgroup$– FuscoCommented Aug 11, 2015 at 8:50
-
$\begingroup$ It would be nice to skip the scene restart. It took me some headache to find out why your cubes are constantly resetting ;) $\endgroup$– MonsterCommented Aug 13, 2015 at 5:26
1 Answer
When you parent an object to another, it inherits all transformations (translation, rotation, scaling) from the parent. Therefore the physics has no effect on that object. The physics engine treats children like static objects regardless if you set it to dynamic, rigid body or soft body. This saves a lot of processing time.
Another performance saver is that it is assumed that statics will not collide with other objects (as they are static and do not move). Therefore the Physics engine does not measure collisions on statics. The other object (non-static) will detect the collision.
A third speed improvement is that only 'Actor' objects are sensed. Dynamic and rigid body objects are actors by default (as long as they are not parented -> which makes them static).
Solution
If you need an object that senses collisions but does not get effected by physics you can use the Physics type Sensor
. You can even parent it to another object. Just make sure it is larger than the parent. Otherwise it can't detect anything.