Hi,
We generally try to identify/prevent crashes in the plug-in code, logging warning/errors instead of doing something incorrect, but unfortunately, they can still sometimes happen, as something perfectly valid for Houdini might not be valid for Unreal.
I did find and fixed a potential crash today due to having invalid geometry in a collider group.
That might be the one you were experiencing, but on my side, the add vertex normals weren't what caused it.
Can you please send me your hda so I can double check this.
Found 527 posts.
Search results Show results as topic list.
Houdini Engine for Unreal » Frequent Crashes
- dpernuit
- 534 posts
- Offline
Houdini Engine for Unreal » Houdini 16.0. Engine to UE4 4.18.2 supported ?
- dpernuit
- 534 posts
- Offline
Hi,
I've submitted a bug for you about those 3 High DPI/Dual screen issues you mentioned.
I've submitted a bug for you about those 3 High DPI/Dual screen issues you mentioned.
Houdini Engine for Unreal » Socket Limit on New Daily Build?
- dpernuit
- 534 posts
- Offline
Hi,
I did some test with your HDA, but I dont have the embedded HDAs, so had to replace the geometry generation part of it.
However, I did manage to get all 57 sockets generated by the attribute wrangle node (“sockets”) without any issue.
I did some test with your HDA, but I dont have the embedded HDAs, so had to replace the geometry generation part of it.
However, I did manage to get all 57 sockets generated by the attribute wrangle node (“sockets”) without any issue.
Houdini Engine for Unreal » Socket Limit on New Daily Build?
- dpernuit
- 534 posts
- Offline
Hi,
There's no hard limit on the sockets in the latest version (see the attached screenshot).
However, the StaticMesh creation code and the socket attachment logic was refactored and optimized for adding LOD support. One of the change on sockets attahcment is that they are now added to all the meshes that belong to the same object/geo/part, whereas before, so the missing sockets on your HDA might be a side effect of this.
The instancer error is a separate issue from the socket one, for some reason, the plug-in fails to create one of the instancer in your HDA.
Would you be able to send us your hda so I can have a look at this issue?
There's no hard limit on the sockets in the latest version (see the attached screenshot).
However, the StaticMesh creation code and the socket attachment logic was refactored and optimized for adding LOD support. One of the change on sockets attahcment is that they are now added to all the meshes that belong to the same object/geo/part, whereas before, so the missing sockets on your HDA might be a side effect of this.
The instancer error is a separate issue from the socket one, for some reason, the plug-in fails to create one of the instancer in your HDA.
Would you be able to send us your hda so I can have a look at this issue?
Houdini Engine for Unreal » Digital Asset - LODs
- dpernuit
- 534 posts
- Offline
Hi,
A quick update on this, LOD support for the UE4 plugin was added in today's daily build (16.5.372).
To create LODs, you just need to add the different lod meshes to primitive groups called “lodX” (lod0, lod1…).
The different LOD levels will be available on the generated static mesh.
A quick update on this, LOD support for the UE4 plugin was added in today's daily build (16.5.372).
To create LODs, you just need to add the different lod meshes to primitive groups called “lodX” (lod0, lod1…).
The different LOD levels will be available on the generated static mesh.
Houdini Engine for Unreal » Houdini 16.0. Engine to UE4 4.18.2 supported ?
- dpernuit
- 534 posts
- Offline
Hi,
Sorry for the late reply, the UE4.18 Mac plug-in is available in the latest daily build (16.5.371).
Sorry for the late reply, the UE4.18 Mac plug-in is available in the latest daily build (16.5.371).
Houdini Engine for Unreal » Layers not showing up when importing digital asset for terrain
- dpernuit
- 534 posts
- Offline
Hi,
Good to hear that.
I'll update the note regarding erosion/timeshift in the docs to mention this, as you're not the first one to have the issue.
Good to hear that.
I'll update the note regarding erosion/timeshift in the docs to mention this, as you're not the first one to have the issue.
Houdini Engine for Unreal » Modifying Blend Mode
- dpernuit
- 534 posts
- Offline
So the actual issue was that materials created from principled shader were not automatically set to BLEND_Translucent when their diffuse texture had an alpha channel. (this was still working with mantra_surface materials)
This will be fixed in tomorrow's daily build (16.5.364), if the diffuse texture has alpha values (other than 1s), the material generated by the plugin will be set to translucent.
This will be fixed in tomorrow's daily build (16.5.364), if the diffuse texture has alpha values (other than 1s), the material generated by the plugin will be set to translucent.
Houdini Engine for Unreal » Layers not showing up when importing digital asset for terrain
- dpernuit
- 534 posts
- Offline
Hi,
I had a look at your HDA, the issue is simple:
Frame on the timeshift is exposed as a parameter in the hda, but by default, when creating the node, its value set as an expression to $F ( to see it, right click on frame > Toggle expression )
Removing the keyframe on the frame parmeter will allow you to set the Frame value to a fixed one.
(either ctrl click on frame, or right click > channels and keyframes > Remove keyframe)
I had a look at your HDA, the issue is simple:
Frame on the timeshift is exposed as a parameter in the hda, but by default, when creating the node, its value set as an expression to $F ( to see it, right click on frame > Toggle expression )
Removing the keyframe on the frame parmeter will allow you to set the Frame value to a fixed one.
(either ctrl click on frame, or right click > channels and keyframes > Remove keyframe)
Houdini Engine for Unreal » Layers not showing up when importing digital asset for terrain
- dpernuit
- 534 posts
- Offline
Hi Simon,
So even with the timeshift set to 20, the layers were not showing up?
You shouldn't have to nuke other layers to have other show up… was there any errors/warning in the logs?
Would you be able to send us your hda so I can have a look?
So even with the timeshift set to 20, the layers were not showing up?
You shouldn't have to nuke other layers to have other show up… was there any errors/warning in the logs?
Would you be able to send us your hda so I can have a look?
Houdini Engine for Unreal » Modifying Blend Mode
- dpernuit
- 534 posts
- Offline
Hi,
You got the attribute right, but the unreal_material_parameters attributes are meant to be use with Material Instances generated by the plug-in from existing Unreal material via an unreal_material_instance atttribute.
Unfortunately, changing the blend mode on Houdini materials strictly generated by the plug-in is not possible for now.
You got the attribute right, but the unreal_material_parameters attributes are meant to be use with Material Instances generated by the plug-in from existing Unreal material via an unreal_material_instance atttribute.
Unfortunately, changing the blend mode on Houdini materials strictly generated by the plug-in is not possible for now.
Houdini Engine for Unreal » UE4 Crashes when using Heightfield Erode
- dpernuit
- 534 posts
- Offline
Hi,
Tested your issue with the latest 16.5 but didnt get any crash with a simple HF > HF Noise > HF Erode setup in a HDA.
Heightfield nodes are actually using OpenCL, so it could have been a GPU issue, but looking at your log file, it seems that the erosion went fine and that the crash occurred after creating the Landscape data from the HDA..
There's a few things you can try:
- Like GaryHanna said, you can try adding a Timeshift node after the erosion, and force it to a given frame rather than $F.
This will ensure that the various masks created by the erosion node are not empty/flat and can be imported properly in UE4.
(empty/flat HF masks should just be ignored by Unreal, but I want to make sure there not the cause of your problem)
- Could you try removing the Erosion node and see if a simple HDA with HF > HF Noise > HF Mask Noise also causes you issues?
Tested your issue with the latest 16.5 but didnt get any crash with a simple HF > HF Noise > HF Erode setup in a HDA.
Heightfield nodes are actually using OpenCL, so it could have been a GPU issue, but looking at your log file, it seems that the erosion went fine and that the crash occurred after creating the Landscape data from the HDA..
There's a few things you can try:
- Like GaryHanna said, you can try adding a Timeshift node after the erosion, and force it to a given frame rather than $F.
This will ensure that the various masks created by the erosion node are not empty/flat and can be imported properly in UE4.
(empty/flat HF masks should just be ignored by Unreal, but I want to make sure there not the cause of your problem)
- Could you try removing the Erosion node and see if a simple HDA with HF > HF Noise > HF Mask Noise also causes you issues?
Edited by dpernuit - Jan. 12, 2018 09:59:15
Houdini Engine for Unreal » Digital Asset - Simple Collision Box with Rotation is incorrect
- dpernuit
- 534 posts
- Offline
Hi,
As Chris said, this is actually the way the “collision_geo_simple_xxx” attributes are supposed to work.
The simple box attribute will wrap whatever geometry you're feeding it with a simple AABB collider. It's basically doing the same thing as opening the mesh editor, and adding the box collider there. (and the same can be said about the other types of simple colliders kdop, sphere, capsule etc…)
The transform info on your collider cant be used for the simple collider box, as the plug-in doesn't have any knowledge of that box's transform (as its already baked), the plugin mainly reads/gets the data on your display node.
But since you're already providing the box, there is no need for you to use the simple collider attributes, as those are meant to be used as a “shortcut” when you do not have a collider mesh defined in your hda.
In your case, since you already have the collider box created in Houdini, you're better using the “collision_geo” attribute, that will use your exact transformed box mesh for collisions.
As Chris said, this is actually the way the “collision_geo_simple_xxx” attributes are supposed to work.
The simple box attribute will wrap whatever geometry you're feeding it with a simple AABB collider. It's basically doing the same thing as opening the mesh editor, and adding the box collider there. (and the same can be said about the other types of simple colliders kdop, sphere, capsule etc…)
The transform info on your collider cant be used for the simple collider box, as the plug-in doesn't have any knowledge of that box's transform (as its already baked), the plugin mainly reads/gets the data on your display node.
But since you're already providing the box, there is no need for you to use the simple collider attributes, as those are meant to be used as a “shortcut” when you do not have a collider mesh defined in your hda.
In your case, since you already have the collider box created in Houdini, you're better using the “collision_geo” attribute, that will use your exact transformed box mesh for collisions.
Houdini Engine for Unreal » UE4 World Composition w/ Houdini
- dpernuit
- 534 posts
- Offline
Hi,
Unfortunately, HDA containing tiled landscapes (via the Tile Split nodes) won't work with world composition:
When imported in UE4 via the plugin, they will give you properly sized/placed landscapes, with layers, and thanks to the upper/lower tile overlap parameters Chris mentioned above, without any overlap.
But the World composition system in Unreal only works with image files, and wont accept Landscape Actors.
(our original goal was to try to hook up tiled heightfields directly to World composition, but until it gets some form of update, this wont happen as the system really expect manual user interaction…)
The only solution you have is to bake out the Heightfields to image files via the heightfield output node, using the x_y naming convention expected by Unreal.
Unfortunately, HDA containing tiled landscapes (via the Tile Split nodes) won't work with world composition:
When imported in UE4 via the plugin, they will give you properly sized/placed landscapes, with layers, and thanks to the upper/lower tile overlap parameters Chris mentioned above, without any overlap.
But the World composition system in Unreal only works with image files, and wont accept Landscape Actors.
(our original goal was to try to hook up tiled heightfields directly to World composition, but until it gets some form of update, this wont happen as the system really expect manual user interaction…)
The only solution you have is to bake out the Heightfields to image files via the heightfield output node, using the x_y naming convention expected by Unreal.
Houdini Engine for Unreal » Houdini to Unreal Import issue: "No smoothing goup found"
- dpernuit
- 534 posts
- Offline
Hi,
Just a quick note, the unreal_face_smoothing_mask attribute mentioned by Aladin are meant to be used with the Houdini Engine Plugin for UE4, and won't work with regular FBX export.
But if you're using the plugin, they will get the smoothing info.
Just a quick note, the unreal_face_smoothing_mask attribute mentioned by Aladin are meant to be used with the Houdini Engine Plugin for UE4, and won't work with regular FBX export.
But if you're using the plugin, they will get the smoothing info.
Houdini Engine for Unreal » HDA won't create multiple material instances
- dpernuit
- 534 posts
- Offline
Hi,
Your issue is actually due to a limitation in the current material instance attribute implementation, as it only supports one material for now. This was due to the fact that when applying those material instance attributes, the material slots and static meshes are already created, making it hard to match primitive attributes to those..
Tomorrow's daily build (16.5.345) will have a fix for this, helping in supporting multiple material slots to the material instance attribute system, but this should still be considered an edge case and not fully supported by the plug-in.
Let me know if it fixes your issue.
Your issue is actually due to a limitation in the current material instance attribute implementation, as it only supports one material for now. This was due to the fact that when applying those material instance attributes, the material slots and static meshes are already created, making it hard to match primitive attributes to those..
Tomorrow's daily build (16.5.345) will have a fix for this, helping in supporting multiple material slots to the material instance attribute system, but this should still be considered an edge case and not fully supported by the plug-in.
Let me know if it fixes your issue.
Technical Discussion » FBX import / export updates
- dpernuit
- 534 posts
- Offline
Hey everybody,
Our FBX importer/exporter has received some updates recently in H16.5.
I'll be listing some of these here, all of these features are available in 16.5.345:
Import
Most of the recent import updates were done on the file SOP.
When importing FBX files via the File SOP, all the objects found in the FBX file are now imported by default (unless an object is specified with # in the file path).
All the different objects transforms will be baked directly into the points, and their normals modified accordingly.
The baked transforms are added as point attributes, and a “fbx_node_name” primitive attribute is created in order to be able to identify the FBX object the geometry was created from.
The material names are also added as primitive attributes, and custom FBX properties will also be converted to primitive attributes.
Via File > Import, LOD group parameters are now imported as spare parameters. Those parameters can then used by the exporter to rebuild the LODs properly..
Export
LODs can now be exported to FBX file.
If imported from an existing file, the spare parameters created on the LODGroup node will be used for export.
To create the LODs manually, the meshes only need to be parented to a null node named LODGroup.
The order of the different LOD meshes can be determined by their name if they are all named LODXXX, if not their parenting order will determine it. See the attached image for the minimal setup require to export those.
There is now a new option on the export dialog to disable the export of end effectors null nodes as these can be problematic in some cases. However, FBX files exported without the end effectors won't reimport properly in Houdini afterwards. (the skeleton will miss “end” bones due to the missing end effectors)
The imported custom FBX properties (available as spare parameters) are now exported.
Finally, the FBX exporter source code is now open source, and available on our GitHub:
https://github.com/sideeffects/HoudiniFBX [github.com]
Let me know if you have any questions!
Our FBX importer/exporter has received some updates recently in H16.5.
I'll be listing some of these here, all of these features are available in 16.5.345:
Import
Most of the recent import updates were done on the file SOP.
When importing FBX files via the File SOP, all the objects found in the FBX file are now imported by default (unless an object is specified with # in the file path).
All the different objects transforms will be baked directly into the points, and their normals modified accordingly.
The baked transforms are added as point attributes, and a “fbx_node_name” primitive attribute is created in order to be able to identify the FBX object the geometry was created from.
The material names are also added as primitive attributes, and custom FBX properties will also be converted to primitive attributes.
Via File > Import, LOD group parameters are now imported as spare parameters. Those parameters can then used by the exporter to rebuild the LODs properly..
Export
LODs can now be exported to FBX file.
If imported from an existing file, the spare parameters created on the LODGroup node will be used for export.
To create the LODs manually, the meshes only need to be parented to a null node named LODGroup.
The order of the different LOD meshes can be determined by their name if they are all named LODXXX, if not their parenting order will determine it. See the attached image for the minimal setup require to export those.
There is now a new option on the export dialog to disable the export of end effectors null nodes as these can be problematic in some cases. However, FBX files exported without the end effectors won't reimport properly in Houdini afterwards. (the skeleton will miss “end” bones due to the missing end effectors)
The imported custom FBX properties (available as spare parameters) are now exported.
Finally, the FBX exporter source code is now open source, and available on our GitHub:
https://github.com/sideeffects/HoudiniFBX [github.com]
Let me know if you have any questions!
Edited by dpernuit - Jan. 4, 2018 14:34:41
Houdini Engine for Unreal » Houdini to Unreal Import issue: "No smoothing goup found"
- dpernuit
- 534 posts
- Offline
Hi Chiaka,
Smoothing groups don't exist in Houdini, and thus cant be exported to FBX files from Houdini, so the warning is legit.
If you modeled your mesh in houdini, you can safely ignore that warning.
One way to remove the warning, is by adding normals to the mesh in Houdini or having Unreal recompute them in the FBX import options.
Smoothing groups don't exist in Houdini, and thus cant be exported to FBX files from Houdini, so the warning is legit.
If you modeled your mesh in houdini, you can safely ignore that warning.
One way to remove the warning, is by adding normals to the mesh in Houdini or having Unreal recompute them in the FBX import options.
Houdini Engine for Unreal » HDA won't create multiple material instances
- dpernuit
- 534 posts
- Offline
Hi,
Could you send us your hda so I can check that?
Your setup seems correct to me, it seems to me that the issue is more likely to be a limitation/bug of the current material instances attributes on the ue4 plugin.
Could you send us your hda so I can check that?
Your setup seems correct to me, it seems to me that the issue is more likely to be a limitation/bug of the current material instances attributes on the ue4 plugin.
Houdini Engine for Unreal » Houdini 16.0. Engine to UE4 4.18.2 supported ?
- dpernuit
- 534 posts
- Offline
Yes, if you're building the source, you can also get the latest version of the ue4 plugin on github:
HoudiniEngineForUnreal [github.com]
HoudiniEngineForUnreal [github.com]
-
- Quick Links