How can I define custom LOD groups?

Hi all!

it appears that I am not able to define custom LOD groups to be available in the editor menu.

In the overview of the UE 4.14 features it says that custom LOD groups can be set up in the BaseEngine.ini under [StaticMeshLODSettings]. However, I do not have a ‘BaseEngin.ini’ in my project directory. I DO have the [StaticMeshLODSettings] in the ‘Engine.ini’, which is stored here:

ProjectName\Intermediate\Config\CoalescedSourceConfigs\

All the groups that are available to chose in the editor are listed here. However, whenever I make a change in this .ini they get overwritten when I re-start the engine.

How do I go about setting up custom LOD groups?

Thanks all!

Always that much wiser after a good night’s sleep:

BaseEngine.ini is of course located in the installation directory of UE 4.14 (C:\Program Files (x86)\Epic Games\4.14\Engine\Config\ in my case) not in the project directory. I was mislead, as the overview of UE 4.14 states that LOD group pre-sets can be changed per project (This is the point I have not yet figured out, how can I make project-specific changes in the BaseEngine.ini?)

Anyways, seeing that it will not be that important for me to create new LOD group pre-sets for each project I am happy to set up one set that work for me globally in the BaseEngine.ini

Until we meet again…

A very very late answer:

You can define project specific LOD Groups under : Project / Config / DefaultEngine.ini

This Is the Actual answer to the question. Its is just necessary to add “[StaticMeshLODSettings]” at the end plus the “Custom” LOD Grou.
ex.

[StaticMeshLODSettings]

Custom=(NumLODs=3,LODPercentTriangles=50,PixelError=10,Name=LOCTEXT(“CustomLOD”,“Custom”))

but how to define screen size and percent triangles for each LOD ?

I cant find a solution to this in coding but you can do it in editor:

  • Simply arrange one of your static meshes in StaticMEsh Editor. Go to details and edit # of LODs their screen size and percent triangles under reduction settings. Save and close the window.
  • Go to content browser, right click >Level of Detail > Copy LOD
  • Go to another Static Mesh right click > Level of Detail > Paste LOD
  • All your LOD settings are then copied to the desired meshes
  • Appreciate that this forum is a huge help in learning UNREAL
  • Go seek Unity learning forums and feel bad for them, a non-approving head nod is advised
  • Come back for this forum and make it even a better place.
6 Likes

@GVWorks, it seems you need to uncheck the Automatic Distance Calculation for one of your meshes, then manually enter the Screen Size for each LOD of that mesh. Then proceed as suggested by @kerem.dinler below but, you can actually select all your meshes and paste the LOD setting to multiple in one go. Which may trigger some rebuild of the meshes.

meanwhile in Godot:

extends RigidBody

func _ready():
	get_node("MeshInstance").set_draw_range_begin(0);
	get_node("MeshInstance").set_draw_range_end(15);
	get_node("MeshInstance 1").set_draw_range_begin(15);
	get_node("MeshInstance 1").set_draw_range_end(30);
	get_node("MeshInstance 2").set_draw_range_begin(30);
	get_node("MeshInstance 2").set_draw_range_end(45);
	get_node("MeshInstance 3").set_draw_range_begin(45);
	get_node("MeshInstance 3").set_draw_range_end(100);

I planning to switch in this year, just right after graphic would be updated.
Too much distraction in ue4 for me. Every single thing are incomplete, and annoy me as hell.

But anyway, thanks for the answer :wink:

Amazing! Thank you so much. This is the right answer.

+rep :slight_smile:

Thank you , very usefull to set LOD 0 “automatically”.