Hi Chris,
Here are the quick repro steps demonstrating what I was saying...

Turn off child compensate.
Create two nulls, parent one(child) to the other(parent).
Set the global transforms of the child null to something like posy = 1,
rotx = 3.
Run match all transforms on the parent null to the child null.
Observe the parent null's position jump to decimals, instead of (0,1,0)
which is what I would expect after matching transforms.


//jscript
oValue = GetUserPref("SI3D_NODETRANSFORM_CHILD_COMPENSATE");
SetUserPref("SI3D_NODETRANSFORM_CHILD_COMPENSATE", 0);

oParent = GetPrim("Null","parent"); //create a parent null

oChild = GetPrim("Null","child",oParent); //create a child null parented
to the parent null

oChild.Kinematics.Global. posy.value = 1; //set some transforms on the
child null where the parent null will match transforms to.
oChild.Kinematics.Global. rotx.value = 3; //set some transforms on the
child null where the parent null will match transforms to.

MatchTransform(oParent, oChild, siSRT, null); //perform match all
transform on the parent null to the child null

logmessage(oParent.Kinematics.Global.posy.value); //the child null had a
global position y of 1, which logically should be where the parent null is
moved to, but that is not the case.

SetUserPref("SI3D_NODETRANSFORM_CHILD_COMPENSATE", oValue);

// expected result // INFO : 0.9986295...

Reply via email to