Simulating Horse Leg Musculature Using Houdini Otis
Updated: 3 days ago
11/05: Animation Set-up and Process
With the rig built it was time to start animating.
I needed to get the reference video into Houdini so that I could animate along it.
I did so by creating a grid and applying a principled shader with the video applied as an image sequence to the shader
**NOTE: Houdini doesn't like applying videos as textures, so I had to convert the .mov to a jpg sequence.

Below is the progress on blocking. I wanted it to loop, so the last frame and the first frame are identical.
TO DO:
Fix foot-ground contact
Spline Animation
Clean Up Splines
Add Muscle Model
11/02: Navigating APEX and Setting Up the Rig:
Order of Operations:
Rig Skeleton Model
Animate Skeleton Model
Sculpt Muscle/Modify Capybara Test Geo Muscle
Simulate Muscle
In order to begin rigging the hind legs of this horse, I needed to become familiar with the APEX environment. As many of the new additions occurred in recent versions of Houdini, it was crucial that the tutorials were recent.
Referenced SideFX Rigging Tutorials:
BUILDING SKELETON
APEX is an environment which handles a lot of the rigging through a "configure autorig" node. Although there are way to circumvent this node, its base structure requires the user adhere to some very strict rules in skeleton construction:
ALL bones must be flagged with a "side" ie. L_Hip, R_hip, C_Root
Bones and Skeleton must be packed into a rig container prior to autorig initialization
Hint: Save the skeleton and skin as separate .bgeo files before packing
Rest pose must be saved prior to initializing the environment
Set scale to 1 on all bones
Make sure model is facing the Z axis
**NOTE: The node will NOT FUNCTION AT ALL if you skip any of these. For those coming from Maya or Unreal Engine, this is a big change, as often in those programs, the node will still work, it will just move strangely if configured incorrectly.
Skeleton is initially built entirely in the "Skeleton" node and modified by additional nodes.

Useful Nodes:
Rig Doctor: flags and resolves errors with skeleton structure, naming, and orientation
"Rig Tree" window (NOTE: you cannot rename your joints here)
Joint Properties: (NOTE: Click "P" when selecting a joint in the skeleton node to access. Use for renaming and checking scale)
Orient Joints: Orients your joints for you
Joint Deform: Allows you to see your skin deformations without building the rig
SKINNING:
I opted to paint my skin weight using the "jointcapturepaint" node as although my geometry was divided into groups on import, the groups were not clearly labelled. Had they been labelled by body part, "jointcapturebiharmonic" may have been able to procedurally skin the bones to their corresponding joints by name.
I decided that renaming the groups would take about as long, if not longer than manually painting the weights on the bones, so I opted for the latter. Since I am skinning the horse skeleton mesh, one bone geo would be bound to one joint, making this process very straightforward.

RIGGING:
Quadruped legs can be done a variety of ways. For a good reference on different setups, check out This Video by antCGi.

First one that I wanted to try was "Multi IK"
Result:
Not enough Control
Erratic Movement


Second was Leg and Foot
Result:
Difficult to control AutoRoll pivot placements
Too many unneeded controls/functions clutter the scene


Third was Leg IK and two controls for ankle and toe
Result:
Most predictable movement
Encompasses range of motion in reference
THIS IS THE ONE SELECTED
10/27: Gathering Models, Reference, and Tutorials
To begin this process, I needed to source a model and a video to reference. After watching a few overview tutorials covering Otis, it was clear that the model needed both a skeletal and a muscular form as well as the final "skin mesh".
This video on Adobe Stock was deemed a good reference, as it shows clear movement of the hind leg's skin and muscle deformations where it is unobscured by the watermark.
Possible Models:
Rigging Tutorial:
Otis Tutorial Series found on SideFX:
10/25: Defining the Scope
Given the time constraints of this project as well as my incredibly limited knowledge of muslce simulation, I chose to focus this process around simulating one limb within a Horse.
I wanted to focus on a quadroped since many muscle tutorials are centered arond bipeds (and specifically the arms of a person), and I wanted to branch out away from that. Furthermore, the upper part of the leg featured many more muscles than the lower part, which would help narrow the scope if many obstacles were encountered, but also allow me to expand if the process went smoothely.
GOALS:
Create a functional hind leg rig and animate it
Simulate muscle movement on that hind leg
Texture/groom the limb if time allows

Comments