Joining objects without parenting

Ok, I have a quite complicated problem:
Im making a Blender car game with collisions on different parts of the car, I divided the car into 5 parts: the back, the front, the 2 sides and the middle. I added all the blocks needed to make collision happen and stuff but now I need to find a way to join all these parts without using parenting because if I parent then all the parts are taken up by one big boundary and it just damages one part no matter where the car gets hit. One solution I thought of was taking Compound off but thant didnt go well…the car went flying all over the place :no:. So is there any way to join objects without using parenting (or Ctrl + J). I can post pics if that helps just ask what of.

Thanks alot!!!
Kacper:cool:

It is a complicated problem, indeed.
Maybe if each part of the car moved together as one, but not actually attached…
For example, you could set the scene up and then half them all being controlled by one set of controls. I mean if you had W (for example) as the key to move forward, then all the parts would have the same controls meaning they would all move forward at the same time, and when the collision occured, they would all act as their own rigid bodies.

Ye but im not using logic bricks for the movement, I use a python script.

I think you’re mistaken. Parenting does not combine object collision shapes.

It does if you use the compound setting which i have to use because otherwise my car goes all over the place

A script andrew 101 came up with might be able to be adapted for your problem.
There’s a blend file near the bottom of the page called “snake.blend” you can download it and take a look at the script.

http://http://blenderartists.org/forum/showthread.php?t=150006

basically what it does is defines each specific cube and places them in a list called
GameLogic.cubes[]
It then takes those separate pieces and puts them under one name GameLogic.snake[]
Then all movement can be applied as if to one named object.
It will take a little work to sort out which parts of this code to implement because it was specifically written to apply movement changes in an offset order, not all at once. But I’ve been playing with the script for a couple days and I think you could probably adapt it to your situation…

Sorry but Im an incredible noob when it comes to python scripts the only thing i can do is copy and paste them LOL. But Ive had a look at it and I see what you mean but there must be some other simpler way of joining 2 objects.

Thanks alot again

EDIT: I found another way of doing this. By making the middle part of the car a ghost and parenting the parts onto it but then everything (all the children of the middle) become ghosts as well. So its still not working.

I know a way that might work but it involves python. If you have one object to control the other parts, then have a script that gets the position of the control object and sets the positions of the other pieces relative to that, it might work. If you learn python this should be pretty simple, but to get the rotation the same it would be a lot more complicated. Not sure if this helped, and I don’t have time to make an example at eh moment. hope you figure it out.

Hey it took me a while to understand the problem.

The only way i could get it to work was with a script.

Good news it is only 5 lines long. Check out the example, the empty has a script that sets the collision box to its position.

Edit: I added rotation to the example

Attachments

fakingparentedcollisions.blend (155 KB)

Thanks a lot for all your efforts but I already found a solution: Instead of using the Collision actuator I used the ray and it works 100% perfect

EDIT: can anyone recommend any speedo tutorials because Im having a hard time finding one