APEX Scene Animate's cache behavior?

   2440   9   1
User Avatar
Member
373 posts
Joined: 6月 2023
Offline
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.
Edited by kodra - 2023年12月5日 14:17:37
User Avatar
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:


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
User Avatar
スタッフ
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
User Avatar
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.

Attachments:
Screenshot 2023-12-20 100549.png (27.2 KB)
Screenshot 2023-12-20 100601.png (21.7 KB)

User Avatar
Member
8024 posts
Joined: 7月 2005
Online
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!
Edited by edward - 2023年12月20日 07:49:26
User Avatar
Member
9225 posts
Joined: 7月 2007
Offline
edward
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!
I just clicked through the APEX Graph Examples and all of them are built with APEX Scene Animate directly acting on packed character

if this is untested/unintended workflow at this point maybe the examples should be updated
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
373 posts
Joined: 6月 2023
Offline
tamte
edward
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!
I just clicked through the APEX Graph Examples and all of them are built with APEX Scene Animate directly acting on packed character

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
User Avatar
Member
8024 posts
Joined: 7月 2005
Online
Is there a bug id for this yet?
User Avatar
Member
373 posts
Joined: 6月 2023
Offline
I've reported it quite a while ago but I forget the wording I used and if they assigned an ID for it.

(I've reported more than 30 bugs since H20 came out so I lost track)

Edit: Found it: #133462.
Edited by kodra - 2024年1月9日 02:36:34
User Avatar
Member
8024 posts
Joined: 7月 2005
Online
Ah, I see. Thanks!
  • Quick Links