Best Houdini Utility Entries
14809 25 16- rmagee
- Staff
- 1185 posts
- Joined: July 2005
- Offline
When they are completed, add your entries to the Best Houdini Utility Category to this thread before the contest deadline.
If you want to show off your WIP then add your own WIP thread to the H20 Tech Art Challenge forum. Only use this thread when your project is complete and ready for submission.
If you want to show off your WIP then add your own WIP thread to the H20 Tech Art Challenge forum. Only use this thread when your project is complete and ready for submission.
Edited by rmagee - Nov. 16, 2023 12:52:04
Robert Magee
Senior Product Marketing Manager
SideFX
Senior Product Marketing Manager
SideFX
- Seawise_Giant
- Member
- 4 posts
- Joined: March 2019
- Offline
Cameraman Utility HDA
Hello everyone,
This HDA helps you animate your Solaris camera based on a given geometry point. It can be useful to achieve complex camera movements with very little effort.
Cameraman offers two modes:
1. Basic Xform: No geometry point required, just Pan, Tilt, Roll and Dolly based on a user-defined point of interest.
2. Track Point: Specify a target geometry point with p@orient attribute, and choose the following animation mode: Trace, Look At, Attach.
Enjoy!
2024.01.08 update:
1. The HDA has been updated to 2.1: Fixed an issue where "Auto Zoom" function does not respect "Effect" slider parameter.
2. New tip: Stack multiple Cameraman HDA and get dynamic camera movements by changing the "Effect" slider(example below).
Hello everyone,
This HDA helps you animate your Solaris camera based on a given geometry point. It can be useful to achieve complex camera movements with very little effort.
Cameraman offers two modes:
1. Basic Xform: No geometry point required, just Pan, Tilt, Roll and Dolly based on a user-defined point of interest.
2. Track Point: Specify a target geometry point with p@orient attribute, and choose the following animation mode: Trace, Look At, Attach.
Image Not Found
Image Not Found
Enjoy!
2024.01.08 update:
1. The HDA has been updated to 2.1: Fixed an issue where "Auto Zoom" function does not respect "Effect" slider parameter.
2. New tip: Stack multiple Cameraman HDA and get dynamic camera movements by changing the "Effect" slider(example below).
Edited by Seawise_Giant - Jan. 8, 2024 09:12:26
- abingabingaaa
- Member
- 3 posts
- Joined: March 2018
- Offline
PY_FindShortestPath_Clean HDA
Hey everyone!
Here is my submission.
This tool let you...
1. Break up the curves to non-overlapping curves which is generated by FindShortestPath node
2. decrease total points
3. cut the curves from the longest curves
4. keeps the original "distance" attribute
5. allows you to deal with multiple groups
I hope you will find it useful! Cheers!
Hey everyone!
Here is my submission.
This tool let you...
1. Break up the curves to non-overlapping curves which is generated by FindShortestPath node
2. decrease total points
3. cut the curves from the longest curves
4. keeps the original "distance" attribute
5. allows you to deal with multiple groups
I hope you will find it useful! Cheers!
Image Not Found
Edited by abingabingaaa - Dec. 25, 2023 05:05:10
- Pawel_Grzelak
- Member
- 11 posts
- Joined: March 2012
- Offline
PGV Remesh is a wrapper for standard Remesh SOP, which additionally resamples borders of the geometry.
It solves a common problem with remeshing highpoly open mesh, where the borders keep the original point count, resulting in uneven triangles distribution which is not ideal f.e. for cloth sim.
I published an old version of it back in 2020 HERE [pawelgrzelak.gumroad.com], refreshed the HDA for current challenge, with some features added.
It solves a common problem with remeshing highpoly open mesh, where the borders keep the original point count, resulting in uneven triangles distribution which is not ideal f.e. for cloth sim.
I published an old version of it back in 2020 HERE [pawelgrzelak.gumroad.com], refreshed the HDA for current challenge, with some features added.
- insanerob
- Member
- 4 posts
- Joined: May 2020
- Offline
HEAT HAZE tool
Generates a 2D distortion map from your scene which can be used in post to add distortion to your images. The maps can be used to add mirage effects like you see on hot road surface, light bending through hot air around fire or other heat sources, it can also be used for more abstract effects such as distortion around particles or other geometry that has been rasterised to a volume.
Heat Haze (iDistortion)
Have fun
rOb
Heat Haze tool tutorial. [youtu.be]
Generates a 2D distortion map from your scene which can be used in post to add distortion to your images. The maps can be used to add mirage effects like you see on hot road surface, light bending through hot air around fire or other heat sources, it can also be used for more abstract effects such as distortion around particles or other geometry that has been rasterised to a volume.
Heat Haze (iDistortion)
- Takes any scalar volume, even though the main use case is heat haze from a temperature volume.
- Outputs two distortion attributes/maps, one for the scene and one for the direct emission from the volume.
- Marches rays from the camera, through a volume and measures the distortion in pixels mimicking the way light refracts.
- No more time-consuming masking and noise scaling/animating in post, just calculated distortion that matches your scene perfectly.
- Can be used in card style fire for game engine shaders by rendering with a close back plane and then multiplying by depth
- Full details in the help of the node
Have fun
rOb
Heat Haze tool tutorial. [youtu.be]
Edited by insanerob - Jan. 3, 2024 09:47:34
- JX Pearl
- Member
- 3 posts
- Joined: Oct. 2019
- Offline
Python Runner
A custom Python node which provides a more interactive experience of running python code.
It allows user to
Ideal for learning Python or debugging complex code.
A custom Python node which provides a more interactive experience of running python code.
It allows user to
- Run Python code step by step: separate code into blocks and execute them as you want.
- Visualize Python variable value: no more print() or setAttribValue() only for viewing the value.
- Execute code in an external file: write your code in your favourite code editor and run it inside Houdini.
Ideal for learning Python or debugging complex code.
Edited by JX Pearl - Jan. 4, 2024 21:35:17
- aaronsmithtv
- Member
- 18 posts
- Joined: Feb. 2018
- Offline
Hello everyone! I am really excited to share a utility that adds some useful, fun and interactive texturing functionality to Houdini, Texture Stamp. The idea of this HDA is to allow texturing to be a procedural workflow within Houdini.
When an artist at a studio is assigned many assets to add embellishment to (using Mari for example), this is a lengthy labor intensive task. With Texture Stamp, projecting any number of textures becomes an automated part of your toolset, with the same level of interactivity and high performance found elsewhere.
The tool includes a well documented, complex Python viewer state with intuitive keyboard shortcuts and key-binds, as well as extended functionality that handles automated UDIM processing, OCIO and custom viewport drawing. In the spirit of Houdini, the core image processing of the tool is kept open as an editable subnet, and the code has been designed around modular simplicity, where a studio may want to extend functionality with custom tools and pipeline integration.
An example scene, demo gifs, all open-source commit history and 6 example sticker images can be found on the GitHub repository for the Texture Stamp HDA. [github.com]
Thanks for taking the time to look at my HDA, feel free to ask any questions! I hope you all enjoy it as much as I enjoyed creating it.
When an artist at a studio is assigned many assets to add embellishment to (using Mari for example), this is a lengthy labor intensive task. With Texture Stamp, projecting any number of textures becomes an automated part of your toolset, with the same level of interactivity and high performance found elsewhere.
The tool includes a well documented, complex Python viewer state with intuitive keyboard shortcuts and key-binds, as well as extended functionality that handles automated UDIM processing, OCIO and custom viewport drawing. In the spirit of Houdini, the core image processing of the tool is kept open as an editable subnet, and the code has been designed around modular simplicity, where a studio may want to extend functionality with custom tools and pipeline integration.
An example scene, demo gifs, all open-source commit history and 6 example sticker images can be found on the GitHub repository for the Texture Stamp HDA. [github.com]
Thanks for taking the time to look at my HDA, feel free to ask any questions! I hope you all enjoy it as much as I enjoyed creating it.
- HandcraftedMedia
- Member
- 22 posts
- Joined: Jan. 2019
- Online
Hey Everyone!
My submission: An SDF Modeling toolset for Houdini
This toolset allows you to model inside Houdini using the magic of SDFs.
The tools are run on Houdini volumes, have a powerful and flexible workflow, come with fast "math based primitives" but also allow for modeling with polygon or volume inputs.
There are also powerful post processing tools included, focused on hard surface modeling, that allow you to create sharp edges and UV seams.
Watch an intro into the toolset, that explains most of the available nodes and the modeling workflow:
Watch a tutorial on optimizing your mesh after modeling:
You can also download the toolset on github: https://github.com/handcraftedcc/SDFModeler [github.com]
Credit: A good bit of the base code for the SDF operations were taken from https://mercury.sexy/hg_sdf/ [mercury.sexy] .
Thanks to the mercury team for releasing the code under the MIT license!
My submission: An SDF Modeling toolset for Houdini
This toolset allows you to model inside Houdini using the magic of SDFs.
- Unbreakable Booleans
- Powerful Transitions (Bevels, Chamfers and more)
- 100% Non Destructive Modeling
The tools are run on Houdini volumes, have a powerful and flexible workflow, come with fast "math based primitives" but also allow for modeling with polygon or volume inputs.
There are also powerful post processing tools included, focused on hard surface modeling, that allow you to create sharp edges and UV seams.
Watch an intro into the toolset, that explains most of the available nodes and the modeling workflow:
Watch a tutorial on optimizing your mesh after modeling:
You can also download the toolset on github: https://github.com/handcraftedcc/SDFModeler [github.com]
Credit: A good bit of the base code for the SDF operations were taken from https://mercury.sexy/hg_sdf/ [mercury.sexy] .
Thanks to the mercury team for releasing the code under the MIT license!
Edited by HandcraftedMedia - Jan. 8, 2024 12:26:42
- Viktors_A
- Member
- 7 posts
- Joined: April 2018
- Offline
Delete Geometry data node.
Deletes attributes and groups from input geometry.
Hello everyone!
I always found deleting attributes and groups in Houdini tedious, especially if I am not sure whats the name of the attributes/groups I want to keep or delete.
Deletes attributes and groups from input geometry.
Hello everyone!
I always found deleting attributes and groups in Houdini tedious, especially if I am not sure whats the name of the attributes/groups I want to keep or delete.
- HDA will generate button strips of attributes and groups, so users can visually select what to delete/keep.
- HDA will keep track of input geometry changes, update menu strips, and keep any relevant selection for new geometry.
Edited by Viktors_A - Jan. 8, 2024 12:30:27
Viktors Anfimovs
- JinYi _Zhang
- Member
- 1 posts
- Joined: Nov. 2022
- Offline
- vfxmagic
- Member
- 11 posts
- Joined: Feb. 2018
- Offline
Pop Solver SOP
This HDA is designed to simplify your workflow, while also providing advanced control over particle simulations – a feature that hasn’t been easily accessible until now.
This HDA offers controls like Pop Spin, and you can even write VEX at the HDA level. Additionally, it allows for caching, enabling you to focus on the look development aspect. I've also included a pscale visualization to assist you in visualizing particle scale. If you dive inside, you'll find other open controls that you can customize according to your needs.
Check out the demo for more information:
This HDA is designed to simplify your workflow, while also providing advanced control over particle simulations – a feature that hasn’t been easily accessible until now.
This HDA offers controls like Pop Spin, and you can even write VEX at the HDA level. Additionally, it allows for caching, enabling you to focus on the look development aspect. I've also included a pscale visualization to assist you in visualizing particle scale. If you dive inside, you'll find other open controls that you can customize according to your needs.
Check out the demo for more information:
Edited by vfxmagic - Jan. 12, 2024 02:42:35
- fabriciochamon
- Member
- 69 posts
- Joined: Jan. 2014
- Online
VisionML
EDIT: Mar-04-2024
I've been fixing and improving the tool since the initial release, please make sure to get the latest plugin version from the link below.
---
Hi all! VisionML (or just VML) is a plugin that aims to bring computer vision and machine learning data into Houdini.
It is composed of a standalone program called VML Streamer that sends data through UDP sockets + a set of HDAs that can read and decode the data into visuals. (SideFX Labs is required!)
VML streamer is based on OpenCV and can send the webcam, videos and for now one of its main pillars is MediaPipe [developers.google.com] (Google's open source tech that offers realtime 2.5d trackers for hand/body/face).
VML Streamer was also made to be customizable with more stream types! Check out the GitHub [github.com] page.
Some extra HDAs as helpers/utility nodes, like onnx image-to-tensor converters and mediapipe pose tools (pose library/pose compare/etc).
Download (along with more sample scenes)
VisionML Plugin for Houdini [github.com]
Have a look at the plugin presentation:
Screenshot:
Sample scene is attached.
EDIT: Mar-04-2024
I've been fixing and improving the tool since the initial release, please make sure to get the latest plugin version from the link below.
---
Hi all! VisionML (or just VML) is a plugin that aims to bring computer vision and machine learning data into Houdini.
It is composed of a standalone program called VML Streamer that sends data through UDP sockets + a set of HDAs that can read and decode the data into visuals. (SideFX Labs is required!)
VML streamer is based on OpenCV and can send the webcam, videos and for now one of its main pillars is MediaPipe [developers.google.com] (Google's open source tech that offers realtime 2.5d trackers for hand/body/face).
VML Streamer was also made to be customizable with more stream types! Check out the GitHub [github.com] page.
Some extra HDAs as helpers/utility nodes, like onnx image-to-tensor converters and mediapipe pose tools (pose library/pose compare/etc).
Download (along with more sample scenes)
VisionML Plugin for Houdini [github.com]
Have a look at the plugin presentation:
Screenshot:
Sample scene is attached.
Edited by fabriciochamon - March 4, 2024 19:18:11
- PaQ WaK
- Member
- 100 posts
- Joined: Jan. 2015
- Offline
CADuvFIX
CADuvFIX - SOP : Fixing UV's auto generated by Moment of Inspiration, when exporting CAD/Nurbs model using .FBX. It does require MOI 5.0 beta (dec), as this last version generates the appropriate surface ID.
MoI 5.0 exports intrinsic uv's coming from the Nurbs surface, so every surface has normalized UV's in a 0-1 space. They are hardly exploitable in that arrangement.
Beside some surface have inverted projection
Labs calculate uv distortion is handy to visualize those distortions, but won't fix anything.
CADuvFIX will go a bit further, and generate the proper scale fix needed to minimize those stretching and also fix inverted projection.
The orthogonal / axis aligned nature of those UV's makes the packing efficient.
Different showcases :
Video demo (French) :
I also include a test mesh generated by MoI to test the tool.
Cheers
CADuvFIX - SOP : Fixing UV's auto generated by Moment of Inspiration, when exporting CAD/Nurbs model using .FBX. It does require MOI 5.0 beta (dec), as this last version generates the appropriate surface ID.
MoI 5.0 exports intrinsic uv's coming from the Nurbs surface, so every surface has normalized UV's in a 0-1 space. They are hardly exploitable in that arrangement.
Beside some surface have inverted projection
Labs calculate uv distortion is handy to visualize those distortions, but won't fix anything.
CADuvFIX will go a bit further, and generate the proper scale fix needed to minimize those stretching and also fix inverted projection.
The orthogonal / axis aligned nature of those UV's makes the packing efficient.
Different showcases :
Video demo (French) :
I also include a test mesh generated by MoI to test the tool.
Cheers
Gameloft
- DavidRhodes
- Member
- 4 posts
- Joined: Jan. 2018
- Offline
Gaussian Splat Operators (GSOPs)
Use GSOPs to import, edit, and export gaussian splat models, or generate synthetic training data. Synthetic data is capable of producing high-fidelity models with view-dependent effects, relatively small file sizes, and incredible rendering performance on most modern devices.
With GSOPs, you can isolate objects or sections, eliminate noise and floaters, deform and animate models, compose scenes, mesh splats, and conduct feature analysis.
Download Link [www.dropbox.com]
GitHub Repo [github.com]
Use GSOPs to import, edit, and export gaussian splat models, or generate synthetic training data. Synthetic data is capable of producing high-fidelity models with view-dependent effects, relatively small file sizes, and incredible rendering performance on most modern devices.
With GSOPs, you can isolate objects or sections, eliminate noise and floaters, deform and animate models, compose scenes, mesh splats, and conduct feature analysis.
Download Link [www.dropbox.com]
GitHub Repo [github.com]
Edited by DavidRhodes - Jan. 15, 2024 12:21:54
- Nok
- Member
- 4 posts
- Joined: Sept. 2020
- Offline
Building Automatic Detail Walls (BAD_walls)
Hi everyone!
My name is Nok, I'm very excited to finally be able to show you this big project I'm working on. The "Building Automatic Detail Tools" (BAD_tools for short), is a toolkit for simplifying VFX and modeling workflows by converting flat polygons into RBD-ready hi-poly geometry with customizable details and procedural control.
Within this future set of tools, let me introduce you to BAD_walls. An HDA that transforms input geos into stunning, RBD-ready brick or tile walls, reducing the project times considerably.
Tech Challenge:
I invite you to explore and play with BAD_walls, and hopefully, change and enhance your 3D modeling experience. Whether you're a professional or an aspiring artist, this tool is ready to be used with a clear and intuitive UI and easy-to-work parameters.
To test and showcase the tool, I've made a VFX shot in only 10 days using the BAD_walls HDA. The modeling of the chimney tower took me only an hour, and as you can see it's made of a massive amount of bricks.
It would be impossible to model this by hand, and a waste of time to prepare a setup only to do it procedurally. So let me do the dirty job, and enjoy the fun of modeling with BAD_walls
Here's the shot:
Check out the BAD_walls HDA FULL GUIDE to discover all the hidden secrets of this tool:
I really hope you found this HDA helpful or interesting, it's been a really fun project to work and after all this long and hard journey I'm really happy and excited to be able to finally publish the first tool.
I'm eager and looking forward to seeing how you guys explore new ways to create with the BAD_walls HDA.
Remember that if you have any questions, ideas, or suggestions, don't hesitate to leave a comment or send me a DM on Linkedin!
Thanks for all, and until next time, keep creating amazing things!
Cheers! <3
Hi everyone!
My name is Nok, I'm very excited to finally be able to show you this big project I'm working on. The "Building Automatic Detail Tools" (BAD_tools for short), is a toolkit for simplifying VFX and modeling workflows by converting flat polygons into RBD-ready hi-poly geometry with customizable details and procedural control.
Within this future set of tools, let me introduce you to BAD_walls. An HDA that transforms input geos into stunning, RBD-ready brick or tile walls, reducing the project times considerably.
Tech Challenge:
I invite you to explore and play with BAD_walls, and hopefully, change and enhance your 3D modeling experience. Whether you're a professional or an aspiring artist, this tool is ready to be used with a clear and intuitive UI and easy-to-work parameters.
To test and showcase the tool, I've made a VFX shot in only 10 days using the BAD_walls HDA. The modeling of the chimney tower took me only an hour, and as you can see it's made of a massive amount of bricks.
It would be impossible to model this by hand, and a waste of time to prepare a setup only to do it procedurally. So let me do the dirty job, and enjoy the fun of modeling with BAD_walls
Here's the shot:
Check out the BAD_walls HDA FULL GUIDE to discover all the hidden secrets of this tool:
I really hope you found this HDA helpful or interesting, it's been a really fun project to work and after all this long and hard journey I'm really happy and excited to be able to finally publish the first tool.
I'm eager and looking forward to seeing how you guys explore new ways to create with the BAD_walls HDA.
Remember that if you have any questions, ideas, or suggestions, don't hesitate to leave a comment or send me a DM on Linkedin!
Thanks for all, and until next time, keep creating amazing things!
Cheers! <3
Image Not Found
Image Not Found
Edited by Nok - Jan. 14, 2024 16:11:05
- ObeidaZakzak
- Member
- 122 posts
- Joined: Dec. 2019
- Offline
Attribute Combine Vector SOP
This is similar to Attribute Combine SOP, but it only combines vectors, and it has specific operations, such as Cross product, Projection, and Rotation.
In a typical Houdini workflow, you will be manipulating attributes, adjusting and combining them. There's so many helpful nodes to make this easy. And the Attribute Combine Vector SOP is an addition to the user-friendly nodes that help quickly combine vector attributes, with spherical interpolation.
It can be used in many workflows, whenever it involves vector attributes. Hope you find helpful in your setups !
Check out the HDA's help card for some explanation of combine operations, and the attached hip file for examples shown in the video.
P.S : in this gold release, I added a second input to select attributes from a second geometry.
This is similar to Attribute Combine SOP, but it only combines vectors, and it has specific operations, such as Cross product, Projection, and Rotation.
In a typical Houdini workflow, you will be manipulating attributes, adjusting and combining them. There's so many helpful nodes to make this easy. And the Attribute Combine Vector SOP is an addition to the user-friendly nodes that help quickly combine vector attributes, with spherical interpolation.
It can be used in many workflows, whenever it involves vector attributes. Hope you find helpful in your setups !
Check out the HDA's help card for some explanation of combine operations, and the attached hip file for examples shown in the video.
P.S : in this gold release, I added a second input to select attributes from a second geometry.
Houdini Pipeline Supervisor @ TAT Studio
- EJaworenko
- Member
- 54 posts
- Joined: June 2017
- Online
Node Weaver is a toolset that is intended to ease the workflow of Houdini TDs. In time that is what it will do, but not yet.
- Primary tool to be considered: The package includes a Custom Node Shape Creator that was designed to be as dead-simple as possible to use. It would be great to see more custom node shapes in use but it would help if artists knew how to make them!
- It also includes a Node Shape File Inspector that allows you to import node shapes and see what went into making them, or modifying them if you'd like.
- Finally, it includes a Color Palette Configurator that has a bunch of utilities for making adjustments or additions to the 36 node colors you get in a palette by default in Houdini.
- a shelf with a shelf tool that prints out all of the callback scripts, default value expressions, and menu scripts in a node.
- A right-click menu item that makes it possible to set node colors with the color wheel window.
Edited by EJaworenko - Jan. 14, 2024 21:27:01
Houdini TD, I focus on tools for procedural asset creation.
www.jaworenko.design
www.jaworenko.design
- stefankohl
- Member
- 9 posts
- Joined: May 2020
- Offline
HEU FBX Tools (FBX Workflow Tools for HEU)
Problem: This tools is intended for small (or mid-sized) game dev teams who use Houdini to create assets for their Unity project. Our team started using Houdini a few years ago and quickly fell in love with its capabilities for world-building. As our game is quite asset-heavy (e.g. lots of individual terrain platform models), we've learned very soon that the amount of data puts some pressure on our collaborative workflow, due to Unity's way of serializing native mesh data in text files. A single Unity scene that contains a lot of procedural meshes generated by HEU could take up to 1 GB of disk space.
Solution: We came up with a solution to output Houdini-generated models directly into FBX files and integrate those into the known Houdini Engine for Unity (HEU) workflow. The HDA "heu_fbx_export" is intended to be used by Houdini tool creators to include into their own HDA and expose its parameters to designers who use their tools inside Unity. Designers can use HEU to create their assets in a familiar manner and once happy with their result easily export to an FBX model.
Approach: We take advantage of the FBX custom user properties feature to include meta data inside the FBX file and then read this information using an asset-postprocessor in Unity to do additional automated setup steps, like assigning the correct materials, layers and static flags directly upon importing the FBX model. As Houdini doesn't support writing FBX user properties, we wrote a tiny command-line tool called "fbxup" to add the user properties to the FBX after running the ROP FBX export manually using Python. The "fbxup" Houdini integration is also available as HDA ("fbxup_write") as a low-level tool for Houdini artists to add user properties to their FBX files.
If you use Houdini Engine for Unity to create a large number of assets, I hope this tool can help you to optimize your workflow!
Note: macOS users might need to manually permit the "fbxup" application to run.
Demo
In this example we see a regular HEU workflow: Unity box models are passed to an HDA, then HEU outputs the mesh of an asset. The example HDA turns box models into a more refined stylized terrain platforms with rock and grass materials applied. It also sets the GameObject layer and static flag.
After switching the mode from "disabled" to "export and instantiate" we can see the exported FBX inside the project and also being instantiated under the HDA.
This is possible thanks to the "heu_fbx_export" HDA. In a nutshell, the HDA network mainly consists of the three "modes" available in Unity and a Python script that triggers a ROP FBX ouput, followed by our integration of "fbxup" to write FBX user properties.
Our example "Terrain_Platform" HDA demonstrated before now makes use of "heu_fbx_export" in a similar way you can use it for your own HDAs that generate assets for your Unity project!
How to integrate this workflow into your own tools
Note
HIP/HDA files can be found under the following archive folders:
Problem: This tools is intended for small (or mid-sized) game dev teams who use Houdini to create assets for their Unity project. Our team started using Houdini a few years ago and quickly fell in love with its capabilities for world-building. As our game is quite asset-heavy (e.g. lots of individual terrain platform models), we've learned very soon that the amount of data puts some pressure on our collaborative workflow, due to Unity's way of serializing native mesh data in text files. A single Unity scene that contains a lot of procedural meshes generated by HEU could take up to 1 GB of disk space.
Solution: We came up with a solution to output Houdini-generated models directly into FBX files and integrate those into the known Houdini Engine for Unity (HEU) workflow. The HDA "heu_fbx_export" is intended to be used by Houdini tool creators to include into their own HDA and expose its parameters to designers who use their tools inside Unity. Designers can use HEU to create their assets in a familiar manner and once happy with their result easily export to an FBX model.
Approach: We take advantage of the FBX custom user properties feature to include meta data inside the FBX file and then read this information using an asset-postprocessor in Unity to do additional automated setup steps, like assigning the correct materials, layers and static flags directly upon importing the FBX model. As Houdini doesn't support writing FBX user properties, we wrote a tiny command-line tool called "fbxup" to add the user properties to the FBX after running the ROP FBX export manually using Python. The "fbxup" Houdini integration is also available as HDA ("fbxup_write") as a low-level tool for Houdini artists to add user properties to their FBX files.
If you use Houdini Engine for Unity to create a large number of assets, I hope this tool can help you to optimize your workflow!
Note: macOS users might need to manually permit the "fbxup" application to run.
Demo
In this example we see a regular HEU workflow: Unity box models are passed to an HDA, then HEU outputs the mesh of an asset. The example HDA turns box models into a more refined stylized terrain platforms with rock and grass materials applied. It also sets the GameObject layer and static flag.
After switching the mode from "disabled" to "export and instantiate" we can see the exported FBX inside the project and also being instantiated under the HDA.
This is possible thanks to the "heu_fbx_export" HDA. In a nutshell, the HDA network mainly consists of the three "modes" available in Unity and a Python script that triggers a ROP FBX ouput, followed by our integration of "fbxup" to write FBX user properties.
Our example "Terrain_Platform" HDA demonstrated before now makes use of "heu_fbx_export" in a similar way you can use it for your own HDAs that generate assets for your Unity project!
How to integrate this workflow into your own tools
- Download the attached ZIP archive and unpack it.
- Copy the Houdini package
Houdini/Package/HEUFBXTools
(including the JSON file) to your Houdini packages folder, for example, on Windows under{Username}/Documents/houdini20.0/packages
. More information: https://www.sidefx.com/docs/houdini/ref/plugins.html#using_packages [www.sidefx.com] - Copy the Unity package
Unity/Package/com.dyadicgames.unity.heufbxtools
into thePackages
folder of your Unity project. - Prepare your tool as HDA for Houdini Engine Unity.
- Add the node "heu_fbx_export" to your HDA's network before the output node and expose its
mode
andoutput_file_path
parameters to your HDA's parameter interface. You might also want to include the "Export" button. - When using your HDA inside your Unity project, users can export the mesh to FBX by selecting mode "Export" or "Export and instantiate".
Note
HIP/HDA files can be found under the following archive folders:
Houdini/Package/HEUFBXTools/otls
Houdini/Project
Unity/Examples/HEUFBXTools-Example/Houdini
Edited by stefankohl - Jan. 14, 2024 23:30:14
- cdordelly
- Member
- 162 posts
- Joined: Nov. 2016
- Offline
Hi everybody! Here is my submission:
USD Attribute Mapper
The USD Attribute Mapper manipulates the values of the selected USD Primitive attributes (standard USD attribute or USD Primvar attribute) using an internal SOP Network and different operation methods which can modify, create or rename an USD attribute.
This tool is an look to help a wide variety of artists to improve their attribute management workflow in Solaris + USD by opening the possibility to manipulate multiple type of attributes data more quickly with common SOP workflows, besides offer the possibility to directly create or rename USD attributes.
You can see more about the concept behind on the WIP thread of the tool here. [www.sidefx.com]
PD: Extra example videos will be shared on my YT channel and the WIP thread of the tool. (Edit: I decided to also share the videos here maybe they will be useful to someone )
I hope you like it and hope it helps someone to do more things in Solaris, cheers!
USD Attribute Mapper
The USD Attribute Mapper manipulates the values of the selected USD Primitive attributes (standard USD attribute or USD Primvar attribute) using an internal SOP Network and different operation methods which can modify, create or rename an USD attribute.
This tool is an look to help a wide variety of artists to improve their attribute management workflow in Solaris + USD by opening the possibility to manipulate multiple type of attributes data more quickly with common SOP workflows, besides offer the possibility to directly create or rename USD attributes.
You can see more about the concept behind on the WIP thread of the tool here. [www.sidefx.com]
PD: Extra example videos will be shared on my YT channel and the WIP thread of the tool. (Edit: I decided to also share the videos here maybe they will be useful to someone )
I hope you like it and hope it helps someone to do more things in Solaris, cheers!
Edited by cdordelly - Jan. 15, 2024 22:44:46
- SciFX
- Member
- 45 posts
- Joined: Nov. 2018
- Offline
Dear friends,
I would like to present a small yet very powerful utility which allows us to collect random parameters from different nodes in Houdini and override them selectively, using the "push" and "pull" method.
When placed in a network of nodes, the tool can be used to force a parameter update when the doodle node is cooked.
The tool can be used very effectively to create a library of reusable effects and setups with networks of any scale and complexity, to be used as templates when starting projects.
Helping artists to simplify the setup process significantly.
The tool is still considered experimental, but the concept is very powerful and I do believe it has potential. I would like to hear from the brilliant minds of the vfx community if what I got is worth anything.
Thank you and best wishes to you all!
Alex.
I would like to present a small yet very powerful utility which allows us to collect random parameters from different nodes in Houdini and override them selectively, using the "push" and "pull" method.
When placed in a network of nodes, the tool can be used to force a parameter update when the doodle node is cooked.
The tool can be used very effectively to create a library of reusable effects and setups with networks of any scale and complexity, to be used as templates when starting projects.
Helping artists to simplify the setup process significantly.
The tool is still considered experimental, but the concept is very powerful and I do believe it has potential. I would like to hear from the brilliant minds of the vfx community if what I got is worth anything.
Thank you and best wishes to you all!
Alex.
Edited by SciFX - Jan. 15, 2024 05:17:48
-
- Quick Links