Workflow between Maya and Houdini
Collaboration between Maya and Houdini could be a challenge for ETC projects. Here we listed some useful resources and general guidelines on how to make this workflow smoother.
Contents
Using Alembic Cache to Import/Export Scenes
Alembic Cache is a 3D scene interchange framework designed to provide a non-procedural, application-independent set of features to describe the scene. It is well supported both in Maya and Houdini and it also handles with unit precision well.
We recommend to export scenes or selected objects to alembic cache files to import the hierarchy into another software. Note that since it is a platform-independent format, the light and material settings will be all lost and need to be ported manually.
This video acts as an example to port a scene from Maya to Houdini.
Porting Materials
Maya and Houdini are using similar material systems but the built-in material node set depends on supported renderers. Unfortunately, the render nodes in Maya and Houdini cannot be converted directly and needs manual settings in most scenarios.
The good news is that, for typical renderers on both platforms (like Arnold and Mantra), the Physically Based Shading works similar and most of its parameters are the same. It would be not hard to apply the same parameters on another platform. For other kind of materials, it is recommended to create the material or shader directly using provided shader nodes or VOP nodes. For example, you can export displacement textures from Houdini Ocean Spectrum and recreate a shader in Maya using these textures.
Porting Lights
Unfortunately, lights cannot be ported automatically by alembic cache due to platform-independent feature. The FBX format supports light settings but might fail to behave the same on both platforms. However, the alembic cache reserves the hierarchy and you can still get the transform nodes of the lights. You can then reconstruct the lights from these nodes to accelerate your porting process.
Compositing from Different Renderers
Compositing from different renderers, especially from different platforms, can be tricky. It is usually recommended to try putting all the scene data in one software and rendering it use one renderer so that the life would be much easier. If you decide to render on both platforms, a common technique is to apply matte shading and different render passes to separate the scene into different layers. Since matte shading will reserve transparent masks for matte objects, you can simply layer the images up to get an initial version working.
For rendering effects that needs cooperation from both platforms such as reflection and refraction, it is recommended to create placeholders on both platforms first, and apply the placeholder with a simple material. Then fix all the trivial issues in the post-processing to make it better. The reflection can also be implemented in the post-processing process but needs more investigation on the necessary information to gather the reflection area.