Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Smart LOD [RELEASED]

Discussion in 'Assets and Asset Store' started by brilliantgames, Aug 22, 2012.

  1. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Important note on help questions: I am very busy with many projects, and I run several threads. However, you are far more likely to get a response by simply sending me a PM right here on the Unity forums. Just specify which package and what your problem is.



    Put Your Fears To Rest On Massive Complex Scenes

    Welcome to the most powerful LOD pluggin for Unity. Designed with efficiency in mind, this LOD system will put all your fears to rest on massive complex scenes. What makes this different from other LOD systems? You can choose to instantiate objects within your LOD groups. Meaning, each level of detail can be dynamically loaded off the hard drive at run-time! This will dramatically decrease load time and give you nearly infinite boundarys to your scene and the amount of objects! This system works with all versions of Unity. Including Unity Free!

    This package is a very affordable price of only $15.00!

    LIVE ON THE ASSET STORE! http://u3d.as/content/brilliant-game-studios/smart-lod/3gZ


    Video Trailer



    Video Tutorial





    Stress Test




    Web Demo

    https://dl.dropbox.com/u/65183439/LOD/WebPlayer.html


    Exterme LOD Stress Test(Warning, this is a stress test, performance is not garrenteed)

    https://dl.dropbox.com/u/65183439/Extreme LOD.zip


     
    Last edited: Jul 23, 2013
  2. kevdotbadger

    kevdotbadger

    Joined:
    Sep 13, 2011
    Posts:
    82
    Is the $15 a permenant price?
     
  3. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Not 100% sure yet. But it will be for a little bit!
     
  4. kersk

    kersk

    Joined:
    Jan 2, 2012
    Posts:
    56
    Looks pretty interesting, keep up the good work! :)
     
  5. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Well thank you.
     
  6. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Ill definatally be checking this out for my new medieval city pack in development

    Great work
     
  7. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    For sure, really not much to loose with $15.00! Thank you.
     
  8. Mihai93

    Mihai93

    Joined:
    Jul 14, 2012
    Posts:
    213
    Will can be used for make an open world for MMORPG?
     
  9. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Of course.
     
  10. Mihai93

    Mihai93

    Joined:
    Jul 14, 2012
    Posts:
    213
    Sorry for my Ignorance but is possible to make it to load too the terrains and post a guie how to make it for game no Lag??
     
  11. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    This is designed for objects, not terrains. :)
     
  12. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Is this based off on Unity LOD system? An LOD system needs to work well with batches, and lightmapped LOD, something which Unity LOD does not do well.
     
  13. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    No, this is my own LOD system designed from the ground up. This LOD system affects the renderer of the object, nothing else is touched. But you can choose to instantiate each level as they come in range. You can also choose to keep them in the memory once they have loaded, or be destroyed and loaded again when in range.
     
  14. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Do u have video showing how to setup?
     
  15. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Not as of yet. But very soon! Its pretty basic.
     
  16. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
  17. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
  18. kevdotbadger

    kevdotbadger

    Joined:
    Sep 13, 2011
    Posts:
    82
    how long is a little bit? ;)
     
  19. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    The future is hard to predict.. ;)
     
  20. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
  21. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
  22. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
  23. MikeC989

    MikeC989

    Joined:
    Nov 1, 2012
    Posts:
    11
    If you could ever do it for terrains that would be the coolest thing ever haha but I'm sure that wouldn't be an easy task. This thing is great as it is right now though, but on that note, I was wondering if you could help with this error message I get. It says, "Assets/Smart LOD/Scripts/LOD.cs(8,26): warning CS0108: `LOD.camera' hides inherited member `UnityEngine.Component.camera'. Use the new keyword if hiding was intended".

    I just built a web player test and started seeing errors for a lot of stuff I got in my project folder for a lot of different things I've picked up over time, and I couldn't do a test build from all the errors, so I started deleting a lot of things to get the errors to go away (cause I can't fix them myself in most cases) but luckily even though this error was there for this Smart LOD, it still let me build the game, but I decided to come here and ask you while I was thinking about it, if you could help me with getting this error to go away. Thanks for any help you can give.

    btw I'm using the free version of unity if that makes any difference.

    Edit*** I just checked and the error only happens when I do a build of the game, and in this case with the Web Player (Offline Deployment box checked when building it), but that is the only time I see the error, it doesn't show up when I press play for the game (inside Unity) or while I am doing anything else in Unity, so it's probably not a huge deal, but figured I'd mention this anyways so you can get a better idea about when it shows up, and you may know why it does, but yeah it doesn't seem to cause any problems for me. It still builds the game and the game runs fine from what I can see.
     
    Last edited: Nov 3, 2012
  24. cynel

    cynel

    Joined:
    Apr 18, 2012
    Posts:
    734
    can LOD work on Unity 4.0
     
  25. MikeC989

    MikeC989

    Joined:
    Nov 1, 2012
    Posts:
    11
    4.0 will only be for pro right? If so LOD is already built into that. I'm not sure if the free version is going to 4.0 anytime soon.
     
  26. cynel

    cynel

    Joined:
    Apr 18, 2012
    Posts:
    734
    well 4.0 is open beta
     
  27. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937



    cynel: I see no reason why Smart LOD wouldnt work in Unity 4.


    MikeC989: What would you need LOD on terrain for? The Unity terrain engine has tessellation, this method works far better than LOD for terrain.
    As for the error you are getting. You say you are getting this error when you build to web player? I do remember the warning message, but I do not believe it should be a problem. I think this warning happens cause Unity doesnt like that I made a var named Camera. I could be wrong though. Either way I have never had any problems on any platform I have built to..
     
    Last edited: Nov 5, 2012
  28. MikeC989

    MikeC989

    Joined:
    Nov 1, 2012
    Posts:
    11
    Well the reason I thought LOD would be nice for Terrains is because I figured it might be possible, somehow, to use the instantiate method you have set up already to load the terrains out, and thereby save on performance. So if say you are on another terrain and the terrain you want to instantiate is not in view of your camera, you could load it out and save on RAM used possibly? I'm no expert on how that all works, I just figured it would help with performance to build big maps, but I've only read about asset bundles, occlusion culling and the such so yeah didn't know if it was possible with LOD to help with performance.
     
    Last edited: Nov 4, 2012
  29. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Well yes this would increase performance. But I thought you were talking about having multiple terrains with different levels of details.

    You should try treating a terrain as a prefab and see if it works. I would test it but I am busy with other projects at the moment.
     
  30. MikeC989

    MikeC989

    Joined:
    Nov 1, 2012
    Posts:
    11
    Actually the first day I got this package, I tried it and it didn't work. I may have did something wrong though. I'll test it again sometime though and if I end up getting it to work I'll post about it here. :)
     
  31. WhyDoesThis

    WhyDoesThis

    Joined:
    Oct 25, 2012
    Posts:
    5
    Well, I have built this to...
    Building to about... why does that?
    ABOUT!
     
  32. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,789
    This is interesting. I guess my main concern is how does this differ than the built-in Unity LOD handling... ? Or is this geared for the free version of Unity only?
     
  33. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    This is geared more towards the free version. BUT, the things that differ are the ability to Instantiate each level of detail. This enables for larger open world environments with more objects. I can't say for certain, but its likely its more efficient than the built in LOD. I have had over 10,000 of my LOD scripts running at once and it didn't affect performance dramatically.
     
  34. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,789
    Hmmm... thanks, that's a very good point. :D I'm gearing up to be doing some large scenes with a large amount of objects soon. I will definitely look into this and compare against the built-in LOD.
     
  35. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    For sure. Cant really go wrong with 15 dollars!
     
  36. chillersanim

    chillersanim

    Joined:
    Mar 31, 2013
    Posts:
    219
    I'm really new to unity, but not to game engines.
    When I started with unity I bought your script and it works (mostly) great. :D
    I really like it, even more because it's really needed...

    There are only three points:
    1) The script throws errors when I start the game:
    Code (csharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. FirstPersonControl.Update () (at Assets/Standard Assets (Mobile)/Scripts/FirstPersonControl.js:66)
    3.  
    2) The script would be more performant, if it would only calculate after an amount of frames. It is not necessary, that a cup (for example) updates every frame. There it would be great, if the user could set a frame rate in which the script updates, because it's a long script. When the user sets a different framerate for different objects, the script wouldn't run for all objects in the same frame, so the script could possible be used for over 100'000 objects without great performance loss.
    3)The script doesn't work for groups... (I've imported them from blender)

    I'm using unity 4.1.3 Free on Windows.
    Hope it helps.

    Edit:
    I'm verry sorry... I just saw now, that this thread is dead. sorry :(

    Great work, keep it going!
    Chillersanim
     
    Last edited: Apr 3, 2013
  37. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    The script is made for efficiency. Did you ever see the asteroid demo? There are over 10,000 asteroids. Your game shouldn't have that many objects anyway, cause the memory and load time would be so much the game wouldn't be playable on some machines.

    Smart LOD does work in groups. You can place as many children in each group as you want, you could have a thousand child objects if you wanted.
     
  38. UrgeT

    UrgeT

    Joined:
    Mar 2, 2013
    Posts:
    11
    Looks very interesting, how is the performance compared to Unity 4 pro LOD ? (I already know that normal LOD would not handle that much asteroids, not without a very huge decrease in fps).
    I`m planing to make a rpg, most likely it will be at a quarter of the size of a game like Skyrim (if I even manage to make it that big, going for something that will at least around 10 hours) and without too many loading screens.
     
  39. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Its one of the few solutions that would work for a game like this. Mainly cause you can choose to instantiate each level of detail. Meaning you're loading your game as you go. If you want to limit the amount of LOD script running you can simply have entire groups of objects loaded in sections using this.

    I am currently making a large open world game with this LOD solution.
     
  40. UrgeT

    UrgeT

    Joined:
    Mar 2, 2013
    Posts:
    11
    Sounds great, I just bought Smart LOD.
    Gone test it out.
     
  41. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    Thank you.
     
  42. Psyckosama

    Psyckosama

    Joined:
    Mar 20, 2013
    Posts:
    88
    Any plans to work on a OC system?
     
  43. PostojePoczekam

    PostojePoczekam

    Joined:
    Apr 8, 2013
    Posts:
    1
    Hello, i have 2 questions
    Does it works with android/ios games?
    Is the OC included? (if not, when it will be released, or where can I buy it?)
     
  44. im

    im

    Joined:
    Jan 17, 2013
    Posts:
    1,408
    hi

    saw the sale and ok im interested

    first i just tried demo but when i turn it on as it fills with asteroids my framerate drops from 60 to 30 and when i turn it off it stays at 60. is this expected?

    yes i do see it doing popup/lod when its off and not when its on. is this the tradeoff framerate for depth. but isn't that the same as not doing lod at all?

    also i have unity indie 4.2 (latest) so do i need this or does it already do this in indie. if not, does the pro do this?

    thanks in advance
     
    Last edited: Aug 28, 2013
  45. brilliantgames

    brilliantgames

    Joined:
    Jan 7, 2012
    Posts:
    1,937
    You should get a dramatic difference in performance with it on. I'm not really sure whats happening there. I just tested it and it works fine. I get more than double performance. Did you try downloading the extreme demo? That one is a windows application, web demos are often not reliable for anything haha.
     
  46. 99thmonkey

    99thmonkey

    Joined:
    Aug 10, 2012
    Posts:
    525
    I think you might want to tweak your How To Video Tutorial. When I follow your steps exactly I get errors.

    When I follow the below steps it works perfectly
    - Lowest Detail level (LOD_03 from BEP) -
    - add LOD script,
    - Add Camera,
    - Add Lowest Detail (this object) to Lod Group 2
    - LOD 1 Dist = 200, LOD 2 Distance = 400, LOD 3 Distance = 500, Rest = 9999
    - Enable Distance Detect = True/Checked
    - Other Checks are not Checked
    - DestroyDistance = 410
    - Highest Detail Level (LOD_01 from BEP) - assign to Lodinst Group 0 AND Lod Group 0
    - Next Highest Detail Level (LOD_02 from BEP) - assign to Lodinst Group 1 AND Lod Group 1
    - This Detail Level (LOD_03 from BEP) - Assign to Lod Group 2
     
  47. SOULSSAGA

    SOULSSAGA

    Joined:
    May 6, 2012
    Posts:
    69
    HI ! You got here a new Customer ...

    Im very Interested into buy this Solution.

    But still im missing 2 Major things in your Plugin.

    1) Dynamic Oclusion Culling.

    2) Optional Lod Change by Screen Size

    3) Overall Better Interface
    ( With Proper Camera Visual Feedback COntrol More like WHat is in Unity Pro Lod Sistem... )

    ...

    Im Making a very Crowded SCene AAA Project Tipe / imagine Cryengine Level of COmplexity In Unity.
    Were Characters Need to Fly And have 360 Degrees of LODS Surounding Them ...

    For my Project Im sure gona need also Some Geometry SCatering / Painting / SOlution with Automatical Lods Placement By Prefabs method ...

    As well Seamless Areas Loading on Runtime, to make gigantic terrains, With A Gigantic number of prefabs that Gradually load with streaming and occlude acording user view From a Flying Perspective...

    The SOULSSAGA Project also needs "Entire Areas Lod" Were At a far distance there is a LOD Version of a "ENtire level" Not just of a geometry ...

    This ENtire Level LOD Geometry That is Swaped Loaded From disk on a certain Flying DIstance Degree ...
    And that is Deleted when the player is not looking at it ...

    Its bringing Lods To another level but gona need that For my production ...

    ___

    Well Talking further Bout How can SMART LOD Actual State Can help my production :



    ::::::::::::::::::::: A LITTLE WORKFLOW POSSIBLE FEATURES CHAT : SOme Inquiries ...

    Anyway 2 or 3 questions For Workarounds :

    1) Is it Possible to Somehow use And integrate this Smart Lod Sistem In conjuntion with the Unity Pro Lods ?
    - Like Unity Pro Lod DOes the Lod Switch and SMart Lod Does Just the Destroy instance trick ...

    2) Is it possible to Use InstantOc / Oclusion culling http://goo.gl/AMlx91 Toguether with Smart LOD ?
    - Like Instant Oc Managing the Oclusion Culling SMart Lod Managing the Lods Destroy instances ...

    3) WOuld be possible to DEstroy The Last Lod From Scene ? So it acts like a Oclusion Culling Sistem By distance ?
    - Like Automaticaly Assign a Null Object to the Place Were the Instance would be loaded ..
    - So All Geometry IN scene can Be replaced by nulls be loaded on Runtime as camera passes by
    - And as camera gets far Away Its again replaced by nulls ...

    4) Would be possible to have a Runtime Dynamic Level Area Loading As well / So we can Save and Load Levels On runtime ?
    - Im thinking on Integrating The Dynamic-Map-System http://goo.gl/9JA34K So one can have massive levels Loaded Acording distance to it ...


    ...
    Of course i would reaaly prefer instead of buying 3 extensions trying to integrate them ...

    - SMARTLOD : http://goo.gl/9OBEQk
    - InstantOc / Oclusion culling : http://goo.gl/AMlx91
    - Dynamic-Map-System : http://goo.gl/9JA34K

    ---

    As customer I would reaaly Prefer to Buy 1 Extension that could do WHat all those 3 do ...

    ( Im a customer beta tester of TerraiNCOmposer.com From Nathaniel Doldersum ANd i requested all this features for a possible Future extension / But he doesnt know if he can make it this year as he has so much do to still in its roadmap ... SO i guess you will have competition on that side ... That Nathaniel is a Crazy Amazing programmer, im prety happy with TerrainCOmposer so far , but i still need a Robust Oclusion Lod With Destroy Instance Sistem for Large Seamless Multi Level Streaming ... SO joining TerraiNCOmposer Scatering / SmartLod / Instant oc Dynamic map sistem Features would be what i need exactly ... Sadly It will be a hardest thing to happen properly ..)

    SO my Question :​


    BRILLIANTGAME STUDIO !

    - Is it possible for you to Improve a litle further this Extension please ?

    - Does this plugin have a Roadmap ? WHat kind of Features you Have in your ROadMap ?


    - DO you think Mixing those 3 Extensions / SMARTLOD / InstantOc / Dynamic Map SIstem, WIll be Feasable possible in SOmeway ?

    - In what kind of ways do you think is possible to Improve This SMARTLOD ?

    - Are you Still working at it ?


    ...

    I think to Buy the 3 Extensions, SMartLod, InstantOc, And DYnamic Map Sistems , ANd try it myself To Join their features / Will be the best faster way Right now I guess ... Gladly Each Extension just custs 15$ ... LOL ... so guess i will have to pay 45$ / But sure i would prefer to pay 45$ instead of 15$ to YOU if you would get a integrated solution that does what those 3 do in 1 ... You know ...

    Just Saying ...

    Maybe those features Tough's, ideas and needs as Customer, Can Help your development improvements somehow...

    Good Luck !​



    THANKS SO MUCH ! For your Already Awsome , And So far No other alike product.


    SIlva DInis / SOuls Studio
     
    Last edited: Sep 16, 2013
  48. Cawas

    Cawas

    Joined:
    Jan 14, 2010
    Posts:
    121
    So, have you tried using Unity's lod interface instead of creating your own?

    From what I can tell, the main and almost only technical difference you introduce here is being able to instantiate (and destroy) prefabs at runtime, which should indeed be much better than Unity's lod in many situations and is, at very least, an extra option... But at the same time, the interface is so much worse! :(

    I also dislike how unity's lod recalculate bounds in an apparent attempt to prevent lod to be used to zoom in as well... It can be done, but only in a hackish way, by scaling down all the children, recalculating bounds and scaling them back up. This is another technical difference and, to me, a positive point to smart lod. :)
     
  49. TRIAX GAME STUDIOS

    TRIAX GAME STUDIOS

    Joined:
    Nov 27, 2013
    Posts:
    49
    SO IS THIS DEVELOPMENT COMPLETLY DEAD ?

    I bet you are just concentrating in your game and in your new GI sistem ...
    And forgot / quit ... completly of improving this one right ?

    I know you are just one man .. but ...

    I dont see no changelog... of updates or new features comming ...
    But alot people complaining they need more ...
    And no Support or answers at all ...

    IS THERE ANY ROADMAP TO THIS XTENSION ?

    Are you Able to Add to it Needed Features as Entire level loading ..
    http://forum.unity3d.com/threads/180200-Dynamic-Map-System

    And Occlusion Features ?
    http://forum.unity3d.com/threads/166748-InstantOC-dynamic-occlusion-culling-LOD

    Just Saying ....
    As customer im not that much happy with this buy...
    I was forced to buy InstantOc to have more features ... but both extensions dont work that well toguether ...

    Best Regards.
     
  50. Cawas

    Cawas

    Joined:
    Jan 14, 2010
    Posts:
    121
    I must agree with @Triax.

    And thanks for the links!