CLASS 1: PROJECT INTRODUCTION
We look at the project as a whole and introduce the tools we will need for it. We use Sublime Text 3, setting it up to be able to highlight VEX syntax as well as compile our code with the vcc compiler and setup autocomplete for VEX functions. We cover writing our own functions in VEX and how to save this as a header file that can we can use inside Houdini by including it through pre-processor directives. Finally, we go over Git and how it works so we can use it throughout our project.
CLASS 2: PROJECT, PART 1
The first step of extracting the transformations of every object is to be able to procedurally detect when an object has a different transformation than the other. In this lesson, we will create a digital asset that will compare the orientation saved in a quaternion for every connected geometry and check if any other piece has a similar value. This tool will end up creating a unique attribute value for every piece of geometry that has its own unique transformation.
CLASS 3: PROJECT, PART 2
The next step in the project is to create a new digital asset that will have a callback to our script. We take a look at how to import our own Python module into Houdini using environment variables and then start developing the logic to extract the transformation from the object we select. The Python script will be responsible for creating a new node where it will automatically object merge the Alembic, create the digital asset from the previous class, and create all the outputs required to extract the transformation of each part. Along the way, we refactor the code and the digital assets to adapt to new needs as they come along.
CLASS 4: PROJECT, PART 3
We finish setting up the basic behaviour of our tool to extract the animation from an Alembic file. We go over saving this in Git and merging the first working version to the master branch, before going back to developing a new feature. We add the functionality to import our separate parts as collision objects in DOPs using the object level transforms we extracted with the first step. The end result is a tool that allows us to recreate the transforms of every object at the object level, providing the possibility of adding them to DOP network as collision objects.
CLASS 5: PROJECT, PART 4
We clean up the code by exposing some parameters to have the fewest number of values hard coded and then work to optimize the code and digital assets so they run as fast as possible. The Divide By Xform digital asset will get a major upgrade in its performance after updating the code to work with the new changes, and we test it with a different Alembic file to see if there are any other bugs in the code. We ill fix the final bugs and run a last test to make sure we have built a very robust, efficient, and optimized tool to extract animations.
please add if you have “Houdini Procedural Foundations w/ Adam Swaab” thank you!!