I have scoured the docs and internet and I have not found any references at all.
Is it possible to setup my digital asset to create LODs when click bake? If so where is the docs on how to set this up in my digital asset?
Thanks.
Digital Asset - LODs
11040 29 3- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
- chrisgreb
- Member
- 603 posts
- Joined: Sept. 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
- dpernuit
- Staff
- 544 posts
- Joined: Sept. 2016
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
dpernuit
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.
Thanks! I will try it out.
- DiegoM
- Member
- 4 posts
- Joined: Dec. 2017
- Offline
Hi!
Great news on the LOD support for the UE4 plugin.
I was wondering if there were plans for implementing Hierarchical Instanced Mesh Components, now that LOD creation is available on the plugin?
As far as I understand, currently Instanced Static Mesh Components are used, but they don't support per-instance LODs nor culling. It would be absolutely amazing if, either by an attribute or just by detecting the presence of LODs, the plugin would use HISMCs instead (and revert to the current Instanced Meshes if no LODs are detected, as HISMCs make sense mostly because of the LOD usage).
Thank you.
Great news on the LOD support for the UE4 plugin.
I was wondering if there were plans for implementing Hierarchical Instanced Mesh Components, now that LOD creation is available on the plugin?
As far as I understand, currently Instanced Static Mesh Components are used, but they don't support per-instance LODs nor culling. It would be absolutely amazing if, either by an attribute or just by detecting the presence of LODs, the plugin would use HISMCs instead (and revert to the current Instanced Meshes if no LODs are detected, as HISMCs make sense mostly because of the LOD usage).
Thank you.
- dpernuit
- Staff
- 544 posts
- Joined: Sept. 2016
- 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.
- DiegoM
- Member
- 4 posts
- Joined: Dec. 2017
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
Aladin Sanedpernuit
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.
Thanks! I will try it out.
Ok I have tested it out and it seems to be working well.
One thing to watch out for is collision. I was setting up collision seperately for each lod group I was bringing in. This would cause UE4 to crash if I tried to rebuild asset. I only setup collision on the lod0 group and all lods share that collision and no crash.
Is there anyway to control more of the lod settings from the asset, for example, whether to use Auto Compute and if not what screen sizes to use for each lod. It would be very helpful to set this all up in houdini. It is very useful when I can everything for an asset in houdini so I do not have to remember to tweak them seperately after I create the static meshes.
Thanks.
- Andr1
- Member
- 118 posts
- Joined: Feb. 2016
- Offline
- dpernuit
- Staff
- 544 posts
- Joined: Sept. 2016
- 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.
- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
dpernuit
@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.
Thanks for the details. I will test it out. Also I changed my strategy for creating the collision. I create is separately from all the lod geo (I do not include it in any of the lod groups). This seems to work well.
- dpernuit
- Staff
- 544 posts
- Joined: Sept. 2016
- Offline
- Gomo
- Member
- 15 posts
- Joined: Sept. 2015
- Offline
dpernuit
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.
I am still new with HDA.
I tried to make setup like this:
LinkToImage [flic.kr]
But only the selected node is exported, and don't see corresponding properties in HDA settings.
Thanks in advance for any help.
And why ma images don't show up in post?
Edited by Gomo - May 17, 2019 19:06:07
- dpernuit
- Staff
- 544 posts
- Joined: Sept. 2016
- Offline
- Gomo
- Member
- 15 posts
- Joined: Sept. 2015
- Offline
- Gomo
- Member
- 15 posts
- Joined: Sept. 2015
- Offline
- DASD
- Member
- 453 posts
- Joined: Feb. 2013
- Offline
@Gomo You named the group nodes, but not the actual groups. To name the actual groups you create, change the Group Name parameter. You can either type in lod_0 etc, or in your case $OS. $OS will be automatically replaced with the node's name. Since you named the nodes correctly already, it will do for you. If you middle mouse click hold on a node you see the groups and attributes it has. You can also use the geometry spreadsheet to verify attributes/groups.
Finally, click on the little gear and “Save Preset..” or “Save Permanent Default” if you like the $OS thing and want to make it default.
Dunno if there are any other issues with the file, but this is one issue solved. XD
Finally, click on the little gear and “Save Preset..” or “Save Permanent Default” if you like the $OS thing and want to make it default.
Dunno if there are any other issues with the file, but this is one issue solved. XD
- Gomo
- Member
- 15 posts
- Joined: Sept. 2015
- Offline
DASDOK, I am embarrassed that I've missed that.
To name the actual groups you create, change the Group Name parameter
DASDTotally not getting this part…But I guess it is some convenience setup, right?
in your case $OS. $OS
DASDRight now when I do this I have my lodX groups listed as Prims not groups (after changing GroupType to Points it's OK but then I've got all meshes rendered together).
If you middle mouse click hold on
So after export I've got only one primitive rendering - so far so good, but no lod_settings anywhere (LOD setings from Rendering rollout doesn't seams to work) - should I add something in HDA settings (Operator Type Properties) for that or is it only available after converting to static mesh (I hope not)?
I see there is some LOD transition - but in very short distance to camera.
- Gomo
- Member
- 15 posts
- Joined: Sept. 2015
- Offline
-
- Quick Links