Nvil-Houdini Applink

Last updated on: 12 August, 2018

Summary: Python scripts that enable easy geometry interchange between NVil and Houdini (on SOP level).

With all of its greatness and an incredible sandbox experience that Houdini offers, I always found it to be somewhat lacking in traditional modeling department. Any attempts to model something in a non-procedural way usually results in a huge network of surface operators spawning one after another on each basic modeling action. Some common modeling tasks even require a chain of several SOPs piped in a sequence. Fusing points to their bounding box center is a typical example where for a basic operation we require two separate Fuse SOPs: one for snapping selected points to their average center, the second to perform the actual fusion.

I’m not saying that I haven’t seen wonderful models done in Houdini by fellow artists using traditional modeling workflow. I admire their work, but to me forcing yourself to create non-procedural models in Houdini feels very impractical and unnecessarily lengthens the modeling process just for the sake of doing all tasks in a single computer program.

I have not doubts that in time non-procedural modeling in Houdini will only get better, but for the time being I keep doing all of it in a third party software (Blender or Nvil). It feels faster to send current geometry snapshots to a dedicated modeler, make small tweaks or even major changes using streamlined tools and then import everything back, than to put yourself through a Gehenna of modeling in Houdini. This AppLink automates the geometry interchange process between Houdini and NVil, which I find to be one of the best, but at the same time somewhat little-known, dedicated subdivision modeler.

The AppLink comes with two shelf tools which provide easy access to exporting geometry to Nvil and starting RPC server which the AppLink uses for communication with Houdini. To send geometry to Nvil, we must select a SOP that we want to export and then click “To Nvil” shelf tool. This will export an .obj file to Nvil’s clipboard path, which in turn triggers “Import” command in the program and shows the import dialog. We can then start working on our model.

Houdini default interface with gray untextured mantis model loaded in the viewport.

Houdini with AppLink shelf loaded in.

To send geometry back to Houdini we first need to start hrpyc server using the shelf tool. This is done once per Houdini session. We also need to select a SOP to which the frozen geometry File SOP will be piped to. Then, in Nvil, we run a composite tool called “Export to Houdini” (we can assign it a hotkey to speed things up), which will tell Houdini via rpyc to import our geometry right under the selected SOP.

NVil minimali interface with untextured mantis model loaded in the viewport.

The same model exported from Houdini and imported in NVil.

Information on how to install and configure the AppLink can be found in README.md file. Setting things up requires some path editing directly in the AppLink files, but it isn’t as scary as it sounds.

Happy modeling.