It looks like APEX Scene Animate SOP caches/stashes the whole scene, and one needs to use "Reset Custom..." button to reset it every time a change is made on the graph?
Is this really the intended behavior? It just feels so weird. No one would expect Rig Pose to cache anything. Why does APEX Scene Animate need to do this?
It makes rigging so painful. To tweak a rig's behavior, no matter how small the change is, you need to:
1. Select the correct APEX Edit Graph node
2. Open a APEX network view if you don't have one already
3. Make the change
4. Select the correct APEX Scene Animate node(s! plural if you have multiple ones in a node chain)
5. Reset Custom...
6. Select the correct character element
7. Accept
The minimum amount of clicks is 7. It's just... I can only hope this is actually a bug, not the intended workflow.
APEX Scene Animate's cache behavior?
2440 9 1-
- kodra
- Member
- 373 posts
- Joined: 6月 2023
- Offline
-
- kodra
- Member
- 373 posts
- Joined: 6月 2023
- Offline
My workaround so far: make an additional button on APEX Scene Animate SOP.
I absolutely hate this 'solution', but at least it saves 2~4 clicks:
I absolutely hate this 'solution', but at least it saves 2~4 clicks:
def resetRig(kwargs): node = kwargs['node'] parm = node.parm("animation") cur = parm.eval() if cur: tmp = hou.Geometry() apex.packFolderMerge(tmp, cur, "* ^/*.rig") parm.set(tmp) viewers = [pt for pt in hou.ui.paneTabs() if pt.type() == hou.paneTabType.SceneViewer] for v in viewers: reset_viewer_state(v) def reset_viewer_state(viewer): if viewer.currentState() != 'sopview': viewer.enterViewState() viewer.enterCurrentNodeState()
Edited by kodra - 2023年12月5日 16:43:07
-
- esttri
- スタッフ
- 114 posts
- Joined: 5月 2021
- Offline
I think the problem you are encountering happens when you are dropping and apex animate node directly under an unpacked character. As far as i am understanding that is what you are doing, right? It should also work in that case, so yes, it is a bug. But for now the very easy way of getting it working, is to add your character via the APEX Scene Add Character node to your scene. Then the update behavior works as expected
-
- kodra
- Member
- 373 posts
- Joined: 6月 2023
- Offline
esttri
I think the problem you are encountering happens when you are dropping and apex animate node directly under an unpacked character. As far as i am understanding that is what you are doing, right? It should also work in that case, so yes, it is a bug. But for now the very easy way of getting it working, is to add your character via the APEX Scene Add Character node to your scene. Then the update behavior works as expected
Yes, you're right. In Houdini 20.0.547, this:
And this:
seems to have different caching behaviors. The former works as expect, while the later is buggy as it never reflects change on the rig upstream.
-
- edward
- Member
- 8024 posts
- Joined: 7月 2005
- Online
-
- tamte
- Member
- 9225 posts
- Joined: 7月 2007
- Offline
edwardI just clicked through the APEX Graph Examples and all of them are built with APEX Scene Animate directly acting on packed character
The latter case was meant mainly for testing rigs rather than animator workflow so it's the lesser tested code path right now. Please log a bug with hip file and steps to reproduce where the second case is not updating as expected. Thanks!
if this is untested/unintended workflow at this point maybe the examples should be updated
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- kodra
- Member
- 373 posts
- Joined: 6月 2023
- Offline
tamteedwardI just clicked through the APEX Graph Examples and all of them are built with APEX Scene Animate directly acting on packed character
The latter case was meant mainly for testing rigs rather than animator workflow so it's the lesser tested code path right now. Please log a bug with hip file and steps to reproduce where the second case is not updating as expected. Thanks!
if this is untested/unintended workflow at this point maybe the examples should be updated
I highly doubt that it's unintended workflow. The examples make perfect sense to me, except the cache behavior. Having to wrap a simple addition logic in "Character" would seem unintended for me. I'd rather have this cache behavior being consistent than have the examples updated...
Edited by kodra - 2023年12月25日 20:18:45
-
- edward
- Member
- 8024 posts
- Joined: 7月 2005
- Online
-
- kodra
- Member
- 373 posts
- Joined: 6月 2023
- Offline
-
- edward
- Member
- 8024 posts
- Joined: 7月 2005
- Online
-
- Quick Links