BasedLOD - Smart LOD with runtime generated models


(FREE TEMPORARILY)

BasedLOD

Smart LOD system with runtime generated models


Interested?


As configurable as you’d like

At it’s simplest, you drop the system into place, and tag your models.

  • Comes with several premade, battle tested LOD setting variations

If you wish, you can add custom LOD variations, tweak core settings, and interact with the system through your scripts.

LOD models can be:

  1. Generated at runtime
  2. Generated in studio via the plugin (currently disabled, more on this later)
  3. Handmade in studio


Feature packed generator

The generator uses various algorithms to convert your models:

  • Greedy meshing
  • Clustered voxel huller
  • Mesh scanner


Fit for tricky situations

  • Calculates how hefty your model is and accounts for it
  • Throttles swapping & state updates
  • Groups models so the same LOD model isnt generated more than once
  • Generates overtime to avoid lockup
    (& more)

The test place contains 2236 models (122,259 parts), and loads during the first 20 seconds of play


Why not Roblox’s?

Roblox’s built-in LOD system lacks user control. Nothing can be adjusted besides opting a model in or out. However, their system does still offer significant benefits. There are certain areas that Roblox’s system shines, and areas where BasedLOD shines. Generally, though, I recommend using Roblox’s and my system in unison.


Interested?

Plugin
(FREE FOR A LIMITED TIME)
name

Installation
BasedLOD - Installation

Usage
BasedLOD - Usage

API
(wip)


Closing

Let me know thoughts and critiques! Keep in mind this is a new system, so it may lack certain features or have some issues here and there. I’m open to any feedback or concerns.

If you need help setting up an LOD variation or would like to request one, feel free to let me know via reply or DM. It can be a little confusing!



23 Likes
Would you use this in your game?
  • Yes
  • No
  • No, Too complicated
  • No, Needs work
  • No, Doesnt work for my game
0 voters
1 Like

Hi, i cant seem to get the lods to work on a folder of meshparts (i tagged all the meshparts with the lod tag), can you provide an estimated date where the tutorial will be finished?

Only models can be tagged. This will be documented, I’m writing up a usage tutorial right now

1 Like

Amazing work. Useful and complete resource.

Loving it so far.

1 Like

what about trees that are made out of stacked images instead of meshes?

would this work with them?

You’d have to show me a sceeenshot, but I dont think so. The system is only able to detect baseparts, meaning parts, unions, and meshes

  • If the part is too transparent, it will be ignored
  • The generator doesn’t look for decals/textures

From the sounds of it, the model you’re using might already be pretty low tri. Just keep in mind there are certain cases where your model is already simple enough and shouldn’t be added to the system.

But if you insist, and you can’t get good results from the generator, you can handmake a premade imposter for your model (info found in the usage tutorial)

I’m a bit confused. I understand this can generate lower detailed models. Does it allow switching between LODs? Usually “imposters” are flat planes always facing the player and flips through images depending on the player’s camera (front, back, side, top, etc).

Say I have LOD_0 (High Poly, and Real Triangles); LOD_1 (A Plane Flipbooking depending on plr camera) would it be able to switch between LODs?

I think what he means by “stacked images” is flipbooking.

NOT all LODs are imposters. Imposters are unique. They are basically images or billboards. Some can be a plane or octahedral.

1 Like

Wow, big overlook on my part :sweat_smile: I generally don’t have the best terminology so let me know if anything else is like this

Yes

1 Like

I would just like to throw in that, from my testing, billboard guis are actually much more computationally heavy than even pretty complex meshes


Also for anyone else reading this, I’ve found some flaws with the generator so ill be leaving the plugin free until they are fixed. All the new fixes shouldn’t change how you setup and use the system though, so updating from the current version shouldn’t be an issue

Yes that is exactly what I meant, sorry I did not know the right term to use.

Hey, this looks very promising. However I have a curiosity. The plugin says “The generator plugin is currently disabled for use! Sorry…”. Can I ask what that is about?

Ah I forgot to include that in the post. I was getting errors for using CSG through a plugin, which I’m pretty sure is because It’s using newer functionality of CSG that’s not supported in plugins yet. I didn’t see this while scripting the plugin because I use HotSwap. Anyways I’ll look into this further and see what I can do about it when I get a chance