Scaling Question, is there an application order?

This might sound dumb, but if rotation is applied in a set order because of matrix application does that also apply to scaling? If so would/does it matter if its applied in a different order? I’m thinking it does not because its a scalar?

Asking for a friend.

The reason I ask is I don’t seem to understand how the matrix is recalculated on the children of after a parent is scaled.

The fact the “Up” Vector on them gets all wonky has me concerned. The only one it stays correct on is the parent.

https://playground.babylonjs.com/#708DT0

Then on a side node, should scaling effect rotation values, because it seems like the rotation quat changes after a scale even if just by 1e-6+ or so but I’ve seen some crazy stuff happen.

Here is where everything is done: Babylon.js/transformNode.ts at master · BabylonJS/Babylon.js · GitHub

The order is:
pivot x scaling x rotation x translation x parent

2 Likes