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
APEX animate tool for drawing poses Dec. 15, 2025, 8:33 a.m.
JoshRizzo
Unfortunatly this breaks in 21.0 given this error:
I haven't had a chance yet to look at this in 21.0, there were a lot of changes to APEX so probably a lot of things to fix! If you do find a fix please let me know, otherwise I will get to it eventually.
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)