Matt Workman is a cinematographer and founder of Cinematography Database who in recent times has used game engines to help previs and plans shots. He also developed Cine Tracer (https://www.cinetracer.com), a real-time cinematography simulator made in Unreal Engine.
Confident in the power of real-time rendering to help imagine scenes and for virtual cinematography, Workman, however, wanted to do more procedurally in terms of building assets for these scenes. So in just the past few months he has dived into Houdini for the first time and been sharing his progress. We checked in on where he is up to.
What was it that made you decide to jump into Houdini? What had your experience been with the tool beforehand?
Matt Workman: When I was doing traditional 3D previs, I was using Maya (MEL and Python) and Cinema 4D (Xpresso and Python). I was creating semi-procedural models and using triplanar or box projections and everything was working well.
When I started developing Cine Tracer using Unreal Engine, the models needed to be properly UV unwrapped, have collisions generated, etc. I had seen demos of Houdini being able to UV procedurally and several other time-saving features specific to working with game engines, so I knew that I needed to start using it.
Specifically in terms of Unreal and Houdini, how did you want to implement some of the procedural aspects of the tool into your work?
Matt Workman: The building system in my game/app Cine Tracer is based on a 4x4M world grid. Everything needs to perfectly tile and snap into that grid. Within that grid I wanted a lot of procedural design and also randomness and noise. Houdini is perfect for building assets that rigidly fit into my world grid and then generating infinite variations. I can make 10 iterations of a landscape or wall with windows in minutes and they all have the same style UV unwrap, collisions, vertex colors, etc.
How did you actually start in terms of learning things about the tool and in trying things out?
Matt Workman: I started out by making a curtain using Vellum. Then I made a procedural table, I-Beam, stairs, railroad track, windows, and a lot more objects. I read all of the Houdini getting started PDFs and watched hundreds of tutorials on YouTube.
My hardware setup is a custom PC with an AMD Threadripper 1950x, Nvidia 2080ti, and 64GB of RAM. For my MacOS/iOS development I have an iMac Pro and an iPad Pro.
Can you talk about a couple of the things you’ve ‘discovered’ using Houdini, specifically with building assets/terrain and bringing them into Unreal? What have been the benefits of doing this with Houdini versus some other way?
Matt Workman: Unreal Engine has a very strict set of rules for getting ‘Static Meshes’ into the engine. You have to consider the geometry, LODs, UVmaps, Light Maps, collisions, morph targets, and many more things. In other DCCs it’s pretty cumbersome to manage all of these assets in one scene using the ‘Outliner.’ In Houdini, it's much more elegantly laid out to manage the complexity needed to get meshes 100% packaged for UE4. I find that I’m able to manage the pipeline much easier in Houdini and I haven’t even started to automate it using Python yet, I’m just using the stock SOPs and the new SideFX Labs tools.
What also have been some of the challenges in just learning the tool, and also the interaction between Houdini and the game engine?
Matt Workman: Houdini exposes all aspects of the 3D model, where other DCCs tend to hide them or at least obscure them. So two relatively new concepts to me were Vertex Tangents and Vertex Colors. For example, I have a shader in UE4 that looks at the model’s Vertex Color and blends between multiple textures to give the model a more organic look. In Houdini, it’s very simple to group certain vertices and then add controlled noise to the Vertex colors. This is something learned from a Houdini tutorial and then applied in UE4.
What are your plans, right now, in terms of how you are going to use Houdini with future work?
Matt Workman: I’m going to build my entire world with Houdini. Each HDA is re-usable in Houdini, so if I build a stair tool, I can use it inside of another tool that can be used inside of another tool. I’m building basic US American style houses and towns right now and terrains. Next I’ll be making procedural hard surface film industry equipment and probably move onto Foliage.