05-19-2017, 03:02 PM
Hello jake,
Curvy has some incorrectness at connection points. If the connection point lay in a curve and the spline controller move over the connection point then the controller yerks for a short time. I dived into the problem and the approximation table of the two last entries (near 1) have the same angle. This cause a bad movement at control points.
Rotating handles at a connection of 3 splines unfortunately flips some of the handles into the opposite direction. Sync Rotation should take care of signed value of a handle L/R.
Skolstvo said: ↑
Why are the splines using so many milliseconds of performance per Update frame? Even though they aren't doing anything? I have a scene where 30 percent of performance comes from BehaviourUpdate/CurvySpline.Update(). Also what's with all the garbage? I thought it was common knowledge that C# garbage collection in Unity is useless. Why create so many new variables in Update? Am I simply misinformed?
Copy that. The spline controller spinning rotation create an late/fixed/update() and GC call per segment. This is a big performance issue on larger spline sets. It can be prevented by an option in your segment code.
Moving a controller over a connection of more then 2 splines cause the controller to a unwanted flip while moving backwards sometime. The logic is buggy.
The API GetAngle (or similar) returns wrong angles in some situations.
Some basic stuff of curvy is buggy and need to be fixed or enhanced.
Can you help?
Curvy has some incorrectness at connection points. If the connection point lay in a curve and the spline controller move over the connection point then the controller yerks for a short time. I dived into the problem and the approximation table of the two last entries (near 1) have the same angle. This cause a bad movement at control points.
Rotating handles at a connection of 3 splines unfortunately flips some of the handles into the opposite direction. Sync Rotation should take care of signed value of a handle L/R.
Skolstvo said: ↑
Why are the splines using so many milliseconds of performance per Update frame? Even though they aren't doing anything? I have a scene where 30 percent of performance comes from BehaviourUpdate/CurvySpline.Update(). Also what's with all the garbage? I thought it was common knowledge that C# garbage collection in Unity is useless. Why create so many new variables in Update? Am I simply misinformed?
Copy that. The spline controller spinning rotation create an late/fixed/update() and GC call per segment. This is a big performance issue on larger spline sets. It can be prevented by an option in your segment code.
Moving a controller over a connection of more then 2 splines cause the controller to a unwanted flip while moving backwards sometime. The logic is buggy.
The API GetAngle (or similar) returns wrong angles in some situations.
Some basic stuff of curvy is buggy and need to be fixed or enhanced.
Can you help?