Hi,
we just opened up an old scene and found that some objects were moving strange
on their curves. It seems some bug was introduced to the path-constrain operator
when using closed curves and tangency. Tangency is doing something wrong.
A little python-script to reproduce:
Application.NewScene("", "")
Application.SICreateCurve("crvlist", 3, 0)
Application.SIAddPointOnCurveAtEnd("crvlist", -4.12493302610738, 0,
-1.5985306969839, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", -1.94612224821476, 0,
-2.72067807367415, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 2.89802986962416, 0,
-3.2076476899737, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 6.282590301302, 0,
1.95846476120408, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 0.973061124107382, 0,
4.54152098679297, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", -2.87687636692617, 0,
3.71578989828504, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", -5.01338013942281, 0,
1.09038848867011, False, 0, "")
Application.ApplyTopoOp("CrvOpenClose", "crvlist", 3, "siPersistentOperation",
"")
Application.ActivateObjectSelTool("")
Application.ActivateObjectSelTool("")
Application.GetPrim("Null", "", "", "")
Application.ApplyCns("Path", "null", "crvlist", "")
Application.SetValue("null.kine.pathcns.perc", 3.646, "") # on linux the
objects rotation will be nan when this is 0 and tangency gets activated
Application.SetValue("null.kine.pathcns.tangent", True, "")
Application.SetValue("null.kine.pathcns.dirx", 0, "")
Application.SetValue("null.kine.pathcns.diry", 0, "")
Application.SetValue("null.kine.pathcns.dirz", 1, "")
Application.SetValue("null.kine.pathcns.upvct_active", True, "")
When you now move the path age slider you will notice that the null doesn't
align to the curve like it should.
Some observations:
+ was introduced either with 2014SP1 or SP2 (works in 2014 but not in SP2 or
2015, don't have SP1 available atm)
+ only closed handmade curves are affected (but not getPrimitve->curve->circle)
+ null rotation becomes 'nan' on linux when path-age is 0 and tangency is
activated (no problem on windows)
Please please fix it for for the absolute final Softimage version!
cheers,
Thomas