Digital Asset - LODs

   798   12   2
User Avatar
Member
49 posts
Joined: Jan. 2016
Offline
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.
User Avatar
Staff
143 posts
Joined: Sept. 2016
Offline
There's no way to do that with the plugin at the moment. However there is a plan for the 16.5 FBX export from Houdini to support LODs for meshes in that format.
User Avatar
Member
49 posts
Joined: Jan. 2016
Offline
chrisgreb
There's no way to do that with the plugin at the moment. However there is a plan for the 16.5 FBX export from Houdini to support LODs for meshes in that format.

Thanks for the reply.
User Avatar
Staff
204 posts
Joined: Sept. 2016
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.
User Avatar
Member
49 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.
User Avatar
Member
2 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.
User Avatar
Staff
204 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.
User Avatar
Member
2 posts
Joined: Dec. 2017
Offline
That is amazing!

Thank you so much for this excellent news, I will keep an eye out for the bug fix and start testing it with the instancers for now.

All the best.
User Avatar
Member
49 posts
Joined: Jan. 2016
Offline
Aladin Sane
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.

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.
User Avatar
Member
118 posts
Joined: Feb. 2016
Offline
with HISM support by houdini engine now we can use it to create foliage and grass? Or is it still better to use Unreal Editor traditional tools?

cheers
User Avatar
Staff
204 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.
User Avatar
Member
49 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.
User Avatar
Staff
204 posts
Joined: Sept. 2016
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.
  • Quick Links