Solaris follow path constraint look at mode breaking

   1928   8   1
User Avatar
Member
17 posts
Joined: Aug. 2015
Offline
I'm making a camera follow a bezier curve path with an orient along curve sop in Solaris. The moment I use any kind of look at mode the camera shakes and flips 90 degrees now and then. Works fine with a circle, anything more complex, I can't get it to behave. Does anyone have what should be the default example of this working?
Edited by Geoff Marshall - Feb. 17, 2023 18:06:05
User Avatar
Staff
413 posts
Joined: Feb. 2008
Offline
Do you have an example scene to look at?
The camera shouldn't shake, but if it flips it'll probably due to not setting the up vector properly.
User Avatar
Member
17 posts
Joined: Aug. 2015
Offline
Here's a stripped down example of what I'm experiencing, thanks.

Attachments:
ConstraintExample.zip (7.9 MB)

User Avatar
Staff
413 posts
Joined: Feb. 2008
Offline
Here's a fixed hip file.
The default look up mode set to "Up Vector Attribute from Path" is not working in your case since you do not have a "tangentu" primvar on the curve, you have an "up" primvar.
Switching from "tangentu" to "up" fixes the issue (add whatever roll you need to correct the alignment), however your attribute flips on the curve ends. Switching it to simply using the "Y Axis" makes it a lot more predictable and easier to control.

Attachments:
Solaris Constraint Example_001_Fixed.hip (6.0 MB)

User Avatar
Member
17 posts
Joined: Aug. 2015
Offline
The flipping is gone and the stuttering remains. I am using Houdini core 19.0.383 and it threw a number of errors opening your file so I'm starting to think this may be a 19.0 bug
User Avatar
Staff
413 posts
Joined: Feb. 2008
Offline
The stuttering is due to the fact your curve is a poly curve - convert it to a nurbs curve for smooth motion.

I saved the file in 19.5, that'll be why you're getting errors on opening it.
User Avatar
Member
17 posts
Joined: Aug. 2015
Offline
Converting to a nurbs curve or even starting with a nurbs curve will not eliminate the stuttering, even in the fixed file.
User Avatar
Member
17 posts
Joined: Aug. 2015
Offline
Translating the curve to world center before the follow path constraint and transforming back out again wproduces smooth translation, which is a symptom of 32bit float errors. I will ask sidefx support id the followpathconstraint node is 32bit and if there's a way to change it's binding to 64bit as you can in the attrib wrangle.
User Avatar
Staff
413 posts
Joined: Feb. 2008
Offline
There are a couple of issues currently. The follow path CHOP this node references uses a VEX CHOP internally which is 32 bit.
Another issue there isn't much we can do about is the fact that the USD spec defines positions, velocities etc as 32 bit float3 attributes. However, if we transform the target curves' packed USD prim before unpacking them, we can somewhat mitigate the lack of precision. The matrix transform we apply to the source prims (the camera in your case) is 64 bit.

With that said, tomorrow's build of 19.5 should fix the jittering you're seeing with the camera alignment.
  • Quick Links