Maya to Houdini, Quick Tip - Object context VS Geometry context [BEGINNER]

Tutorial / 31 August 2020

SOPs, DOPs, LOPs?

From a Maya user's perspective, Houdini can be horrifying and one of the things that trip up a lot of people when they're just starting out is the multiple contexts within Houdini. Not only do people have trouble differentiating between the contexts, they also might not know what a context is. In this quick tip, I aim to explain the difference between the object context and the geometry context (Also known as SOPS). 

Note: this assumes a basic understanding of Maya.

Setup

To showcase the difference between the contexts, I've built identical scenes in Maya and Houdini. There are two animated cubes both moved on the X axis 4 units over a period of 24 frames. The blue one is moved in the geometry context, and the red one is moved in the object context. How does this work in Maya? I'll explain...

Object Context

In the images below you'll see the red cube selected in both Maya and Houdini. In Maya, I selected the cube, keyframed it at position 0 on frame 1, and keyframed it at position 4 on frame 24. You should be able to see this represented in the transform node of the object. Using Houdini, this is equivelent to keyframing the translate attribute on the object node in the object context. 

Frame 1, 0 on the X-axis


Frame 24, 4 on the X-axis

Geometry Context

As for the blue cube, that was animated a bit awkwardly in Maya to be honest. In the images below, instead of selecting the object, I highlighted all the faces and keyframed those instead. The end result is that the geometry animates yet the pivot point stays in place. It's also slightly more demanding on the computer as it's moving each piece of geometry rather than the whole thing at once. Not typically something you'd want to do, right? Well that's exactly what happens when you move an object in the geometry context in Houdini...


Frame 1, 0 on the X-axis


Frame 24, 4 on the X-axis (note pivot hasn't moved)


Check out how this was done in both programs. In Maya, you select all the faces and move them. In Houdini, you go into the geometry context and place a transform node. Both methods have the same effect and that is reduced performance compared to moving things at the object level.

Frame 16, moving at the geometry level

TL:DR

Moving geometry at the object level in Houdini is equivalent to moving an object using its transform in Maya

Moving geometry the the geometry level in Houdini is equivalent to selected all the faces and moving them in Maya.

EDIT:

A kind Reddit user has enlightened me to a very important point. What I have talked about here is how the programs work, not necessarily how YOU should work. In Maya, selecting all the faces, moving, and keyframing them is a weird and terrible idea, well Houdini is different. It's actually best practice to do your transforms at the Geometry level rather than the Object level as it avoids confusion down the line.


I hope I was able to explain things to you clearly enough, this sort of stuff is notorious for being loaded with industry jargon and Houdini doesn't exactly make things easier in that regard. In saying that, just push through and everything will be alright. I started using Houdini 8 months ago from writing this post and was a Maya user for 4 years before that. It's really not a lot of time as long as you keep going at it!