Lets say I have two objects. Both objects look the same size in the editor however each one is scaled wildly differently because their source files are different scales. (I have no control of changing the source assets.)
Now, I want to add a child object to each of these objects. (Lets say its a hat for arguments sake). Problem is that each child object will always takes scale from the local object and not from the world so I will end up with wildly different sized hats on each object.
How can I cut override this behavior in the editor so that cutting a pasting objects just uses world transforms?
I really have no idea why the default behavior is like this. What is the reason? It just causes incredible confusion at edit time and even more so at runtime.
I think the engine’s original intention was to keep the entity’s position, rotation, and scale values unchanged after reparenting. However, this is not very practical, especially when developers do not want the object’s position, size, or rotation to change due to the new parent. You can record these properties in world coordinates before reparenting and then reapply them after reparenting to maintain the original transformation.
Can I suggest there is some kind of ‘keep transforms’ checkbox or paste with existing transforms option? To have this as the default seems madness to me.