Project 3 - Procedural Motion and Mechanical Objects
By Kieran Radley
3/09/2022
Houdini Version 19.0.455
About My Project
The purpose of project 3 is to learn about procedural animation techniques
and put them into practice. Procedural animation can be faster to create than
manual keyframe animation, and is more flexible. To prove this point with
complex motion, I decided to recreate the children’s board game “Hungry Hungry
Hippos” by Elefun & Friends, specifically the version from the 1970s which I grew
up playing. The point of this game is to push a lever on the back of a toy hippo to
get it to eat rolling marbles, and whoever’s hippo collects the most marbles wins.
Important Statistics
Rendered with Mantra
Average Render Time: 5.1 min/frame
Total Render Time: 0.88 Hours
Resolution: 1280x720
Samples:
Min Ray Samples: 1
Max Ray Samples: 9
Global Quality: 1
Diffuse Quality: 3
SSS Quality: 1
Reflection Quality: 2
Refraction Quality: 1
Light Sampling Quality: 1
Noise Level: 0.01
Lights in Scene: 1 sun keylight, 1 spot light
Technical Guide
The top level of my hipnc file is divided into a scene group in yellow, a game
group in red, a hippos group in blue, a pieces group in gray, and a reference plane
group in light yellow. The “Pieces” group is where I modeled my geometry, like the
game board and the hippos. The “Hippos” group contains my techniques for
procedurally animating said pieces. It’s divided into the four different hippos for
clarity. Finally, the “Hungry Hungry Hippos Game” group puts everything together.
The geometry shells you need to have visible in my scene are the ground plane,
and the two in Hungry Hungry Hippos Game.
Making the Hippos Chomp
The “geoHungryHungryHippos” node has 5 custom sliders in it. The first four are
dedicated to the lever motion of each of the hippos. By sliding it from a minimum
value of 1 to a maximum value of 50, you push down the lever of the respective
hippo, extending its neck and making its mouth lift up and chomp down. You will
have to reset the value back to 1 before your next chomp to maintain gameplay
accuracy. The “flippers” slider controls the gates next to the hippos which release
the marbles onto the playing field.
Modeling
Here are the nodes I used to model the hippos. The pink group forms the head,
and the yellow group forms the lever. The black group is how I modeled the back
lever on the hippo, while the gray group has my reference planes.
Animation
This network, found in each “geo[COLOR]HippoProxy” shell, is responsible for the
procedural animation of the lever and hippo head. I use a point wrangle node
because the actual movement of the hippo in the game is different when the head
is extending than when it is retracting.
Marble Simulation
The game of Hungry Hungry Hippos involves between 20-25 marbles that are
knocked around and moved in complex ways. Here is the network I created to run
the simulation. Because the collision geometry, the hippos, are animated, I
changed the Initial Object Type under bullet data to “Create Deforming Static
Objects” so it had the capacity to change over time.
Comments