On Houdini 19.0
I'm trying to get a world transform on a primitive at a specific frame.
From vex's usd_worldtransform documentation page [www.sidefx.com], I should be able to use a timecode argument, but this seems to output the current frame value.
See screenshot:
- /world/cube2 is animated on tx between frame 1001 and frame 1010.
- matrix constraint_fixed_m should return /world/cube2 world transform at frame 1001
- matrix constraint_m should return /world/cube2 world transform at current frame
- to check the values, I export both translate values (fixed and animated)
- in the scene graph detail, the attribute A_constraint_fixed_t has the same value as A_constraint_t and shows the current frame value.
Is the vex function usd_worldtransform broken ? How can I get the value at frame 1001 no matter what the current frame ?
I have the same problem with usd_localtransform.
VEX: get usd_localtransform at specific timecode not working
815 5 1- BenWall
- Member
- 13 posts
- Joined: April 2019
- Offline
- BenWall
- Member
- 13 posts
- Joined: April 2019
- Offline
- goldleaf
- Staff
- 4168 posts
- Joined: Sept. 2007
- Online
The issue is that Houdini is only cooking the data to USD on the current frame. If you set the Frame Range on the Cube LOP to "Sample Frame Range", that should author the data across the entire frame range, so the VEX functions have data to retrieve at the specified time codes. This Frame Range is a much more efficient version of using a Cache LOP to author time samples across a time range.
Hopefully that works, but if it's not working with cached values, it's probably a bug worth logging.
Hopefully that works, but if it's not working with cached values, it's probably a bug worth logging.
I'm o.d.d.
- BenWall
- Member
- 13 posts
- Joined: April 2019
- Offline
- goldleaf
- Staff
- 4168 posts
- Joined: Sept. 2007
- Online
- BenWall
- Member
- 13 posts
- Joined: April 2019
- Offline
-
- Quick Links