Hi,
For the Houdini engine debugger:
- first, you need to make sure you're using the same settings in ue4 and Houdini.
- you may need to restart ue4 for the changes to be taken into account. Houdini needs to be started before unreal for this to work.
- hda files created/cooked/modified in unreal will be visible in Houdini. But the debugger is one way only, changes made in houdini won't be reflected in unreal.
Found 527 posts.
Search results Show results as topic list.
Houdini Engine for Unreal » Houdini Engine Debugger
- dpernuit
- 534 posts
- Offline
Houdini Engine for Unreal » UE4 4.19
- dpernuit
- 534 posts
- Offline
Hi,
4.19 was causing issues with our build machines so it had to be taken off 16.5. I'll fix this ASAP next week when I'm back from GDC.
Meanwhile, the 4.19 plugin is available on GitHub. Not sure about that missing module error, it should build and run with no issues.
I'll post an update here once the 4.19 plugin is back in the daily builds.
4.19 was causing issues with our build machines so it had to be taken off 16.5. I'll fix this ASAP next week when I'm back from GDC.
Meanwhile, the 4.19 plugin is available on GitHub. Not sure about that missing module error, it should build and run with no issues.
I'll post an update here once the 4.19 plugin is back in the daily builds.
Houdini Engine for Unreal » terrain layers and masks (again)
- dpernuit
- 534 posts
- Offline
Hi,
Changing the frame parameter won't work via Engine.
You need to use a Timeshift node after the Erode, change the frame parameter's expression so it's not set anymore to $F, and expose it as a parameter on the hda. You'll then be able to change the erosion frame in Unreal.
See the note in the docs HERE [www.sidefx.com]:
Changing the frame parameter won't work via Engine.
You need to use a Timeshift node after the Erode, change the frame parameter's expression so it's not set anymore to $F, and expose it as a parameter on the hda. You'll then be able to change the erosion frame in Unreal.
See the note in the docs HERE [www.sidefx.com]:
Houdini Engine for Unreal » Terrain .hda Unreal to Houdini
- dpernuit
- 534 posts
- Offline
Hi,
What you want to do is possible, but you won't be able to “save” the modification made in Unreal in the hda file.
- Your first asset generates Heightfields in Houdini, and converts them as landscape in Unreal.
- You then modify this landscape in UE4 (sculpt etc..)
At this point, before doing any sculpting or modifications to the landscape I recommend that you bake the landscape generated by the first hda. This will break the link between the HDA and the landscape. If you dont do that, recooking the HDA (by changing parameters) will recreate the landscape, and all the edit done in Unreal will be lost…
- To bring the edited landscape back to houdini, all you need is a simple hda file with an input (either a sop input, or an object merge node with its object path parameter promoted to the asset).
In unreal, set that input to a landscape input, and select/commit the edited landscape.
- The updated landscape is now in unreal's internal Houdini scene, you can view it via File > Open Scene In Houdini or you can save it to .hip.
What you want to do is possible, but you won't be able to “save” the modification made in Unreal in the hda file.
- Your first asset generates Heightfields in Houdini, and converts them as landscape in Unreal.
- You then modify this landscape in UE4 (sculpt etc..)
At this point, before doing any sculpting or modifications to the landscape I recommend that you bake the landscape generated by the first hda. This will break the link between the HDA and the landscape. If you dont do that, recooking the HDA (by changing parameters) will recreate the landscape, and all the edit done in Unreal will be lost…
- To bring the edited landscape back to houdini, all you need is a simple hda file with an input (either a sop input, or an object merge node with its object path parameter promoted to the asset).
In unreal, set that input to a landscape input, and select/commit the edited landscape.
- The updated landscape is now in unreal's internal Houdini scene, you can view it via File > Open Scene In Houdini or you can save it to .hip.
Houdini Engine for Unreal » Outputing Terrain and point instances from HE into UE4
- dpernuit
- 534 posts
- Offline
Hi,
Just had a quick look at your issue, and found out that there was a bug in the Houdini Engine API that caused instancer points to be ignored when mixed with heightfields.
I've committed a fix for that, that will be available in tomorrow's daily build ( 16.5.404).
The instancing way I was refering to was to use a copy to point node (with pack and instance) and a simple box geo.
The resulting instanced box can be overriden in the Instanced Inputs section of the details panel.
I've attached a simple HDA that uses both methods (but using point instancer will only work on tomorrow's build).
Just had a quick look at your issue, and found out that there was a bug in the Houdini Engine API that caused instancer points to be ignored when mixed with heightfields.
I've committed a fix for that, that will be available in tomorrow's daily build ( 16.5.404).
The instancing way I was refering to was to use a copy to point node (with pack and instance) and a simple box geo.
The resulting instanced box can be overriden in the Instanced Inputs section of the details panel.
I've attached a simple HDA that uses both methods (but using point instancer will only work on tomorrow's build).
Houdini Engine for Unreal » Matching Heightfield maps and geometry
- dpernuit
- 534 posts
- Offline
Hi,
The best and easiest way to get landscapes from Houdini is via the Houdini Engine plugin.
This way, you'll be sure that the created landscape size and position will match that of Houdini's heightfield, as all the positioning and scaling will be done by the plugin.
If you'd rather do it manually with images files and FBX, then you'll have to calculate the proper position/scale yourself, see this guide for example [wiki.unrealengine.com].
When matching the landscape and the exported geometry, you'll also have to take into account the fact that Heightfields have a centered origin, but landscapes dont (so you'll have to compensate that with an XY offset), and also offset the Z position of the created landscape, so that its “zero” height value matches Houdini's, or you'll end up with floating geometry.
The best and easiest way to get landscapes from Houdini is via the Houdini Engine plugin.
This way, you'll be sure that the created landscape size and position will match that of Houdini's heightfield, as all the positioning and scaling will be done by the plugin.
If you'd rather do it manually with images files and FBX, then you'll have to calculate the proper position/scale yourself, see this guide for example [wiki.unrealengine.com].
When matching the landscape and the exported geometry, you'll also have to take into account the fact that Heightfields have a centered origin, but landscapes dont (so you'll have to compensate that with an XY offset), and also offset the Z position of the created landscape, so that its “zero” height value matches Houdini's, or you'll end up with floating geometry.
Houdini Engine for Unreal » Outputing Terrain and point instances from HE into UE4
- dpernuit
- 534 posts
- Offline
Hi Robert,
Outputting more than one data type is possible with the plugin, ie landscape and geometry..
In your case, you only get the landscape because the plugin doesn't support exporting cloud of points…
If you want to use those points for scattering, instance some geometry (like a box) on those points, you'll be able to override the box in unreal after.
Outputting more than one data type is possible with the plugin, ie landscape and geometry..
In your case, you only get the landscape because the plugin doesn't support exporting cloud of points…
If you want to use those points for scattering, instance some geometry (like a box) on those points, you'll be able to override the box in unreal after.
Houdini Engine for Unreal » heightfield terrain questions
- dpernuit
- 534 posts
- Offline
Hi,
That might be an unreal issue, seems like some of the landscape components fail to update…
Could you send me your hda so I can have a look?
That might be an unreal issue, seems like some of the landscape components fail to update…
Could you send me your hda so I can have a look?
Houdini Engine for Unreal » How do I assign my HDA with multiple material elements for Unreal to see?
- dpernuit
- 534 posts
- Offline
That's actually the way it currently work:
Set a “Houdini Material” the way I've described via a material node, and add the unreal_material attribute.
The unreal material will override the Houdini one, but if that override cant be found, the houdini one will be used instead.
Set a “Houdini Material” the way I've described via a material node, and add the unreal_material attribute.
The unreal material will override the Houdini one, but if that override cant be found, the houdini one will be used instead.
Houdini Engine for Unreal » How do I assign my HDA with multiple material elements for Unreal to see?
- dpernuit
- 534 posts
- Offline
Hi,
The principled shader is a node, so you have to create it
( Tab > Principled Shader )
The principled shader is a node, so you have to create it
( Tab > Principled Shader )
Houdini Engine for Unreal » How do I assign my HDA with multiple material elements for Unreal to see?
- dpernuit
- 534 posts
- Offline
Hi,
There's two different ways to assign materials with the plug-in:
- You can assign unreals material (Material asset in UE4) via the way Aladin describe to you.
Add an “unreal_material” string attribute to the faces/primitives, and set its value to the reference to the material in UE4 (right click on the material uasset, copy reference).
This material won't show up in Houdini, but will be assigned upon cook in Unreal by the plug-in.
- You can use a houdini material, and have the plug-in create an Unreal Material from it.
This time, don't use the unreal_material attribute (this one is for assign material that exist in UE4, not in Houdini)
Use the material sop, with its material parameter set to the path to the principled shader in a material network in your asset.
The plugin will then create an unreal material corresponding to that principled shader when cooking the asset.
The shader wont be fully reproduced though, only some part of it (diffuse, normal, specular, roughness…)
Don't mix both for the same faces/groups, either use unreal_material or a material node.
Here's a simple example of creating Houdini Material via the plugin:
the matnet contains two principled shader, each used by the material nodes.
The two shaders are very simple, one has a diffuse texture + metallic value, the other a simple diffuse color + emissive color.
and the result in UE4:
There's two different ways to assign materials with the plug-in:
- You can assign unreals material (Material asset in UE4) via the way Aladin describe to you.
Add an “unreal_material” string attribute to the faces/primitives, and set its value to the reference to the material in UE4 (right click on the material uasset, copy reference).
This material won't show up in Houdini, but will be assigned upon cook in Unreal by the plug-in.
- You can use a houdini material, and have the plug-in create an Unreal Material from it.
This time, don't use the unreal_material attribute (this one is for assign material that exist in UE4, not in Houdini)
Use the material sop, with its material parameter set to the path to the principled shader in a material network in your asset.
The plugin will then create an unreal material corresponding to that principled shader when cooking the asset.
The shader wont be fully reproduced though, only some part of it (diffuse, normal, specular, roughness…)
Don't mix both for the same faces/groups, either use unreal_material or a material node.
Here's a simple example of creating Houdini Material via the plugin:
the matnet contains two principled shader, each used by the material nodes.
The two shaders are very simple, one has a diffuse texture + metallic value, the other a simple diffuse color + emissive color.
and the result in UE4:
Edited by dpernuit - Feb. 23, 2018 11:14:17
Houdini Engine for Unreal » Digital Asset - LODs
- dpernuit
- 534 posts
- Offline
So the packed primitive bug I mentioned earlier has been fixed in today's build (16.5.392).
Instanced packed primitives that have LOD groups will now create Hierarchical Instanced Static Meshes.
Instanced packed primitives that have LOD groups will now create Hierarchical Instanced Static Meshes.
Houdini Engine for Unreal » HDA Component/Actor Tags in UE4
- dpernuit
- 534 posts
- Offline
Today's version (16.5.392) has a bug fix for setting up tags via generic uproperty attributes.
Adding a detail string attribute named “unreal_uproperty_ComponentTags” will add the tag to the mesh generated by the HDA.
Adding a detail string attribute named “unreal_uproperty_ComponentTags” will add the tag to the mesh generated by the HDA.
Houdini Engine for Unreal » Way to automate Baking multiple version of a Digitial Asset
- dpernuit
- 534 posts
- Offline
Hi,
The packed primitive bug has been fixed in today's daily build (16.5.392).
Collisions / LOD / sockets should now be available on packed primitives.
The packed primitive bug has been fixed in today's daily build (16.5.392).
Collisions / LOD / sockets should now be available on packed primitives.
Houdini Engine for Unreal » Digital Asset - LODs
- dpernuit
- 534 posts
- Offline
@Aladin Yes, I already fixed that crash, but it's not commited yet.
Unreal won't let you set a collider per LOD level, so the collision geo apllies for all of them.
You can eventually specify the LOD level that you want to use for complex collisions. Generic uproperties can be used to change those LOD settings.
I updated the plugin docs regarding this, but it seems that the website did not pick those changes for now.
Here's how to change those LOD settings in Houdini:
LOD Settings can be changed via the use of Generic UProperty Attributes :
- The LOD used for collision can be changed via a detail attribute named “unreal_uproperty_LODForCollision”.
- The Minimum LOD can be changed via a detail attribute named “unreal_uproperty_MinLOD”.
- The LOD group can be changed via a detail string attribute named “unreal_uproperty_LODGroup”.
- Screensize values for each lod can be changed via a “lodX_screensize” detail attribute (lodX being the name of the LOD), or a “lod_screensize” primitive attribute. Manually changing the Screensize values for the LOD levels will turn off “AutoComputeLODScreenSize” on the Static Mesh.
@Andr1 Now that we've added LOD/HISM support, foliage should come in the near future.
Unreal won't let you set a collider per LOD level, so the collision geo apllies for all of them.
You can eventually specify the LOD level that you want to use for complex collisions. Generic uproperties can be used to change those LOD settings.
I updated the plugin docs regarding this, but it seems that the website did not pick those changes for now.
Here's how to change those LOD settings in Houdini:
LOD Settings can be changed via the use of Generic UProperty Attributes :
- The LOD used for collision can be changed via a detail attribute named “unreal_uproperty_LODForCollision”.
- The Minimum LOD can be changed via a detail attribute named “unreal_uproperty_MinLOD”.
- The LOD group can be changed via a detail string attribute named “unreal_uproperty_LODGroup”.
- Screensize values for each lod can be changed via a “lodX_screensize” detail attribute (lodX being the name of the LOD), or a “lod_screensize” primitive attribute. Manually changing the Screensize values for the LOD levels will turn off “AutoComputeLODScreenSize” on the Static Mesh.
@Andr1 Now that we've added LOD/HISM support, foliage should come in the near future.
Houdini Engine for Unreal » Input Curve for geometry
- dpernuit
- 534 posts
- Offline
Hi,
It's a fairly common issue, and solving depends on the way you setup your HDA.
Have you tried changing the Keep World Transform checkbox? it will change the object merge transform type parameter.
If this doesnt help, can you please send us your HDA so I can have a look?
It's a fairly common issue, and solving depends on the way you setup your HDA.
Have you tried changing the Keep World Transform checkbox? it will change the object merge transform type parameter.
If this doesnt help, can you please send us your HDA so I can have a look?
Houdini Engine for Unreal » Animated Houdini Asset for UE4 Help
- dpernuit
- 534 posts
- Offline
Hi,
The current Houdini frame can't be changed via the unreal plug-in, and the plug-in doesn't support animations.
You could be using a timeshift node to change the frame, but that will give you a new static mesh after each update, which I doubt is what you want.
Instead, you probably want to use FBX export to get your animated mesh in Unreal.
The current Houdini frame can't be changed via the unreal plug-in, and the plug-in doesn't support animations.
You could be using a timeshift node to change the frame, but that will give you a new static mesh after each update, which I doubt is what you want.
Instead, you probably want to use FBX export to get your animated mesh in Unreal.
Houdini Engine for Unreal » Digital Asset - LODs
- dpernuit
- 534 posts
- Offline
Hi,
That's actually the case right now: if you instance a mesh that has LODs, you will get HISM instead of ISM.
There's a caveat to that, as for now it won't work with packed primitives, but using object instancers or attribute instancers will get you HISM.
I'm currently in the process of fixing the packed primitive bug, for now, group informations is lost on packed primitives, which causes LODs, collisions and sockets to be ignored on packed geo.
Expect a fix for this soon. I'll post an update here once the packed prim bug is fixed.
That's actually the case right now: if you instance a mesh that has LODs, you will get HISM instead of ISM.
There's a caveat to that, as for now it won't work with packed primitives, but using object instancers or attribute instancers will get you HISM.
I'm currently in the process of fixing the packed primitive bug, for now, group informations is lost on packed primitives, which causes LODs, collisions and sockets to be ignored on packed geo.
Expect a fix for this soon. I'll post an update here once the packed prim bug is fixed.
Houdini Engine for Unreal » Correctly Export Terrain Layers as Masks for UE4 Material LayerBlend
- dpernuit
- 534 posts
- Offline
Hi,
In Houdini, the resolution of the layers/masks are tied to the resolution of the heightfield itself, so you probably wanna create a higher res heightfield in houdini.
In Houdini, the resolution of the layers/masks are tied to the resolution of the heightfield itself, so you probably wanna create a higher res heightfield in houdini.
Houdini Engine for Unreal » Socket Limit on New Daily Build?
- dpernuit
- 534 posts
- Offline
Hi,
Just a quick update on this, I fixed a bug that was causing missing sockets in 16.5.377.
( sockets created by a part that did not generate geometry were ignored )
This may have been what was causing the issue on your side.
Just a quick update on this, I fixed a bug that was causing missing sockets in 16.5.377.
( sockets created by a part that did not generate geometry were ignored )
This may have been what was causing the issue on your side.
-
- Quick Links