System-wide and Houdini-specific wxPython installation. Address a threading issue that would prevent Houdini from updating concurrently with the wxPython app.
This video introduces the Boa Constructor IDE and covers its installation.
In this video we explore the Houdini Object Model and use it to create a sphere using only Python code.
This Technical Director video begins the creation of a reactive animation tool which provides Maya-like Set Driven Key functionality in Houdini.
In this video we provide a crash-course in wxSizer usage. The SDK tool's UI needs to be resizeable and we will accomplish this using sizers.
In this video, we begin work on the SDK tool's script. This includes the App class, the basic frame and sizer setup, threading, and the conditional execution.
The goal of this video is to match our app's color scheme to Houdini's so that our app feels more like a part of Houdini itself.
In this video, we create the listbox controls for the SDK app.
In this video, we create the Set Key and Toggle Expression buttons and place them below the listboxes. These buttons are then centered below the listboxes.
This video finishes the UI layout with the placement of the Load Driver and Load Driven buttons.
In this video, we hook up functionality to our buttons through event handlers.
When running our app's thread inside of Houdini we can crash out if our app generates an exception. In this video we create a simple exception handling system.
With the UI complete, we can now move onto the functionality of our app. In this video, we code in the Load Driver and Lode Driven operations.
The next button to code is the Set Key button. This video covers the code and types that will be needed to create a spare parameter on the driven node.
We walk through the creation of a new Keyframe object and reiterate how its frame and value apply to the driver/driven relationship.
This video wraps up the Houdini/Python Set Driven Key miniseries. We cover the expression that applies the reactive animation curve to the controlled parameter.