AutoLOD

This needs to be a first class citizen. Very empowering for most projects, I think.

13 Likes

Seems good in theory, but then there is also a lot that looks like it’s meant to be automagical. I would be curious to see what memory costs end up like on more typical scenes.

1 Like

Yes, that looks really promising.

I read the blog. Sounded great :slight_smile:

The meshes use 20 times more memory. (600 MB vs 30).

I’d prefer some sort of dumb automated approach. Perhaps they could incorporate simplyon into unity by default. This kind of project is research tech unity can spend years trying to polish.

4 Likes

I’m just happy to see an approach that applies LOD, atlasing, and mesh combining, with editor and runtime capabilities. I have plugins from the store that can help me in these areas, but it makes sense for Unity to have some basic abilities in this area.

3 Likes

Don’t get too excited, as stated in the readme:

  • no guarantee that this project will move out of experimental status
  • no guarantee that this will remain an actively supported project

Simplygon was actually available in the UAS at some point, but has been deprecated (see here and here). I would be interested to know why it’s not available anymore, any ideas?

Sounds about normal for Unity.

1 Like

HLOD is basically the approach what most open world games like GTA V use - in the distance you’re looking at merging all your separate bits into one.

And I really like the importer handling LODs for me - so perhaps as you guys say, just that is useful too. Regarding simplygon, I think they were bought by microsoft and the SDK is free for anyone to use now.

3 Likes

Really? That’s interesting.

Far small scale game, i prefer to keep control on the quality of generated LOD, whatever it’s made in a modeler or using some tool .
HLOD is great, while its nothing new and already available in UE4.
https://docs.unrealengine.com/latest/INT/Engine/HLOD/Overview/index.html

1 Like

never had much issue, have just done LODs by hand in maya, setup them up in lod groups there, and used a export script and asset post processor to set it up in unity

1 Like

Really wish that this was not experimental. I could really use it right now.

Auto LOD ‘tooling’ built in editor would be really nice, that auto stuff is never going to get everything right…Always some stuff to do manually in 3d model editor, if you want high quality LOD’s for somethings… like pre-fractured models that you don’t want some dumb polygon reducing tool doing a bad job of it …still it would be good for when you don’t care about the stuff a player couldn’t notice from the camera view.

So shame about the project not being totally ready for things… though it is nice that some of the useful classes from it have been pointed out… its all about finding the scraps of code that get thrown out in open source projects that you can re-purpose right :smile:

1 Like

There are definitely cases where it probably wont work well and it would be better to handle it manually, but otherwise it seems like this will be a tool that satisfies demands pretty well for a lot of projects and will save a lot of time.

Looks cool, shame about the huge memory usage though. Tried using the traditional LOD for a mobile game recently. Ended up having to scrap it and just reduce polygons on the base mesh as the memory usage was crashing pretty much any device the game ran on. But I guess it’s always a trade off between performance and memory when it comes to LOD.

I’ve never checked but do duplicate meshes in the scene take up unique amounts of memory each? if so I might as well just draw them myself instead of having any sort of scene presence. I would’ve expected the Unity engine to be smart enough to only store the data for one mesh - it’s a reference after all.

I’ve used HLOD in UE and simplygon w/ Unity 4.6 when doing RPG 's. When you have hundreds of (if not more) meshes in a scene it can have quite the effect, not only when you suddenly turn the camera and LOD’s transition but on overall memory.

I tend to use LOD’s with foliage only, it’s a necessity that can’t be avoided. Distance meshes are generally streamed in, it just takes a decent amount of enviro development skill, for buildings and container meshes I just make sure they’re well made in the first place and instance as much as I can with variations of cover meshes to break up the scene.

Zengarden is right though, this is OLD tech that has been in every major game engine since err?! A long time.

1 Like

I am using autoLOD with simplygon and here are the findings:

  • keep initial LOD max polycount high, this is your LOD0 max polycount (it should be renamed that, really…)
  • you can launch multiple simplygon jobs by setting up multiple object’s lodgroups then reimporting, set your simplygon agent concurrent job to 4 or something on a 8400, and finally use all them cores
  • max number lod generated = number of lod generated regardless of your lod group, this is a bug I think
  • simplygon decimation is good but remeshing and remapping is better but there is no option to set that up
  • simplygon is good but causes trouble in falt-ish concave surface it somehow scrambles the polygons, one dent on the “auto” part
  • autoLOD sends one job per mesh and the polygon budget isn’t shared between jobs so that low poly sphere you got there will turn into a tetrahedron pretty fast, it needs an option not to do that
  • autoLOD doesn’t set up the lodgroup for you, why? i have no idea, another dent on the “auto” part
  • lod mesh hierarchy makes no sense and is a pain in the ass to deal with. instead of a flat structure, all lod are under lod0, so yeah when you drag and drop lod0 you then have to remove all other lods
  • lodGroup still has those hiccups, shader.prewarm might work

Reading back at that list, well, autolod is buggy and poorly designed in many areas but I gotta say it makes life way easier when dealing with highres models.
I sculpt models in medium, decimation in medium is lame and you have to keep the goggles on, painting in 3dcoat likes the details anywayz because smart material. but all 3 softwares don’t talk to each others well, problems with pbr and texture reprojection, so having the whole lod work chain done within unity, and properly handling pbr if you want that nifty remesher is awesome, and this sentence is too long.

What needs to happen asap: automatic assign the proper mesh to the lodgroup automatically, change the lod hierarchy

1 Like

The AutoLOD github repo wasn’t updated since its initial release. UT might have abandoned it already.