Throughout the Game Dev travels your mind will be reduced to slightly overcooked top ramen. That said, I have to write down everything these days, the Multiparm Block is just another example of learning Houdini for almost a 3/4 of a year and not even getting to it yet!
The amount of moving parts an indie dev must learn and master, then use in daily life is pretty steep. One of the more lacking areas is Unity as a Game Engine and what it’s able to do with the Houdini Engine. I am not saying there is not documentation, just implementations of more internal and you need to learn this stuff yourself, this is changing now though.
What
Well the Multiparm Block parameter for an HDA is pretty epic. We can remember that an HDA parameter is a float, string, integer etc. We also know that an HDA parameter could point to a prefab inside Unity as well.
Imagine the Multiparm Block parameter as a Folder that holds a specific type of item that can be instantiated through adding another item in the parameter’s internal list.
Basically what we have here is a struct. Houdini is creating a “Type” in the HDA, each time a user adds another slot to the HDA in engine, they are adding another instance of whatever that typed list item represents in the HDA.
In the image above, the Pillar Types are different types of Pillar meshes that can be chosen from as the main freeway is being created, which takes away the repetitions of pillar look. We all know they different real life, all of them. 🙂
ForEach Blocks
An interesting use case for this is with a For Each block, where you can tie the iterations to each of the items in the Multiparm Block. This would change the implementation of the HDA to a ‘tool‘ instead of a ‘create/layout sub mesh‘. Think Boolean operations and that each item in the list is a Boolean tool, operating on the main base Mesh data.
Why
An HDA developer would use these for adding dynamic variation into the model that will be baked to a Mesh or multiple Meshes inside Unity. The idea here is to think out of the box, there are so many ways to create procedural models in Houdini, this parameter makes the rabbit hole even deeper.
What I am getting at is Houdini is pure magic, it’s up to the developer to figure out how they need to create HDAs for game engines that allow the most flexibility when creating levels and assets in the game engine. The Multiparm Block usage takes your design up levels but needs care for performance and optimizations.
More items, more cycles, more time.
Hi Michael,
Thanks for this post, it set me on a path in the right direction. If I may ask some more questions.
I’m trying to apply this in a situation where I have a room and on each wall of the room I would like to place an outlet type object with its own controllable parameters.
I have the room and the plug in the same object. I want fine control so I made 4 toggles but how can i “instance” the object and still reference the right controllable parameters?
Thanks for the time!
kevin
Hi!
Unfortunately I am on a temporary sabbatical from Houdini as you can see from my lack of posts.
That said, I can’t offer up a solution to your question at this time, my Android apps pulled me back into audio dev for the first half of the year.
Mike