Week 7 : Houdini Lesson 7 (Destruction of Building 2)

This lesson was the second part to lesson 6. Now we were on our way to finally fixing our building model, we could start thinking about the destruction part which was definitely more exciting.

Here is where I figured out how to to complete the lesson 6 issue of closing and successfully breaking the building.

In the material fracture node, there are options to break objects in concrete or glass etc. These are precoded setting which help the fracture to look like a different material. Due to the different physics of how matter breaks it helps to use these made frame works to achieve something realistic with the different areas to change to make it look like how you need.

  • isolate pillar
  • VDB polygon node – add detail – 0.004
  • Scatter node: remove total count, add in density
  • Attribute randomise node: cd-N
  • grid node
  • copy to points node
  • attribute noise – 4 dimensions not 3
  • mountain node – change height so its not a straight
  • grid node – smaller size, more detail.
  • put in a breach
  • object merge node
  • convert
  • sphere
  • primitive

Here is where you make a trail path so that the simulation knows where its bounding box area is. To make it look more organic, using the sphere that is smashing into the building, increasing the size of that sphere as the surround areas the meteor hits will be effects.

  • trail node
  • time shift – delete channel
  • make a volume to crash

Using this trail you can see that only part of the building will be destructed. Instead of using the conventional bounding box, this will look natural, organic and realistic.

  • bounding volume – group
  • assemble
  • group – bounding volume
  • link to volume of crash
  • split node to reduce pieces being fractured
  • Compile loop
  • some nodes cant be multi thread
  • take things out the pr each loop so doesn’t need to render each time
  • can fetch input
  • compile block

I did really find learning about the compile block difficult. I think I definitely have room to improve as having a good workflow that doesn’t use too much space is super important. The compile block is to go around the for each loop so make you work flow so much quick as there are certain changes you don’t want to make for each piece within the loop, so this makes the process less complicated. Say that, I still am not totally sure how to use it still. I followed but I think i would need to watch more tutorials online or ask Medhi to go through it again.

Posted in Advanced Unit, Houdini | Leave a comment

Week 3 : Planning/Splitting the Work

This week we were thinking about how we were going to split the work between us.

Breaking Building Node Plan

Dop network – object

  1. Building – geo node
  2. RBD _setup – geo node

Separate doc – Car animation

  1. Car_animation – geo node

Building Sop network

  • alembic node – building file
  • blast node – separate parts of the scene
  • unpack node – select specific parts
  • convert node – level of detail part will break into
  • fuse node – snap point, how they break
  • polyfil not – close shapes
  • boolean node
  • divide node – divides into more triangles and quads, fixes concave problems
  • merge node – connects everything together
  • null nod – output

Meeting with Mehdi:

  • I wanted to know about linking the textures in Houdini as I didn’t know how. Medhi assured me that I would relink the textures when I put the finished scene back into Maya.
  • I wanted to know if there were other ways than in the tutorial 6 & 7 I would need to learn to break down the different kinds of materials. Mehdi said that the way we learnt was good enough. Also to recognise that the glass on the car would break different than the glass int he door as it would be a lot thicker and not shatter the same.
  • For the fire hydrant we can do a water simulation once the car knocks it over.

Questions to ask Luke:

1. What is the story line of this car crash?
2. Is the building going to be more smashed than the car? Or is it just as realistic as possible?
3. I am having issues with opening the scene in Maya with the corner street. Every time I try to edit anything the file crashes. There are nodes in the file that aren’t recognisable.
4. When I tried opening the crash scene file it doesn’t seem to have any information in it. Am I doing something wrong?

LbridgerToday at 10:15

Hi Abbie,

1. The story line is they have been driving at high speed and lost control of the car.
2. Building should be just as damaged as car.
3. As for the scene crashing this might be that your computer is running out of memory. Is this happening on the vmware machines too?
4. As for the scene file it is referencing the environment and the car models. You need to download these and repath the files to where your downloaded ones are.

Plan for next weeks tutorial:

  • Clean up Maya scene – get rid of nick names
  • Export one alembic file to import to Houdini – all static objects.
  • Make a seperate file for the animated car
  • Split the different areas into SOPs

1st Meeting with Diana

So now I know that the only other person who will be helping me in FX parts of this project is Diana so we wanted to have a meeting together and discuss what our plan will be.

  • plan who does what
  • clean maya file
  • split different material in Houdini
  • Anyone else who wants to join can choose a material they would like to work on.
Posted in Advanced Unit, Collaboration Project 2 | Leave a comment

Week 2 : Preparation for Smashing Building

So we were briefed with what we were going to have to do for each part of this project. It was split into different areas people might be interested in.

Roles:

  • VFX
  • Animation
  • Composition
  • Lighting
  • Matchmove

I have decided to specialising in the VFX area as I want to learn more and potentially collaborate with a VFX student to learn more. Luke uploaded all the content we needed and a recording going through what each role would include.

  • UAL asset library
  • download corner street model
  • indie film is going to be working on a crash scene
  • Task is to detroy the building once the car as interacted with the side of the building
  • Need to figure out ways of doing this with Medhi.
  • Send him as many version as posioble to get the outcome to be as realistic as possible.
  • Medhi tutorials to use – lesson 6 & 7

I decided to make a discord channel for all the people in this collaborated project can keep up to date with what everyone is doing and also help each other as each path can cross over. Everyone has knowledge of the channels so might be useful to cross over if needed. I have sent the link to people in my class and also the VFX students to get them more involved as we don’t hear them speak up much in Medhi’s class. Hopefully is will be easier over discord.

Questions to ask Medhi

  • Can we bring the building in as an alembic .abc file – How do we relink the textures? should we do this after?
  • Different materials smash/break differently : glass, brick, concrete, fire hydrant, metal door frame, hood of car
  • Got stuck at the end of lesson 6 can I have help so I can finish it and start this project.

So we were told we would be using this scene model which we needed to separate like in tutorial 6 and 7 and clean it up

This wads the model we would be trying to break down and fix.

Posted in Advanced Unit, Collaboration Project 2 | Leave a comment

Week 3 : Personal Project – Experimentation

I was trying to think of other ideas that I might like to try other than the sphere test, as this is a techniques that has been done a lot and doesn’t really bring anything new to the table design wise.

I made a list of questions to ask Medhi to speak about soft materials as this was a tutorial I really enjoyed.

Questions for Medhi:

  • How should I learn how to make different materials? e.g. bubble rap
    A: Vellum solver is a great way to make all the soft materials I need like in lesson 8. Ocean procedural deformer to use in a plain. (try avoid this as this simulations is heavy)
  • Instead of just a shape I want to experiment with a rig character. e.g. like connect different parts of a dinosaur rig to the different channels.
    A: This is possible! I would need to redo the rig and make the skeleton of the dino linked to chop network and then re-skin the rig. I could set constrains to the different controls to make sure it looked a little more realistic to dancing. e.g. min and max values. Part of the tail could be a soft material to be more playful and organic.
  • How do I build more complex object in Houdini e.g. mushroom

Need to do:

  • Sketches of characters I want inspired by my mood board

New Idea:

I was thinking it would be interesting to get a rig and more the body procedurally to the music. Medhi said this was possible but that I wasn’t sure how I wanted my final scene to look so I thought I would go away and do more research.

I had the idea of getting my favourite cover arts from music I love and building them in the 3D world to then manipulate the shapes to visually portray their own music.

When I was deciding which cover art I wanted to use I decided it would make more sense to use the cover art of bands or DJs I knew personally as it would help them and they could use it their own way.

Posted in Advanced Unit, Personal Project | Leave a comment

Week 2 : Personal Project – Research & Experimentation

My aims for this week:

  • Attempt a simply sphere extrusion animation.

Cheat Sheets:

Common Houdini Surface operators (SOPs)

Box, Sphere, Grid, Tube, Circle, Line, Torus, CurveSome basic operators that give you geometry primitives
FileLoads a mesh (obj, bgeo, etc)
TraceUses a threshold to generate geometry from an image
AddCreates individual points and/or polygons
MergeCombines multiple pieces of geometry
PointManipulates point properties and attributes. The second input allows operations between two sets of points from different sources providing they have the same number.
PrimitiveManipulates primitive (usually polygons) properties and attributes
TransformMoves, rotates, and scales geometry
FacetMost commonly used to calculate normals, but does a few other things too.
GroupAllows you to assign a group to a set of vertices, points, or primitives. (A bit like XSI’s Clusters)
CopyCopies input geometry. The second input allows you to copy the geometry from the first input, onto each point of the second input. This operator allows loop-style processing by using the Copy/Stamp feature.
DeleteDeletes geometry. Can be used with a Copy operator to perform loop-style processing.
AttribCreateAllows you to store custom information at each vertex, point, primitive, or object
AttribTransferCopies attributes from one piece of geometry to another. The geometry does not have to match (just like XSI’s GATOR).
AttribPromoteAllows you to do various statistics on an attribute (e.g. average, minimum, maximum, mode, sum of squares, etc.) and transfer it to the corresponding vertex, point, or primitive.
MeasureAllows you to calculate polygon area, perimeter or mesh curvature.
CacheStores geometry in memory to allow for faster previews.
TrailCan calculate per a point velocity, or generate trails of points from animated geometry.
SkinPerforms a “loft” style operation
ResampleRedistributes points along a curve
RayDoes ray tracing based on point nomal. Can be used to shrink wrap one mesh onto another.
Cookie, BooleanDifferent types of Boolean style operations
SortCan sort point order based on various things.
PeakTransforms points based on their normals
ConnectivityCreates an attribute with a value based on connectivity information. Works well with Partition operator
PartitionAssigns geometry to a group based on an attribute value. Often used with the Connectivity operator

Common Houdini Expressions

You can find the full list of expressions here:
http://www.sidefx.com/docs/houdini11.0/expressions/

ch(<parameter path>)Gets the current value of the parameter
chf(<parameter path>,<frame> )Gets the value of the parameter at a particular frame
stamp(<Copy SOP path>, <stamp variable>, <default value>)Retrieves the current value of the specified stamp variable (See Houdini docs for more info on the copy-stamping process)
point(<SOP path>, <point number>, <attribute name>, <index>)Retrieves a point attribute value. If attribute is a vector (e.g. position), then index specifies vector component (e.g., 0=”x”, 1=”y”, 2=”z”)
prim(<SOP path>, <point number>, <attribute name>, <index>)Same as point, but for primitives
clamp(<value>,<min>,<max>)Keeps the value within the minimum and maximum values
fit(<value>,<min>,<max>,<newmin>,<newmax>)Remaps the value from the old range to the new range and clamps it.
fit01(<value>,<newmin>,<newmax>)Just like fit() but assumes value is already in the range 0 to 1.
smooth(<value>,<min>,<max>)Outputs a smoothed value between 0 and 1 as value goes from minimum to maximum.
noise(<x>, <y>, <z>)Returns a noise value for a given position in space.
rand(<seed>)Gives a random number based on the seed value. The returned value will always be the same for a particular seed.
length(<x>, <y>, <z>)Returns the length of the vector
distance(<x1>, <y1>, <z1>,<x2>, <y2>, <z2>)Returns the distance between two points
if(<expr>, <value if true>, <value if false>)Gives a choice of two values depending on the expression evaluating to true or false
opinput(<operator path>, <input index>)Returns the path of the operator connected to the input specified by the input index.
bbox(<SOP path>, <dimension type>)Returns the required measurement of the bounding box of some geometry. “dimension type” can be one of these:D_XMIN, D_YMIN, D_ZMIN, D_XMAX, D_YMAX, D_ZMAX, D_XSIZE, D_YSIZE, D_ZSIZE
centroid(<SOP path>, <dimension type>)Returns the X, Y, or Z position of the center of the bounding box. “dimension type” can be one of these:D_X, D_Y, D_Z
pic(<COP path>, <u>, <v>, <color type>)Returns the interpolated pixel color from a compositing operator at the specified UV. “color type” can be one of these:D_CR, D_CG, D_CB, D_CA, D_CHUE, D_CSAT, D_CVAL, D_CLUM

Common Houdini Expression Local Variables

Important: The following variables are NOT available in every operator. Each operator has its own local variables, and you can find which ones in Houdini’s help documentation. The ones listed here are the ones you’ll most commonly encounter.

$PTPoint number. Used in most SOPs that manipulate points
$PRPrimitive number. Used in most SOPs that manipulate primitives
$CYUsed by the Copy SOP to identify the current copy being made. Unlessthe second Copy input is being used, in which case $PT will be used instead.
$TX, $TY, $TZPosition of a point
$NX, $NY, $NZNormal of a point/primitive
$CR, $CG, $CB, $CAColor of a point/primitive
$VX, $VY, $VZVelocity of a point
$BBX, $BBY, $BBZThe normalised (0 to 1) position of the point in the bounding box
$CEX, $CEY, $CEZCentroid of the geometry
$AGENumber of seconds a particle has been alive
$LIFENormalised age (0 to 1) of a particle
$XMIN, $XMAX, etc.Extents of the bounding box
$SIZEX, $SIZEY, $SIZEZSize of the bounding box
$TX2, $TY2, $TZ2Used to identify the position of a point coming from the second input of a Point SOP. Similarly for other attributes, e.g. Normals, $NX2, etc.

Animation Scene Mood board

Mood board key words:

  • Fun
  • Colourful
  • Experimental materials
  • 3D art
  • Lucid dream style

Aims for next week:

  • Make little illustrations to draw up scene
  • Research soft materials I want to use

Spherical Audio Test

Icosahedron – 20 sides
Frequency – 1
Pitch divisions – 20 channels

song choice – If only I could remix

I choose this song as I wanted to use it for my BLM protest flag and thought that having this moving animation to go next it would kind of be nice to link my experimentations to my other projects/tests I have done. The original song is also really lovely, and I think fits nicely with what my flag project was suppose to be proud to be asian and black not distressed from all the terrible things happening. Could be used for either though.

I split the song into 20 pitch divisions which I would assign to a face of the sphere to move outwards.

Posted in Advanced Unit, Personal Project | Leave a comment

Week 1 : Personal Project – First Meeting with Mehdi (19th April)

This was my first meeting with Medhi about the personal project to discuss my ideas that I had jotted down on my blog. I sent the link to Medhi to have a read through what I have planned and thought of so far to get the most out of the tutorial. No one has booked a time slot today so I was fortunate enough to have all the slots to work on my project.

Chop net node – this would allow my to manipulate the animation through the break down of music

We spoke about the different examples that I had on instagram to show what sort of work I would like to produce. The simple method is to get a sphere and fracture this object which would move according to the different channels of a song. This was a very generic representation of music that is quite common on the internet but I thought it was wise to learn all ways and then progressively become more experimental so I understood how each method on Houdini was possible. Also, this is a good way to familiarise myself more independently on Houdini instead of just following tutorials Medhi makes.

So using the different channels with in a song meant that the frequency needed to be split into sections like soprano, base, alto (high, medium, low sounds).

Nodes:

  • File
  • grid
  • facet
  • Chop network – adds music, works with curves, 2 channels (left + right)
  • delete
  • export – to directly link the file and chop network
  • parameter equaliser
  • spectrum
  • voice split
  • audio in
  • filter
  • pitch
  • resample – gets rid of extra of info not needed
  • filter – smooth curves
  • attribute wrangle – @P.y=chop (find cheat sheet online)
  • rename – manage channel
  • height – H script
  • primitive
  • poly extrude

Expressions:

  • * – Multiply/all
  • $PR – primitives
  • use range (0-10) not * for primitive node

Node set up reference:

  • band equaliser
  • reference downloaded to work from to figure out the right way of going about it,
  • Put into asset Houdini folder
  • used pitch node divisions
  • multiple frequencies

To start off to see how the Chop Node works Medhi made a grid with 10 faces on this plain and split a song into 10 channels. This was then linked to the different faces so when on channel would increase in frequency so would visually show what the music would look like.

Simple visualisation of music

Get a clear reference to work with for the poly extrude sphere to test. Find expression for each perimeter. Try different ways to get audio driven animation. Build a still render to try and animate scene – create mood board.

My aims for next week:

  • Attempt a simply sphere extrusion animation.
  • Watch back on recorded tutorial, attempt to progress further.
  • Learn what each of the nodes spoken about in the tutorial do.
  • Find Houdini expression cheat sheet.
  • Create mood board for overall scene to animate
Posted in Advanced Unit, Personal Project | Leave a comment

Week 1 : Personal Project – Ideas

In our first meeting back, we are asked to think about what we would like to do for our personal project. This should be based around the programme we would prefer to get a job in. The idea should essentially lead us in to our FMP. I have decided to specialise in Houdini as I prefer working in a procedural workspace.

This project is self directed, so this is where the Masters part of the course is kicking in. I need to produce something amazing that will get me the job I want. This should be part of my showreel that is specific to making my work stand out. There are lots of resources available to use to make sure this project is at a professional/studio standard piece of work.

Booking 1-1

  • ask Tutor for their availability as well as writing name on online timetable.
  • 30 min time slots unless no one else has booked in time
  • 1 slot per week
  • Medhi is the only tutor who can help me with Houdini.

Areas I am interested in:

  • Crowds
  • Set design
  • Building Environments
  • Sound/music linked to movement/animation
  • VJing
  • Dance

Final due date – 18th June
Presentation – 9th June

I think what I want to do is to focus on how sound influences movement and animation in procedural work in Houdini. I want to see if there is a way to create movement depended on the sounds created. This is a visual representation of music.

Syncing soft objects and hard objects to music in Houdini – focusing on materials, rhythms, break down of music.

Moving objects to dance like living characters. e.g. fantasia

Project Proposal

Title: To learn how to visually contextualise music through 3D animations in Houdini.

Inspiration: Fantasia (both), visual jocking, music videos

Aims:

  • Learn Houdini better
  • Learn the music tool set in Houdini
  • Bring the fantasia idea into the 3D computer world
  • Learn how to build a simulation which is applicable to any music
  • Explore other genres than classical music
  • Audio driven animation

Questions to ask Medhi:

  • Is it possible to make this project?
  • Is there any nodes or tutorials I should start with?
  • What are the different ways of achieving audio driven animation in Houdini?
  • How to get my flag to fly so you can still read the message? (resolved this one myself)
  • I don’t know where I am going wrong with the building tutorial.

Email to Luke:

Personal Project – Creating procedural audio driven animation in Houdini
Collaboration Project – Houdini effects artist in indie film
Thesis – The link between sound and animation
FMP – Depends on how term 3 goes… Want to specialise in Houdini in either
– Sound driven animation (might include dancing, VJing)
– Crowds
– Building environments/ set design

Posted in Advanced Unit, Personal Project | Leave a comment

Week 1 : Deciding Collaborative Project

When we had our first meeting of term 3, Luke mentioned about an Indie Film project that one of his old friends was making and that they were in need of a Houdini effects artist. As Houdini is the programme I want to specialise in, I thought this would be a great opportunity to see what it was like to collaborate with other people in a live project. This will either solidify my choice to specialise in Houdini or make me realise I would rather be working else where. I will be letting Luke know before Wednesday that I would like to join this project. I was the one to initiate the last project so I think it would be a nice change to work with someone else’s idea this time as this is more realistic in my first job, so is good to get the practice.

I would like to know more about this Indie film so will ask Luke to give a more in depth briefiing and what my role as a Houdini artist will have to do. This way I can prep and research the kind of work I would be asked to do. I am interested in speaking to others who also want to take part in this role. It would be nice to collaboration specifically in the Houdini role as we are all learning and can only make us stronger.

Posted in Advanced Unit, Collaboration Project 2 | Leave a comment

Week 8 : Houdini Lesson 8 (soft bodies)

This lesson was all about how to use the Vellum Solver which create soft bodies. There was quite a lot to this lesson that I did as I really enjoyed the process and the outcomes I got. There were 3 parts to this lesson which I did. First was the ballon, the flag and then the hairy crab.

  • CfX – big subject
  • soft body (cloth, muscle, blob, skin, anything that deforms) vs rigid body

Making Cloth:

  • geo – solver
  • vellum solver node – gives accurate results, use it only in specific cases
  • solver node
  • pyro solver – one of the oldest solvers
  • vellum solver links to vellum constraint
  • cloth mode
  • more polygons means the grid looks more like a cloth
  • better to use triangles using a divide node
  • constraint number is important on solver of how cloth works. Not too high to save simulation time
  • FI – Houdini help
  • add wind
  • point deform node – uses lattice points
  • input 1 – object, 2 – rest position / guide mesh, 3 – animation
  • normals node
  • remesh node creates a proxy
  • re apply simulation on original mesh?
  • cloth deform node
  • cloth capture node – skinning
  • lower radius
Posted in Advanced Unit, Houdini | Leave a comment

Week 3 : KK’s Lesson 3

Advanced lighting set up:

  1. Light rig revising
  2. Setting up render layers and AOVs
  3. Relighting Nuke
  • North Dome
  • South Dome
  • Key light – flatter image to apply the texture
  • Scale of key light is easier on the cube map
  • Grey sphere + chrome sphere = colour match to the palette of colours
  • Note down the RGB colours

When starting this lesson I couldn’t open the file and just decided to watch the tutorial and take notes. I didn’t want to bother trying to do it myself because I was already struggling to complete everything else I was doing. I felt a bit bad for not completing because KK is such a nice guy who really knows his stuff but I felt I had to prioritise my time to Houdini.

Posted in Advanced Unit, Lighting | Leave a comment