Solaris follow path constraint look at mode breaking
1928 8 1- Geoff Marshall
- 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
- npetit
- Staff
- 413 posts
- Joined: Feb. 2008
- Offline
- Geoff Marshall
- Member
- 17 posts
- Joined: Aug. 2015
- Offline
- npetit
- 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.
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.
- Geoff Marshall
- Member
- 17 posts
- Joined: Aug. 2015
- Offline
- npetit
- Staff
- 413 posts
- Joined: Feb. 2008
- Offline
- Geoff Marshall
- Member
- 17 posts
- Joined: Aug. 2015
- Offline
- Geoff Marshall
- 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.
- npetit
- 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.
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