Jump to content

Unreal - Houdini Pipeline Plugin


Recommended Posts

Hello everyone, I've developed an Unreal Engine 4 plugin capable of executing any Houdini projects using my custom input and output nodes.

Its current purpose is to take white boxed level data, export it to Houdini, which generates assets based on the white boxes, and sends the asset data back to Unreal, which then imports the assets to the scene.

All of this is done with the click of a button in Unreal, and a file picker asking what Houdini project to execute.


How does it work?
Level designers white box their level with a custom actor that holds the attribute for asset type, by setting the asset type the designer defines what type of asset they expect from Houdini.
After they're done with white boxing, they have to select the boxes they want to artify, and execute the plugin. After execution, the plugin asks which Houdini project to execute, and after selection of the Houdini project, execution will start.
The Houdini execution is done in a command prompt, and after successful execution, the assets are imported and white boxes are hidden.

Imported assets are all modular and are part of a parent and group. This allows full control over the assets, so that you can unlock the asset, and for example move the door of a building to the left side of the building.

Why should I use this?
The purpose of this plugin is to quickly set dress an entire level, or one particular area, without the need of artists, or manual placement of assets.
This allows level designers to make quick iterations of their level by artifying the whole level or parts of it in a fraction of time that would otherwise take.


What Houdini data does the output expect?

The output expects point data in the attributes, containing the mesh path, transformations, parents etc. so that the data can be transformed in T3D data, which Unreal uses to import assets.

Note that it doesn't transfer around whole parts of geometry, since this would be a lot slower. All data between Unreal and Houdini is transferred through local sockets, which are very fast.


Here's a video where I white box a level, generate assets with the plugin, make iterations in design, and play the game, all done in a time period of 20 minutes (excluding the time to build lighting).



Do keep in mind that the art side is not fully done yet and am only able to present the generation of parks and buildings, although the plugin itself is capable of generating any asset delivered by Houdini.

I'm not planning to release the plugin yet, but will consider releasing it if there is enough interest by you guys.

The reason for this is that the plugin itself is not ready for generic usage yet (like asset types for custom actors are hard-coded), and I do not own a part of the code base, which I would need to rewrite if I want to release the plugin.


Please feel free to ask questions, I will happily answer them.

Edited by Ensar
  • Like 3
Link to comment
Share on other sites

Since Houdini Engine imports assets as a whole, it doesn't give the users full control over the assets. This was an important point for us, since we wanted to be able to edit any imported asset. Our plugin allows us to import assets in small modules, so that we have full control over them. Note that the imported assets are grouped and parented to have a central pivot, and have the ability to select the asset as a whole, instead of just a module. You can still select a module after unlocking the asset.

Imported assets are not yet instanced, this is a feature I will be working on for the coming month.

Link to comment
Share on other sites

  • 3 months later...

Nice work, be sure to also post it in the finished work forum when its done!

Was this part of your specialization or graduation project btw?
Asking as a 2009 IGAD'er :)

as for some suggestions:

It would be cool if the height of the building would better match the whiteboxing,
Maybe also have the grass patches combine if they are adjacent to each other


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...