Skip to content

xylovely/AutoLOD

 
 

Repository files navigation

AutoLOD

Automatic LOD generation + scene optimization - Initial release was on January 12, 2018 via blogpost

AutoLOD is primarily a framework for enabling automatic post-processing of geometrical model assets on import to create simplified levels-of-detail (LOD). A default mesh simplifier is included, but can be swapped out with other simplifiers and on a per-model basis if needed. Additionally, a whole scene can be hierarchically chunked into LODs with SceneLOD.

Experimental Status

It’s important to note that AutoLOD is an experimental feature. As such, there is no formal support (e.g. FogBugz, support@unity3d.com, Premium Support, etc.) offered, so please do not use these channels. Instead, post your questions, comments, suggestions, and issues here on GitHub.

As with anything experimental/preview/alpha/beta, it is always a good idea to make a backup of your project before using.

Experimental means this:

  • Namespaces, classes, software architecture, prefabs, etc. can change at any point. If you are writing your own tools, then you might need to update them as these things change.
  • There won’t always be an upgrade path from one release to the next, so you might need to fix things manually, which leads to the next point...
  • Stuff can and will break (!)
  • There’s no guarantee that this project will move out of experimental status within any specific timeframe.
  • As such, there is no guarantee that this will remain an actively supported project.

Features

  • LOD generation on model import with sensible defaults
  • Project-wide and per-model LOD import settings
  • Asynchronous, pluggable LOD generation framework
  • Hierarchical LOD support via SceneLOD -> [watch a quick tutorial video]

Useful classes (for your own projects, too!)

Evaluating

Unity 2018.1 or a later version is required

Git Dependencies

Cloning

  1. Create a new Unity project or use an existing one
  2. From the command line change directory to your project's Assets directory.
  3. Run git lfs clone --recursive https://github.com/Unity-Technologies/AutoLOD

Updating

Because this project uses git-submodule, you'll need to execute git submodule update after pulling whenever a submodule is updated. You could execute this command always just to be safe or if you notice that a submodule is showing as modified after pulling changes.

Optionally, you could add a git hook for post-checkout or use a GUI (e.g. SourceTree) that does this automatically for you.

Project Settings

If you plan on making changes to AutoLOD and/or contributing back, then you'll need to set the Asset Serialization property under Edit->Project Settings->Editor to Force Text.

License

Unity Companion License (see LICENSE)

All contributions are subject to the Unity Contribution Agreement (UCA)

By making a pull request, you are confirming agreement to the terms and conditions of the UCA, including that your Contributions are your original creation and that you have complete right and authority to make your Contributions.

Initial Contributors

Amir Ebrahimi
Elliot Cuzzillo
Yuangguang Liao

Packages

No packages published

Languages

  • C# 99.1%
  • ShaderLab 0.9%