WEEK 1
Introduction To Houdini 

 
Basic Controls 

I — jump in
U — jump up
O —  node overview in Network view
D — scene display options
C — colour palette in Network view (for organisation only)
Node Rings — provide info options for node whilst hovering by default (can be disabled in; View>Display options)
P — Properties in Network view
H — Home view
G — Focus on selected object
Spacebar + 1> Perspective view
Spacebar + 2> Top/Bottom view
Spacebar + 3> Front/Back View
Spacebar + 4> Left/Right View
Esc Key>View mode

 

Basic Nodes (SOPs) used in creation shown below.

Node FLAGS;
Display/Render Flag (blue)
Template flag (pink flag)
Bypass flag (yellow) (select flag) 
Lock flag (red) 

 

COMMIN HOUDINI ATTRIBUTES

pscale > different sizes 
N > normal 
Cd > colour 
Orient 
rot > rotation

 

 

Cheese & Cheeseboard 

Create “Geo” node in OBJ level, rename geo node and dive in.
Place a Box Node , specify dimensions in the parameters tab as needed for the cheese.
Apply colour node to give it colour.
Scatter node to distribute points on the surface of the box.
Then create a sphere, give it dimensions if needed.
CopyToPoints node to connect both sphere and box, distributing spheres on scattered points on box surface.
AttributeRandomise node using Pscale to randomise sizes of spheres.
Boolean node to connect both randomised spheres with box, with a subtract operation in the parameters to cut out the spheres from the box.

Cheese Dimensions
Note: Houdini uses real world dimensions.

 

CheeseBoard

Createbox to represent cheese board, give dimensions in parameters as needed.
UVunwrap node to apply UV to object.
UVquickshade to apply quick textures using file path.

 

CheeseBoard Dimensions

After texture is applied to cheeseboard

 

 

Messing around and learning how to connect and disconnect nodes.

Above is a puzzle where the nodes were incorrectly placed and we had to figure out where they are to be connected corrected to create the “S” shape shown above.
Another puzzle.

 

_______________________________________________________________________________

 

 

WEEK 2
Rigid Body (RBD) > Domino Knockdown


Create a curve using a CURVE NODE.
Use a RESAMPLE NODE to distribute points along the line.

 


Create a box and specify dimensions in parameters tab for the Domino.
MATCHSIZE node to level the Domino to ground level so it doesnt get trapped inside floor.

TRANSFORM NODe to resize domino.
COPYTOPOINTS to place domino on points along the curve lines.


Attach RigidBodyBulletSolver node for collision. However dominos fall without any collusion.
AttributeDelete node to remove velocity so objects don’t move without being collided into first.
Create a box to act as colliding object and insert into RBDbulletSolver node to collide with placed dominos

Animate box to push first dominos using simple key framing to start chain reaction.
RBDbullet solver enables interaction between rigid bodies.
In the parameters for RBDbulletSolver, select “Deforming” under collision type.
You can also enable Ground plane in the RBDbulletSolver settings, or create a ground plane using GRID Node.

Animation shown below.

 

 

_________________________________________________________________________________

 

 

WEEK 3
Ducks on Wate
r 


Create a Grid to act as water surface.
OceanSpectrum Node for converting grid surface to water-Like surface.
OceanEvaluate node to calculate turbulence and ocean_like motion over grid surface.

Add Colour Node to change surface colour as required
.
Place NULL node at end for easy referral.

 

Create a separate GEO node.
Insert OBJECT MERGE node to refer to oceansurface created as refernce for placement of ducks.


AttributBlur node to smooth curves of water surface.
Normal node to have the duck properly orientated to sit on water surface following the curves as it animated.
Timeshift node, using “$ff” to hold object in position in single, a.k.a Rest Point Lattice. This should be frame 1.
Scatter node to distribute points over surface of water.
AttributeRandomise node using pscale attribute to vary sizes of ducks.

PointDeform node to connect the scattered poins, the Timeshift rest point(which keeps duck stable and in position), and the surface of the water referred to in object merge node.

Bring in Duck fbx, transform using thr=e transform node to required direction if otherwise.
CopytoPoints node to place ducks on points on water surface.

 

Go back to object level to see both Duck Geo and Ocean Geo at the same time to to view motion. (Below)

 

 

LEGO TOY

 

 

 

 

__________________________________________________________________________________

 

 

WEEK 4
Clothing > VellumCloth

 

 

 

 

 

 

 

 

 

__________________________________________________________________________________________

 

 

WEEK 5
Noodles & Plate

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

______________________________________________________________________________________

 

 

WEEK 6
Character Animation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

______________________________________________________________________________________

 

 

 

WEEK 7
Cragg + RBD Material Fracture

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_____________________________________________________________________________________

 

 

 

WEEK 8
Truck Animation

 

 

 

 

 

 

 

_________________________________________________________________________________________

 

 

WEEK 9
Building Destruction

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

____________________________________________________________________________________

 

 

WEEK 10
Flamethrower

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

____________________________________________________________________________________

 

 

WEEK 11
Rain Spawn Test

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

____________________________________________________________________________________

 

 

WEEK 12
Dolphin Path

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

___________________________________________________________________________________________

 

 

 

 

 

 

ASSIGNMENT / ASSESSMENT PERIOD

 

 

 

 

 

 

 

___________________________________________________________________________________________

 

 

 

 

ANIMATION ASSESSMENT 
>> Disaster Animation <<


NODES WORKFLOW 
Overview of OBJECT Level (Below), separated into sections for convenience. 
TEST NODES- To try out simulations and make us of ones that work as required.
Test & Ideas/SCRAPS- Like the name, is a collection of failed tests, and nodes no longer required or didnt fit the simulation idea(s). 
MAIN NODES- Nodes used in my assessment project. 



Closer view (Below)




 

GROUND_Destruction (Simulation)


Created the Meteor using a sphere with a mountain node to give uneven surfaces like a meteor.
Duplicated it 5 times and adjusted their individual parameters for variations.

Created a ground plane (SMALL GROUND Above) using a Grid node and used an Attribute top instead of a mountain node this as I wasnt getting the surface i wanted for my ground plane.
Extruded the Grid, and used the Polysplit node to more divisions around the side walls.




Then duplicated it and created a second ground plane purely for visuals (BIG GROUND) and enlarged it using the transform node to cover a wider area, covering the small ground plane.


I gave both the SMALL GROUND and METEORS a RIGID BODY, so that they can collide.
Then used a RIGIDBULLETSOLVER to simulate the collision.

After the RigidBulletSolver, I use a Split Node to separate the Ground from the Meteors using Groups.
Then placed an "_OUT Null" to be able to refer to it in other parts of the project and Simultions.


I Cached the Final combination of BIG GROUND, SMALL GROUND and METEORS to help playback faster and Render quicker after Merging them with a MERGE Node.
This Simulation is the backbone for all other simulations created for this project.




Ground_Destruction Nodes Full Connection Overview  



 

METEOR_PYRO_Simulation



I used an OBJECT MERGE Node to bring in the METEORS i created.
Then Unpacked and used the V attribute to fix Velocity issues, so that the simutions behaves as intended.
Added Point Velocity Node to improve veloctiy of volume simulation.
Added PYRO SOURCE to bring in BURN, TEMPERATURE and DENSITY for the volume.
Added TRAIL Node to close gaps between the simulated motion.

Duplicated POINT Velocity and VOLUME RASTERIZE ATTRIBUTE(v) Node to give the smoke and fire more detail.




Used a PYROSOLVER Node to simulate the smoke and fire emitted from the Meteor Object I created and brought in with the Object Merge Node.
Blast Node to remove unwanted Attributes.
VOLUME Compress Node to Reduce size and weight of volume simulation.
PYROBAKE VOLUME Node to give it colour using the Ramp. Messed around till I got settings I liked (see Video in "TEST SIMULATION & RENDERS" section down below).
I then cached the final result and attached a NULL Node at the end.




METEOR_PYRO_Simulation Nodes Full Connection Overview

 

 

 

DEBRIS_Simulation Nodes Full Connection Overview 


I used the OBJECT MERGE Node to bring in the Proxy Geometry out which had both Meteor and Small Ground simulated together. This became the basis for the Dust Debris. 
I unpacked, and applied the V Attribute to enable accurate Velocity of the the broken flying pieces of Small ground. 
Added a DEBRIS SOURCE Node to source where the particles emanate from. 
POPNET Node for the debris dust particles. Inside the Popnet Node, I : 
- added a ground plane for the particles to interact with. 
- set the age of the particles, so they stay active forever. 
- set the distance of dispersion from collision.
- added gravity to make then fall and stay on the ground.
Then Attribue Delete to remove V as the collsion objects already had velocity which is transfered.
Wrangle Node to set Density to 1. 
VolumeRasterise for the container of the volume simulation. 
Pyro solver for smoke. 
Then I Cached the final simulation and placed a Null at the end.

 

 

STAGE LEVEL 
  
In the STAGE LEVEL, I brought in all my Simulations and inserted them into a MERGE Node. 
Then created a MATERIALLIBRARY for the materials for Rendering. 
Added a DOMELIGHT and used an EXR HDRi image as a textured background lighting my scene. 
Added a Camera and animated it to capture angles I wanted to view. 
Then used a KARMA Node to render my Image sequences. 
MaterialLibrary (Below)





Inside the MaterialLibrary, I created 6 materials for objects and simulations.
METEOR_mtlxmaterial for the Meteor.
INSIDE_GROUND_mtlxmaterial for the inside faces of SMALL GROUND.
OUTSIDE_GROUND_mtlxmaterial for the surface of SMALL GROUND.
OUTSIDE_GROUND_BOUNDARY_mtlxmaterial for the surface of BIG GROUND.
Fire_Mat for my Meteor's fire simulation.
Dust_Mat for the DEBRIS created.

Whilst HoudiniGL recognises its native settings and colours, Karma doesnt render all of it. As such I had to create an XPU PYRO PREVIEW node and include in the materials fp both Fire_Mat and Dust_Mat. (See Below)

Inside Fire_Mat (Below)




 

 

 

TEST SIMULATIONS & RENDERS BELOW

 

 

 

Lower Quality Renders


 


High Quality Render