
Tom Velebny
TomVee
About Me
Senior Tech Artist @ Yaak Technologies
EXPERTISE
Game Artist
INDUSTRY
Gamedev | VR
Houdini Skills
Availability
Not Specified
Recent Forum Posts
How is "unreal_bake_actor" attribute used? Feb. 5, 2025, 5:31 a.m.
We have a city block generator which we use to build a whole city with (using PDG). We want to have one actor per city block, with multiple different components (static meshes, instanced meshes, splines, etc) and each of these components need to have different properties (hidden in game, custom collision geometry, LODs, draw distance, etc).
One of these components need to be a static mesh (a single triangle) that stores a custom collision geometry for the whole city block. Only this component then needs to be hidden in game, what would be the best way to do it? Yes there are different approaches of not using these kind of hidden blockers, but that's what we'd like to go with.
I also tried using multiple outputs in my example and nothing really changed. If the "Hidden In Game" is not on the first output, then it's propagated to the whole actor.
It's also interesting that the internal name for "Hidden In Game" is "bHiddenInGame" for the component, but "bHidden" for the whole actor. I'm only using "bHiddenInGame" so it shouldn't really affect the actor.
Thanks for your time, I love Houdini and would really like to figure this out 🙂
One of these components need to be a static mesh (a single triangle) that stores a custom collision geometry for the whole city block. Only this component then needs to be hidden in game, what would be the best way to do it? Yes there are different approaches of not using these kind of hidden blockers, but that's what we'd like to go with.
I also tried using multiple outputs in my example and nothing really changed. If the "Hidden In Game" is not on the first output, then it's propagated to the whole actor.
It's also interesting that the internal name for "Hidden In Game" is "bHiddenInGame" for the component, but "bHidden" for the whole actor. I'm only using "bHiddenInGame" so it shouldn't really affect the actor.
Thanks for your time, I love Houdini and would really like to figure this out 🙂
How is "unreal_bake_actor" attribute used? Feb. 4, 2025, 11:42 a.m.
Thanks for the reply @dpernuit, it makes it a bit clearer 🙂
The attached example works completely fine for me, including setting the bake_actor/folder.
There is however one issue that I think is a bug:
- "Hidden In Game" has to be the first component to be merged with the rest in Houdini or the whole actor will have the property set (see screenshots)
If it's not the first component:
- it doesn't matter if it's written on primitives or points
- if it's set only before packing it does nothing
- if it's set after packing it propagates to the whole actor
And here are some other observations:
- only the spline component is named after @unreal_output_name, ideally all components would have nice names
- not setting default BlockAll collision profile on all components will result in strange custom collision setting
- not setting default collision complexity will result in one setting on all static meshes
- "bake one actor per HDA" will result in 2 actors with strange names (spline + rest)
- some @unreal_* properties work only before packing, some only after packing (safest to use both, but confusing)
-- @unreal_bake_actor has to be set after packing for static meshes, but before packing for splines, ISMs and HISMs
The attached example works completely fine for me, including setting the bake_actor/folder.
There is however one issue that I think is a bug:
- "Hidden In Game" has to be the first component to be merged with the rest in Houdini or the whole actor will have the property set (see screenshots)
If it's not the first component:
- it doesn't matter if it's written on primitives or points
- if it's set only before packing it does nothing
- if it's set after packing it propagates to the whole actor
And here are some other observations:
- only the spline component is named after @unreal_output_name, ideally all components would have nice names
- not setting default BlockAll collision profile on all components will result in strange custom collision setting
- not setting default collision complexity will result in one setting on all static meshes
- "bake one actor per HDA" will result in 2 actors with strange names (spline + rest)
- some @unreal_* properties work only before packing, some only after packing (safest to use both, but confusing)
-- @unreal_bake_actor has to be set after packing for static meshes, but before packing for splines, ISMs and HISMs
Using the "unreal_pdg_asset" detail attribute Feb. 4, 2025, 10:50 a.m.
I recently noticed this in the changelog [github.com]:
Could someone from SideFX expand on this a little bit more?
How exactly do I use it? I have a SOP level HDA that contains a TOP network with an HDA Processor node (running another HDA), Houdini Engine in Unreal then loads the work items from the TOP network. Where should I put this detail attribute? What improvements should I look for? Thanks
Added support for the "unreal_pdg_asset" detail attribute.
It can be used to indicate to the plugin if an HDA is expected to use PDG.
This is especially useful on big HDAs that contain a lot of nodes - as it will speed up instantiation and rebuild times significantly.
Could someone from SideFX expand on this a little bit more?
How exactly do I use it? I have a SOP level HDA that contains a TOP network with an HDA Processor node (running another HDA), Houdini Engine in Unreal then loads the work items from the TOP network. Where should I put this detail attribute? What improvements should I look for? Thanks