SideFX Siggraph 2019

SideFX’s Siggraph 2019 presentation was held in Los Angela’s on July 30, this past Tuesday at the time of writing this. SideFX announced Solaris to the public and mentioned many impressive updates that out coming out to Houdini in the upcoming release. In Houdini 18, we’re going to get a new context window that will take advantage of USD (Universal Scene Description) and a new CPU renderer named Karma replacing Mantra.

Have you used Houdini’s HDA (Houdini Digital Asset) for Unreal Engine? If so, you’ll understand the beauty of how easy it is to use both Houdini & UE4 seamlessly together. The geometry that was made in Houdini can be ported into UE4 with a single click and updates to that same geometry can be made just by a simply saving in Houdini, automatically updating the HDA in UE4. And on top of that, all changes to that geometry that was made in UE4 are kept. So the pipeline from Houdini to UE4 is completely procedural.

What is USD?

I think Pixar realized the advantage of having a seamless workflow between different software applications and came up with USD (Universal Scene Description), which is an open source C++ library that defines the layout of geometry including lighting, animation, modeling, shading, and rendering. This way, your scene and all the placement of the meshes can be easily and universally transferred between different software applications.

This is huge for team development! I’m not sure if Solaris can update in real-time, but if it can that would be awesome. It reminds me of Google Docs when they first came out with that team editing feature where all team members that are logged in can update the document together at the same time on the same document. And Google even put in a chat functionality just for the fun of it so you can discuss with members on what to write.

Imagine if we had that for Solaris, being able to do layout for the scene together as a team at the same time. I could do one corner of a house scene and you can do the upper floor, and you would be able to peek at my work anytime and we would try to match each other’s style.

I could be updating simple details of the meshes one by one as you position the layout of the environment onto the scene, and both updates come together seamlessly.

Karma, New CPU Renderer

Karma uses OpenGL to render your scenes in the viewport. The rendering done in Karma will not look exactly the same as the final render you output for production. It’s meant to be used as part of the workflow. For example, it will make the lighting process a lot more smooth, with quicker updates on the viewport you can dynamically change the lighting with greater response times.

It is very similar to Blender’s Eevee, which is also OpenGL based, but Eevee uses the GPU.

FBX & Alembic, a Thing of the Past?

I have to admit, this was the first time I heard of USD, but I actually have been using this concept for a long time with FBX and Alembic files. Have you been in a situation where you create all your 3D assets in Houdini and need to port them over to another software because you needed it in UE4 for your game dev team or maybe your client doesn’t use Houdini and needed the project file in Maya or 3D Max. It happens! For whatever reason, you need to port over your Houdini project into another software, but you don’t want to stage all the meshes and reposition it all over again.

This is usually where I usually export my Houdini project into FBX and Alembic and import it into Blender, Maya, Fusion 360, or any other software you name it. This way it keeps the position of all the meshes and I can continue working immediately. If you have some experience with FBX and Alembic, you may know that it isn’t always that perfect. The third party software may not support certain features when you import the FBX and Houdini’s FBX ROP hasn’t always been the best for me. I have had times where certain attributes refused to be ported unless it was animated or translated at some point to trigger the FBX ROP to export all my needed attributes.

Even Blender is starting to make its shift to USD.

https://code.blender.org/2019/07/first-steps-with-universal-scene-description/