Houdini Tutorials: Week Four

This week I was able to follow along all the way until the point in which we got back into the particle animation. For some reason, my computer crashes every single time I try to render even one frame of it.

But I learned a lot about rendering just from following along with the rubber toy example, and I will try to render one of my destruction sequences using this knowledge.

Key Roles to Know in the Animation Industry

Previs vs Postvis

Previs artists are responsible for creating a rough idea of what the shot is going to look like for the directors to review. The benefit of using previs is so that the team has an idea of what the shot will look like before spending the money to go ahead and film (or pay a team to go ahead and start working). Oftentimes the animation does not have to look good- what’s important is that the camera work, placement, and timing can be reviewed.

Postvis artists apply the finishing touches after filming. This can include visual effects and additional animation to show the director as a blueprint for what the final version will look like. This postvis work will then be brought to the final animation team to create.

Techvis is a subset of these that involves taking the previs or postvis work and making it precisely accurate to the millimeter in order to make sure that it reflects what the equipment that will be used is capable of.

VFX vs Film vs Game Animation

VFX Animation is most often used in conjuction with live action film and involves adding in particle and light effects, rotomation- animating on top of shots using a motion track- or animating in CGI objects, like weapons and superhero suits.

Film Animation usually refers to a movie that is entirely 3D Animated and may be more similar to a Pixar project, with a cartoonish and less realistic style.

Game Animation is usually a longer project. It’s less stylized, and requires the team to take into account the player’s control and world exploration. Everything must be seen from any and all angles.

Houdini Tutorials: Week Three

One Hour In

I found last week’s tutorial very easy and fun, but I expected this to be a little more intense, as it says on the tin. However, it did take me about 3 hours to get through the first hour of the tutorial. Most of the extra time it takes me to get through these is spent researching terms I don’t understand like “voronoi”, “vex”, “VDB” and “voxel”, going back to repeat the step when it happens too fast, or going even farther back to figure out why my results don’t match his. While the process makes sense to me overall, I often don’t understand the significance of many of the little steps or how Mehdi is able to tell that they are necessary. I’m also only about 80% confident that I understand the goal of our work in the first hour. I know that we’re creating a realistic fracture of the objects, but is exploded view the end result of the destruction or simply a way to review whether or not the fracture seems realistic? Despite this, I am able to follow along, and often understand it better towards the end of the tutorial, so perhaps it will all make more sense soon.

Side note- here’s a video I found that helped me get on the same page really quickly.

Hour and a Half In

Somehow, this took me even longer, and only for 30 minutes worth of tutorial. I was just about ready to give up for the night when I finally got to see the product of my work- this beautiful destruction- for the first time, and regained motivation.

I feel that, as with the last tutorial, it helps it come together for me to be able to visualize the product of the long line of work.

After a couple Houdini crashes on my slow computer, I figured out how to get my boolean fracture linked up to the DOP network for an even better effect.

I got the rbdmaterialfracture to run, but it’s incredibly slow and not really doable on my machine. I’m going to follow along with what Mehdi is doing in it so I can learn but I’ll have to keep my Houdini on manual update.

Day Two

Before plunging back into the tutorial, I took a mini break to smash something else out of sheer curiousity as well as to test how well I retained the skill.

I also wanted to try a building complex, but these are not made of a solid material and I’m not sure how to do that yet, so I’ll finish the tutorial first.

2 Hours In

The polyreduce node was a big help in speeding up my simulation enough to follow along with Mehdi, in addition of course to keeping my work on manual mode. I will keep that in mind in the future as our tutorials continue.

Unfortunately, it looks as though this will be the first tutorial I don’t complete. I got to the point where we create and active and inactive point group on the cabin so that the entire object isn’t moved during the collision, but rather a small part breaks. I copied Mehdi exactly over and over again and my product was always the same- no change.

Stopping Point

The only possible explanation for the problem I could think was that my geometry supposedly has holes. I couldn’t figure out where or how to locate these, though, and I was using the simple geometry that we made during the tutorial.

Advanced Unit Overview: Goals

My progress over the past few months has been incredible, and I’ve learned so much more than I ever imagined myself being able to do. I owe this huge advancement to the course’s thorough structure, the vast wealth of resources available to us, and our leaders’ genuine desire for our professional success. However, I’ve still got quite a long ways to go before my work meets industry standards.

Some of my pitfalls in the past have been understanding controls on more complex rigs, as well as accounting for body weight and having a better eye for realistic posing. I hope to get a lot better in my technical skills as I proceed in the course.

Tentatively, I’d like to consider lighting and camera work as my specialism. I spend a very long time setting up my lights and cameras and it’s always one of the most fun parts of my project.

These are the two most recent projects that I’ve touched. I spent quite a while setting up the lights on both. In the tailed ball scene, I worked hard to give the light a natural, daytime effect, dappling yellow through the leaves of the trees (which I had carefully placed), while never completely obscuring the animal in darkness, and making sure to project its shadow on the rocks for observation of the silhouette. I spend a long time playing with the water, trying to find a balance in depth and reflectivity. On my performance animation, I spend almost two days on the lights (not to mention collecting a tasteful amount of debris and scene elements). My idea had many aims: frame Janine (which I did with four surrounding area lights illuminating only her, specifically a stronger backlight for an eerie feel), highlight the blood on the stairs (which also serves to frame her), cast the rest of the house into sharp-shadowed darkness (drawing the eye to Janine and the stairs), and create an eerie reflection on the floor. I chose a bright red velvet shirt and heels to associate her with the blood on the stairs as well as give her an untrustworthy aura. I also used a camera technique I hadn’t tried before, panning around quickly to the rest of the characters on the opposite side of the room. This was intended to both cut the tension as well as add to the fast-paced nature of the scene.

-I digress, I’m very interested in lighting and cinematography. I know I have to learn basically everything in order to even begin understanding it technically, so hopefully I’m not put off by what this work actually entails.

Houdini Tutorial- Week 2

In the beginning of the tutorial I got confused very quickly. I was having a hard time understanding what Mehdi was talking about when he discussed UVs. The last time I also struggled to understand the concept of normals, which is a similar subject. I did a little bit of research online and found this diagram to be helpful:

UV mapping - Wikipedia

-as well as the explanation that UV does not stand for anything but instead refers to the points used on the map, as XYZ are already taken in reference to area in space.

On to the project-

POP Object: a container for particles

POP Solver: toolbox for calculating the physics

POP Source: generates particles on the surface of the object

Scatter: generates points on the surface of the object

SOP Path: sources the object

At first I was worried because I couldn’t see my object in the POP network while Mehdi could, and then realized I simply had to move to a frame in which the points had begun conglomerating.

I was already really excited about my simulation with still half an hour left to go, and was surprised when Mehdi said “let’s make it more interesting”! There’s so much in Houdini I don’t know, I can only imagine all the awesome things that we could choose from.

I rendered our first flipbook:

I specifically chose to work with a little less points than Mehdi, just because I felt like they were obscuring my character and I didn’t like it aesthetically.

But in the next step I was a bit confused. Mehdi created a sphere as a test object to work on our point attributes with, but when I did that, Houdini would not let me. Logically, the point simulation we created was coded to work with the group testgeometry_crag1, so they would not apply to the sphere.

I’m not sure why Houdini allowed Mehdi to do this, unless I missed a step along the way.

I managed to resolve this on my own, but the issue I’m proudest of resolving on my own was the inability to see any particle at all at frame 0- I remembered that we set the beginning frame to 235 in our popsource and went back to include all the frames. That, and I once again adjusted the parameters in the pscale to my own liking. I actually turned the birth rate way back up and made the particles even smaller.

Unfortunately, Houdini then crashed. And it was about 1 AM, so I called it a night.

Next day, though, I returned, with my brain function switched on, and I found it super easy to recreate the finished product.

Houdini Tutorial 1

Time to learn Houdini! Despite my growing trepidation related to the constant reassurances that it will be fun after a grievously long learning curve, I went into this first tutorial eager to learn. I tentatively want to declare my specialization as lighting and texturing. I still have a very long ways to go in this area, and in fact I’m really just getting started. But I’ve heard from everyone that Houdini is the software to use for this and I’m excited to see what I can do.

Here’s some of the most important notes I took during the beginning of the session.

Vocab

obj > object

img > compositing

ch > animation

mat > materials

shop > shaders

out > rendering

stage > USD (?)

tasks > pipeline

SOP: old term for geo –Surface OPerators

OBJ: object

DOP: Dynamics OPerators

ROP: Rendering OPerators

VOP: Vex OPerators > Vex: Houdini scripting language, similar to Mel.

$HIP > file output

$OS > object name

bgeo: Houdini file format that can save anything. bgeo.sc = compressed

1 unit = 1 meter

About half an hour in, I was sure I was lost because Mehdi added a geometry node to his sphere, while I could not find the node “geometry” listed and only had more advanced options-

-but I realized quickly that it came down to being in the object context rather than the SOP context- the SOP context has many more options as most of the work is done there. I found a couple times that when I was unable to follow along it was because I was in the OBJ rather than SOP context- for example, trying to place a file node.

I brought in my own OBJ file to follow along with the file SOP node- a set of dice I’d used in my performance animation:

I was originally unsure why they are wireframe, and quickly realized that toggling between these options-

-allows for different levels of visibility.

After some trial and error I managed to merge my dice and sphere objects, and scale them down when I realized that a unit is equivalent to a meter. This should be important knowledge down the road.


Moving onto the next Houdini scene. I was stymied for a while because Mehdi, when creating a ROP Geo node for his torus, saved his project under $HIP, and I had changed my project’s path to a specific folder for schoolwork. I kept trying to change the file output to this folder and was unable to locate the geo. However, I went back into the tutorial the next day and realized, upon listening more closely, that $HIP does not necessarily mean any kind of Houdini preferences folder, instead it refers to whichever path the file is saved in, therefore there is no need for me to change the $HIP path to my own- it’s already there. Sure enough I saved it under $HIP and was able to locate it in the geo folder of my project.

$HIP can be a variable, $HIPNAME cannot.

The only other problem I ran into was all the way at the very end.

Somehow I could not stop the raised points from being deleted when I merged the roof with the main cabin.

The way I ended up solving this was simply re-creating the transform node for the points. It still wasn’t working, but I deleted and re-attached the connector and somehow that changed everything. I am not sure how this worked. To me, the tree looks exactly the same before and after I did this.

I moved on to Mehdi’s bonus project: building the cabin with pronounced wood slats. I was able to remake the entire cabin, but for some reason my booleans for the windows weren’t working, and I’m sure that although the cabin looks good there is something mathematically off. I am sure that the Q&A session will provide me with more insight.

Additional questions-

Why create a transform node instead of just working in the viewport?

How does the divide node work?

I’m still not sure what the delete node actually does.