private string GetBoneLocalTransform(GrnBone bone, string nameM3)
{
Maxscript.Command("{0} = matrix3 1", nameM3);
Maxscript.Command("{0} = transmatrix {1}", nameM3, Maxscript.Point3Literal(bone.Position));
Maxscript.Command("{0} = (inverse(quat {1} {2} {3} {4}) as matrix3) * {0}", nameM3, bone.Rotation.X, bone.Rotation.Y, bone.Rotation.Z, bone.Rotation.W);
Maxscript.Command("{0} = (matrix3 [{1}, {2}, {3}] [{4}, {5}, {6}] [{7}, {8}, {9}] [0,0,0]) * {0}", nameM3,
bone.Scale.A1, bone.Scale.A2, bone.Scale.A3,
bone.Scale.B1, bone.Scale.B2, bone.Scale.B3,
bone.Scale.C1, bone.Scale.C2, bone.Scale.C3);
return nameM3;
}