I am making a game but everytime I parent an object to another the parented object ends up distorted when I start the game, but its fine in the 3D view. I have tried parenting an empty to the first object, and the second to the empty, but the second object (child) always ends up completely messed up. Plz Help!
Care to share the file? Why are you parenting for? what purpose?
My guess is that your parent object has a scale or rotation value which has not been applied. If you press the N Key over the 3D window, you can bring up the transform properties for the selected object. Select the parent object and look at its “ScaleX” “ScaleY” and “ScaleZ” values. If they are not all 1.000, then you will have problems. However, don’t just set them to 1.000, because that will simply undo any scaling you have done. Instead follow these steps:
- Unparent the children with Alt+P. If you don’t do this, the scale factor will be applied recursively (meaning that it will be applied to all of the children as well when you apply it to the parent).
- Select the parent object and press Ctrl+A to apply scale and rotation to the object data.
- Now you can add child objects to it again, and they should appear correctly in game.
You should always be sure to apply your scale and rotation to any object that you are planning to use in the game engine. There are several strange problems that can occur if you don’t.
The only time I would recommend that you don’t apply scale is if you actually want the children or added objects to be deformed by the scale factor of the parent or the adding object. Of course, you would know ahead of time that you desired that effect in that sort of situation.
Thanks A LOT for this trick!! I don’t know how I could have imagined it myself, and this kind of problem was driving me crazy!!