LukePMaybe something similar to Unreal Control Rig - where they have a dedicated lightweight VM for rig calculation.. in other words - dedicated rigging node graphs that execute very fast and are much easier to use than current SOPs based Kinefx rigging. .. Just a guess, but it would be cool as Unreals Control Rig IMHO currently is the best rigging framework out there.
I’m still not fully understanding what the APEX is and what current gaps in Houdini it’s trying to address.
Found 47 posts.
Search results Show results as topic list.
Houdini Lounge » Houdini 20 Sneak Peek Full Feature List
- rendereverything
- 47 posts
- Offline
Technical Discussion » Generating solid (filled) collider for a car ?
- rendereverything
- 47 posts
- Offline
Hello. This must be a common problem. I have a car model - consisting of multiple body panels, light covers etc. (each a thin shell - like in real life.) I would need to create a solid (filled) collision object. Obviously directly converting to SDF is not working - it tries to fill thin panels and not the inside and fails.
What are common methods (besides hand modeling) on solving this? (Couple ideas coming to mind would be some sort of voxel-flood-fill from the inside or wrapping a spherical mesh from the outside.)
What are common methods (besides hand modeling) on solving this? (Couple ideas coming to mind would be some sort of voxel-flood-fill from the inside or wrapping a spherical mesh from the outside.)
Technical Discussion » Joint Capture Paint very unstable
- rendereverything
- 47 posts
- Offline
Just wanted to add to this that this has been fixed since 19.5.562 and is now working perfectly - rock solid! Thank's SideFX!
Technical Discussion » Joint Capture Paint very unstable
- rendereverything
- 47 posts
- Offline
Anybody else using Joint Capture Paint SOP and finding it very unstable? I get very frequent random "segmentation fault" crashes all the time - usually when undoing, but I can't give exact reproduction steps and fill a bug report.
Node also produces python errors. Sometimes it garbles all the weights after a python error. Sometimes I manage to save scene in a state just before crash, and I can't open it again - I get segmentation foult immediately after opening.
Overall it seems like a very nice weight painting node, just it's so unstable for me, almost unusable.
Node also produces python errors. Sometimes it garbles all the weights after a python error. Sometimes I manage to save scene in a state just before crash, and I can't open it again - I get segmentation foult immediately after opening.
Overall it seems like a very nice weight painting node, just it's so unstable for me, almost unusable.
Edited by rendereverything - March 17, 2023 07:53:45
Houdini Engine for Unreal » License errors should be reported in a more visible way!!!
- rendereverything
- 47 posts
- Offline
Hello. I'm just sharing my frustration - yesterday me and my colleague spent several hours trying to understand why Houdini Engine is producing no output in Unreal. Session connected fine - no errors in console, all seems to be working but no output!
After few hours of ultimate frustration, we discovered that my colleague had a regular Houdini Engine license - not the Indie License, while I have an Houdini with Indie license to make hdas. There really should be a message somewhere - preferrably error message in console, that there is a license mismatch or error - not just a silent fail!
After few hours of ultimate frustration, we discovered that my colleague had a regular Houdini Engine license - not the Indie License, while I have an Houdini with Indie license to make hdas. There really should be a message somewhere - preferrably error message in console, that there is a license mismatch or error - not just a silent fail!
Houdini Engine for Unreal » Theoretical Speed Improvements?
- rendereverything
- 47 posts
- Offline
Well, the dream would be (at least initially) to be at least as fast as when in Houdini, when doing operations without a lot of data - for example, generating simple geometry or points for instancing. I.e. if parameter change and re-cook is instant in houdini, it should be almost as instant in UE.
And by fast I means - if you dial the parameter value in UE with mouse, you want to see results in real time.
Bigger data transfer would be next problem that is probably harder to solve - and is also less critical, because when creating complex procedural models, artists already expect that it will not be that fast.
And by fast I means - if you dial the parameter value in UE with mouse, you want to see results in real time.
Bigger data transfer would be next problem that is probably harder to solve - and is also less critical, because when creating complex procedural models, artists already expect that it will not be that fast.
Houdini Engine for Unreal » Theoretical Speed Improvements?
- rendereverything
- 47 posts
- Offline
Hi all. Houdini and Houdini Engine is very powerful as you all know (my favoirite way of building anything), but the constant negative feedback I always get from all Unreal artists is that HDA based tools are too slow - they are not interactive and you have to wait too long after each parameter change. (It looks cool in promotional videos, but they are usually sped up and waiting parts are cut out so it looks very interactive.) That breaks the flow and artists don't like to use those tools. Compared to native tools built with Unreal Blueprints or Unreal C++ which are instant - even real time.
I understand why this is so - you have to roundtrip the data between Houdini runtime and Unreal, recook, send data back.. even for simple and fast operations that are realtime inside the Houdini itself.
So my question is - are there any theoretical ideas or future plans to improve the speed somehow? I don't know - compile core Houdini runtime as Unreal Plugin so there is no need for data roundtrip? Maybe something else can be done?
I understand why this is so - you have to roundtrip the data between Houdini runtime and Unreal, recook, send data back.. even for simple and fast operations that are realtime inside the Houdini itself.
So my question is - are there any theoretical ideas or future plans to improve the speed somehow? I don't know - compile core Houdini runtime as Unreal Plugin so there is no need for data roundtrip? Maybe something else can be done?
Houdini for Realtime » Static Mesh Skeletal Animation baking - new Labs tool ?
- rendereverything
- 47 posts
- Offline
Great! Meanwhile I created my own version (HDA + Unreal Material Functions). I still need to clean it up a bit and then I can share it.
How my tool works:
I decided to have just max 2 bone influences per point to keep things simple (Enough for most cases). My current use case is background crowd characters, based on unreal Niagara particles/mesh instances.
HDA bakes out 3 textures:
1. Per mesh point - RGB (Bone Index 1, Bone Weight 1, Bone Index 2) (weight 2 is just 1.0 - weight 1).. (This could also be stored in vertex color or additional UV channels).
2. and 3. Per bone, per animation frame - RGB (Bone Position in world space), RGBA (Quaternion - bone orientation delta from rest pose).
U direction = animation frames, V direction = bone number . (Texture size is bone number x frame count)
First frame is always skeleton rest pose. I sequence several animation clips together so I can then change active animation in shader and do transition blending.
Mesh is exported in rest pose and has bone index texture UV in UV2.
Benefits of this aproach:
1. really small animation textures.
2. Animations can be shared between meshes with similar skeletons - although skeletal proportions have to be very similar, because all bone position animation is baked as final transform (not local, because I don't evaluate bone hierarchy in shader).
This includes easy sharing between LOD levels with different topology (point positions).
Some problems:
It works fine, although I was dissapointed about different animation blending. I tried blending bone animation using quaternion slerp on orientations, but because bone positions are still interpolated linearly, there are quite bad final mesh deformations during blends. So just lerping final deformed points of the mesh gives better result.
It would be interesting to discuss this - maybe you have come up with better solution?
How my tool works:
I decided to have just max 2 bone influences per point to keep things simple (Enough for most cases). My current use case is background crowd characters, based on unreal Niagara particles/mesh instances.
HDA bakes out 3 textures:
1. Per mesh point - RGB (Bone Index 1, Bone Weight 1, Bone Index 2) (weight 2 is just 1.0 - weight 1).. (This could also be stored in vertex color or additional UV channels).
2. and 3. Per bone, per animation frame - RGB (Bone Position in world space), RGBA (Quaternion - bone orientation delta from rest pose).
U direction = animation frames, V direction = bone number . (Texture size is bone number x frame count)
First frame is always skeleton rest pose. I sequence several animation clips together so I can then change active animation in shader and do transition blending.
Mesh is exported in rest pose and has bone index texture UV in UV2.
Benefits of this aproach:
1. really small animation textures.
2. Animations can be shared between meshes with similar skeletons - although skeletal proportions have to be very similar, because all bone position animation is baked as final transform (not local, because I don't evaluate bone hierarchy in shader).
This includes easy sharing between LOD levels with different topology (point positions).
Some problems:
It works fine, although I was dissapointed about different animation blending. I tried blending bone animation using quaternion slerp on orientations, but because bone positions are still interpolated linearly, there are quite bad final mesh deformations during blends. So just lerping final deformed points of the mesh gives better result.
It would be interesting to discuss this - maybe you have come up with better solution?
Edited by rendereverything - May 23, 2022 14:16:29
Houdini for Realtime » Static Mesh Skeletal Animation baking - new Labs tool ?
- rendereverything
- 47 posts
- Offline
Hello. I recently discovered alternative approach to VAT (vertex animation textures) for skeletal meshes. It is already included in Unreal Engine in form of 3DsMax Script (StaticMeshSkeletalAnimation.ms) and material function ms_StaticMeshSkeletalAnimation.
It is explained a bit here: https://vimeo.com/266582237 [vimeo.com]
The idea is to bake a texture that holds bone assignments for each vertex. Then bake bone animation to separate textures.
This way animations can be shared between different meshes .
Also animation texture sizes are much smaller as it only requires 2 pixels per frame per bone to store.
This sounds like a great idea and it would be cool to have support for it in Labs.
It is explained a bit here: https://vimeo.com/266582237 [vimeo.com]
The idea is to bake a texture that holds bone assignments for each vertex. Then bake bone animation to separate textures.
This way animations can be shared between different meshes .
Also animation texture sizes are much smaller as it only requires 2 pixels per frame per bone to store.
This sounds like a great idea and it would be cool to have support for it in Labs.
Houdini for Realtime » Official Labs Vertex Animation Textures 3.0 FAQs and Links
- rendereverything
- 47 posts
- Offline
Hello. Thanks for the VAT toolset!
Is support for Instanced Static Meshes working properly with UE5 and latest VAT3.0 in labs? I can't get it to work - I exported from Houdini with the checkbox enabled and as soon as I enable it also in UE Material - all my mesh normals get wrong (there are splotches in normals as well as general normal direction on instances seem wrong) and also animation is not working and it just stays on first frame. But at least vertex positions seem correct. Without enabling it in material, normals are fine, but when used in ISM or Niagara, all positions are jumbled up.
Any ideas what might be wrong?
EDIT
SOLVED: Found out I need to manually fill the bounds values from exported data file. (Set VAT Material Instance from Data Table command was not working in UE5 for whatever reason, so I did it manually).
I think this should be mentioned in tooltips so people don't miss it! I found it only through this artstation page: https://www.artstation.com/artwork/zOyke6 [www.artstation.com]
EDIT2 - multiple materials are not working properly:
If your mesh has multiple materials assigned, it seems not to work for other than the first material. That part of the mesh just gets jumbled. I guess that mesh part has different bounds information although I use the same position and rotation texture for all materials and it seems to be working in normal (non-instanced) mode.
Is support for Instanced Static Meshes working properly with UE5 and latest VAT3.0 in labs? I can't get it to work - I exported from Houdini with the checkbox enabled and as soon as I enable it also in UE Material - all my mesh normals get wrong (there are splotches in normals as well as general normal direction on instances seem wrong) and also animation is not working and it just stays on first frame. But at least vertex positions seem correct. Without enabling it in material, normals are fine, but when used in ISM or Niagara, all positions are jumbled up.
Any ideas what might be wrong?
EDIT
SOLVED: Found out I need to manually fill the bounds values from exported data file. (Set VAT Material Instance from Data Table command was not working in UE5 for whatever reason, so I did it manually).
I think this should be mentioned in tooltips so people don't miss it! I found it only through this artstation page: https://www.artstation.com/artwork/zOyke6 [www.artstation.com]
EDIT2 - multiple materials are not working properly:
If your mesh has multiple materials assigned, it seems not to work for other than the first material. That part of the mesh just gets jumbled. I guess that mesh part has different bounds information although I use the same position and rotation texture for all materials and it seems to be working in normal (non-instanced) mode.
Edited by rendereverything - May 10, 2022 16:47:21
Houdini Engine for Unreal » Copy to Points (Instancing) crashes UE4.27
- rendereverything
- 47 posts
- Offline
For now the workaround is using attribute instancing using "unreal_instance" point attribute. This works fine, so something must be wrong with how copy_to_points is made into unreal instancer.
Houdini Engine for Unreal » Copy to Points (Instancing) crashes UE4.27
- rendereverything
- 47 posts
- Offline
Here is a simple test HDA attached if anyone wants to try.
By default it does not crash - you have to enable the checkbox "Enable Crash Scenario" to crash.
It demonstrates both ways of the crash:
1. If no static mesh is set in Instance Mesh parameter, it will use internally generated packed geometry (cube) with material attribute.
2. If you set a static mesh in Instance Mesh parameter it works, but as soon as you click "Pack before export" (or add pack node inside HDA - it does not matter), it will crash.
If "Enable Crash Scenario" is not checked - it will use plain packed geometry (sphere) without material attribute - and it works fine.
I'm using latest Unreal 4.27.2 and Houdini 19.0.455 (Crashes also in today's daily build 19.0.464).
By default it does not crash - you have to enable the checkbox "Enable Crash Scenario" to crash.
It demonstrates both ways of the crash:
1. If no static mesh is set in Instance Mesh parameter, it will use internally generated packed geometry (cube) with material attribute.
2. If you set a static mesh in Instance Mesh parameter it works, but as soon as you click "Pack before export" (or add pack node inside HDA - it does not matter), it will crash.
If "Enable Crash Scenario" is not checked - it will use plain packed geometry (sphere) without material attribute - and it works fine.
I'm using latest Unreal 4.27.2 and Houdini 19.0.455 (Crashes also in today's daily build 19.0.464).
Houdini Engine for Unreal » Copy to Points (Instancing) crashes UE4.27
- rendereverything
- 47 posts
- Offline
I think this should be elevated to a very high priority - most Houdini Engine/Unreal workflows rely on instancing packed objects, so this kinda breaks almost everything!
Houdini Engine for Unreal » Copy to Points (Instancing) crashes UE4.27
- rendereverything
- 47 posts
- Offline
Yeah, I'm fighting with the same - in my case it crashes if packed mesh has a material attribute (unreal_material on primitive or detail before packing). Also crashed when using unreal static mesh reference directly from Unreal (both ways - pack before input or packing inside HDA before copying to points). This was definately working before in older versions!
Houdini 19.0.455 + Unreal 4.27.2
Houdini 19.0.455 + Unreal 4.27.2
Edited by rendereverything - Dec. 10, 2021 08:22:56
Technical Discussion » KineFX Skeleton viewer state not showing
- rendereverything
- 47 posts
- Offline
Houdini Engine for Unreal » Editor events for when HDA finishes cooking?
- rendereverything
- 47 posts
- Offline
I see there is a public API mentioned in docs. How do you access it? I can't seem to find GetHoudiniEnginePublicAPI BP node in editor blueprints. Also I can't find mentioned python and c++ code examples in Houdini Engine folder
Houdini Engine for Unreal » Bake to components?
- rendereverything
- 47 posts
- Offline
It would be very nice to have a baking option that does basically the same as not-baked HDA - having all geometry/instancers as components under one parent actor. It is often required to have each generated HDA asset as a single actor - not a bunch of separate actors.
Houdini Engine for Unreal » Editor events for when HDA finishes cooking?
- rendereverything
- 47 posts
- Offline
Is it possible to somehow have an editor event firing when HDA has finished cooking? I have a custom BP that needs to be updated whenever HDA is re-generated and currently I do it manually, but it would be cool to automate that.
Houdini Engine for Unreal » Instancer custom data
- rendereverything
- 47 posts
- Offline
Houdini Engine for Unreal » Instancer custom data
- rendereverything
- 47 posts
- Offline
Hi. Since 4.25 there is a feature to add custom float data per instance. Each instance can have several custom float attributes - these attributes can be accessed in shaders and blueprints and are super useful.
I think it would be nice to have ability to export them from Houdini as per-point/packed primitive attributes. Have some sort of naming convention - like "unreal_cdata_N" and export those to Unreal.
I think it would be nice to have ability to export them from Houdini as per-point/packed primitive attributes. Have some sort of naming convention - like "unreal_cdata_N" and export those to Unreal.
-
- Quick Links