
Dan Fitzgerald
danfitz82
About Me
EXPERTISE
Freelancer
INDUSTRY
Advertising / Motion Graphics
Houdini Skills
ADVANCED
Animation | VEX
INTERMEDIATE
Procedural Modeling | Digital Assets | Character Rigging | Pyro FX | Fluids | Destruction FX | Python
BEGINNER
Hair & Fur | Cloth | Solaris | Lighting
Availability
I am available for Freelance Work
Recent Forum Posts
Onion Skin in APEX Scene Animate? Aug. 16, 2025, 5:29 a.m.
maitlandvt
how are you going about it?
The HDA looks forward and backwards in time with a time shift, making copies of the incoming geometry at those time offsets with different colours for forwards/backwards frames. I popped it after the Scene Animate/Invoke SOPs and checked its template display flag, then it updates after you set a key in the Scene Animate node. It's slow because of all the copies and a bit frustrating because it only updates after moving a control (not while moving the control) so I haven't been using it anymore. I think a good, fast, interactive solution probably needs to be built into the Scene Animate node itself.
APEX animate tool for drawing poses April 17, 2025, 4:40 a.m.
johnlilpy
May I ask how you load the custom code into APEX Scene Animate? Thanks.
It's been a while since I looked at it so I've had a quick dig to try and remember, sorry if I forget anything, here's how it works:
- The .py file for your custom tool has to be somewhere Houdini can load it (mine is in houdini_site\houdini20.5\python3.11libs\noadapextools\drawtool.py)
- The APEX Animate state will look for a "load" function in your Python module that returns your custom tool:That State class is just "class State(object):", I don't think you have to inherit anything, but the APEX Animate's Python state will pass "onMouseEvent" and "onKeyEvent" to your object and maybe some others, I don't think there's documentation anywhere but if you dig through the APEX Animate state you'll find the functions it passes on.
def load(viewer_state): return State(viewer_state)
- I have a shelf script with this code to load the tool while you're editing in the Apex Animate node (you could probably assign a shortcut to make it easier?):
import stateutils import apex.ui.statecommandutils as scu import hou viewer = scu.getSceneViewer() kwargs = {} viewer.runStateCommand("getState", kwargs) state = kwargs['state'] scu.startTool("noadapextools.drawtool", kwargs)
APEX animate tool for drawing poses April 14, 2025, 5:20 a.m.
citizen
I was having in mind something like this:
ah I see! Yes that'd work for fixing to the start and preserving lengths, and it would keep the characteristics of the drawn curve if not the positions so there's definitely a use for this. I think there are situations where this could get frustrating (eg trying to get a character to scratch their own head, if we can't control the position of their hands at the other end of the joint chain), but maybe that's just where it would need an option to flip between preserving lengths or preserving positions.