Search Unity

InstantOC - dynamic occlusion culling + LOD

Discussion in 'Assets and Asset Store' started by frenchfaso, Jan 18, 2013.

?

Should I strip out the integrated LOD stuf from InstantOC to make the code more maintainable?

Poll closed Mar 4, 2017.
  1. Yes, I never used it anyway

    50.0%
  2. Yes, I've used it in the past but will only use InstantOC for oc in the future

    50.0%
  3. No, I like it better than the Unity LOD

    0 vote(s)
    0.0%
  1. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    InstantOC 2.2.0 is live on the Asset Store!

    Unity 5 optimized version available (just access the Asset Store from Unity 5)

    AssetStore Page


    And here is a webplayer of InstantOC 2

    These are the new features of the 2.x release cycle, already there:
    - terrain occlusion culling
    - occludee support
    - lights occlusion culling
    - dynamic batching.

    Other stuff that will also be added in the 2.x release cycle:
    - code refactoring --> more modularity and extensibility, simple API
    - 4 LOD levels
    - easy setting for distance culling for LOD (it's already possible with a simple "trick")
    - dynamic load/unload of LOD levels from disk at runtime (like SmartLOD)
    - IOC Zones, to easily change IOCcam settings based on zones. For instance change the Rays Samples and Rays FOV when you go from an indoor area to an outdoor area or vice versa.




    InstnatOC original post:

    Fully dynamic Occlusion Culling + LOD system for Unity

    - Zero baking time
    - Beautifully compatible with procedural scenes
    - Revolutionary ray-based LOD system completely integrated
    - Combine IOC and LOD as you wish, IOC only, LOD only, IOC + LOD
    - Full support of realtime shadows (Unity Pro)
    - Extremely easy to use, yet remarkably powerful
    - Astoundingly big scenes on mobile devices without killing their tiny cpus/gpus :)

    Compatible with all versions of Unity 3.5 and up (free/pro/mobile/etc..)

    PDF User Guide
    InstantOC FAQ
    Video Tutorials

    InstantOC Demo:
    WebPlayer Demo (with realtime shadows support)
    Mac Demo
    Windows Demo
    Running on iPad (video)
    Running on Android - Nexus 7 (video)

    Now You can clearly see the massive performance boost unleashed by InstantOC.


     
    Last edited: Mar 10, 2015
  2. sjm-tech

    sjm-tech

    Joined:
    Sep 23, 2010
    Posts:
    734
    Just purchased! (Asset Store)...very handy...well documented!
    I'm testing it now and works great!

    note: sorry i put this comment in a wrong thread related to a tool with identical functionality, name ( too similar) and same test scene style.
     
  3. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,525
    You have to submit it with unity 3.5 for users of this version, otherwise the asset store does not allow to download and requires unity 4 for that.
     
  4. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Thank You Massimiliano!
    I really appreciate Your interest in InstantOC :)
     
  5. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Im pretty interested in this, but I would like to see two more things in the webplayer demo: 1) List of how many drawcalls the current frame is doing and 2) The possibility to turn the OC off and on to see the difference.
     
  6. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
  7. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
  8. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    $15 FREAKIN DOLLARS!!? .... WOW *instant buy*

    Thank you for this.
     
  9. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Thank you Sir for Your Appreciation!
    It would be really great if You could take the time to leave Your review on the Asset Store.
     
  10. Jog

    Jog

    Joined:
    Feb 9, 2012
    Posts:
    138
    Is it working with standalone and Unity 4 ? ;)
     
  11. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good morning Sir,
    InstantOC is currently compatible with ALL versions of Unity 4 (web/standalone/mobile/flash/etc...) and will be soon available also for Unity 3.5.x
     
  12. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Thank You Sir for pointing this out.
    InstantOC will soon be available for Unity 3.5.x also!
     
  13. Acelondoner

    Acelondoner

    Joined:
    Jul 27, 2012
    Posts:
    101
    If I wanted to say, hide/disable enemies when they are a certain distance away from the camera. Would IOC be what I'm after or does IOC just disable the renderer?
    Note, The enemies ave AI scripts attached and ragdolls etc.
     
  14. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    706
    When I'm walking between building I can see new buildings pop in - if you cant figure out how to enable it before player can see actual object - maybe you should think about some fading in instead just simple enable renderer/gameobject

    I'm interested but not with this pop in thing! Hope you will make it better in update :)
     
  15. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Hello Sir,
    IOC works currently on the Renderer level, would You be interested in such an update? (being able to decide whether IOC should enable/disable Renderer only or whole Game Object)
     
  16. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Hello Sir,
    IOC will be constantly updated aiming towards Perfection :)
    for the time being, the "popping" could be reduced/canceled tweaking a couple of options in IOC, primarily the "Samples", "View distance", "Hide Delay" and "Lod only" options.
    Please consider taking a look at the User Guide for some insights about the IOC system and it's options.
    Thank You for Your interest!
     
    Last edited: Jan 18, 2013
  17. Acelondoner

    Acelondoner

    Joined:
    Jul 27, 2012
    Posts:
    101
    Definitely. I have been searching for an asset that can disable game objects decided by distance for quite some time now. If you can make it disable if too far away and/or if obstructed, It'd be a buy from me.
     
  18. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    So I read the documentation, u are firing multiple rays to test if they hit the objects, so each object need to have a update script to count the time to disappear if not hit. That might not work well with many objects and high resolutions because number of computations of ray fired and testing could be more slow, especially on mobile devices. I would like to see an apk when you enable/disable and have performance improvements.
     
  19. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good morning Sir,
    thank You for Your interest in InstantOC, there is insignificant overhead as You can see in the WebPlayer Demo, which handles smooth and easy 10.000 Houses.
    I'm currently updating the WebPlayer to include an "enable/disable" switch in order to see clearly the massive performance boost that You get with InstantOC. Will post it here as soon as possible.
     
  20. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    NEW Demo
    - enable/disable InstantOC and play with some of its core options
    - added standalone version Mac / Windows, try it fullscreen and high-res!

    WebPlayer Demo
    Mac Demo
    Windows Demo

    Now You can clearly see the massive performance boost unleashed by InstantOC.

     
    Last edited: Jan 19, 2013
  21. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,525
    How does it compare to the unity pro occlusion culling in terms of performance ?
     
    Last edited: Jan 19, 2013
  22. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good Evening Sir,
    I haven't done yet a head to head comparison, but performance wise there shouldn't be noticeable difference.

    The 2 main advantages of InstantOC over traditional OC solutions are:
    - no baking needed, occlusion culling is done at runtime with irrelevant overhead
    - fully compatible with procedural/dynamic content (there is no way to use procedural content with traditional OC)

    I'm currently planning a detailed comparison between the various OC solutions available on the Asset Store and the one in Unity Pro.
     
  23. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    Is it necessary to add the IOClod script to each gameobject despite of I am not going to use any LOD ?
     
    Last edited: Jan 19, 2013
  24. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening Sir,
    yes, IOClod also serves the IOC main system, simply add it to the game objects / prefabs You want to be managed by InstantOC.
    You can select all game objects in the Hierarchy panel and then drag the IOClod script from the Project panel to the Inspector. It will be added to all selected game objects at once.
    There is no need to set the options of every game object which has the IOClod script attached, You do it only if You want to override the global settings found in the IOCcam custom inspector.
     
  25. Zozo2099

    Zozo2099

    Joined:
    Jul 15, 2012
    Posts:
    478
    Please we need a video tutorial! Are you willing to do it? thanks alot!
     
  26. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening Sir,
    currently working on that, should be live tomorrow.
     
  27. bilke

    bilke

    Joined:
    Jul 13, 2012
    Posts:
    54
    Thanks for this great plugin, it works very well!

    One question: is it possible to ignore a Lod-Level from occluding others?

    This is my setup: I would like to display a lot of object instances. Each object instance has an Lod_0 object with a transparent material and all other Lods have normal materials. The Lod_0 objects should not occlude other objects. Is that already possible or is it easy to add?
    Thanks!
     
  28. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening Sir,
    One way to do this would be to have "holes" in the collider mesh, corresponding to transparent parts in the material.
    Let me know if this works for You.

    Thank You so much for Your Appreciation, it would be great if You could find the time to rate InstantOC on the Asset Store.
     
  29. bilke

    bilke

    Joined:
    Jul 13, 2012
    Posts:
    54
    Thanks for your answer. Holes will not work because the whole object is transparent in Lod_0. Is it possible to add the collider to Lod_1 and not to Lod_0?
     
  30. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    bilke, would You mind sending me a little sample scene, so that I can better understand Your case, and give You a solution and/or workaround?
     
  31. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening Gentlemen,
    I've added a video tutorial section to the InstantOC page, and the first one (Tutorial 1 - the basics) is already online.
    The next one will be about the integrated LOD system.
    Hope You'll enjoy, thanks for watching.
     
  32. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    Saw the other day you added this on the Asset Store. Sadly, you listed it as requiring Unity 4.0. I will purchase if you get it working with 3.5.
     
  33. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening Sir,
    thank You for Your interest, I'm almost done with the update, it will be compatible with Unity 3.5.
    Should be online within 3-6 days.
     
  34. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Just uploaded a video of the InstantOC demo running on an iPad2, stunning performance gain!
    I'll try to publish it on the Apple AppStore.

     
  35. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening,
    now it's time for InstantOC to take a ride on Android (Nexus 7)
    as usual, impressive performance boost.

     
    Last edited: Jan 24, 2013
  36. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    I'm loving this asset. Thanks for this!
     
  37. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Thank's a lot for Your Love!
    It would be awesome if You could leave a little review on the Asset Store.

    PS: InstantOC update coming soon, with Unity 3.5 compatibility and "IOChud" prefab for fine-tuning InstantOC options at runtime
     
  38. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,525
    I have one request could you add a few more layers to the layer mask option in the main OC script?

    I have used layers to determine which objects are reflected in water in my scene and I could use this layer in the OC layer mask, however I have a few objects which are reflected in water and therefore use a different layer mask. I would like to add those layers to the OC too.

    If I could select manually how many layers are influenced by OC I would be happy.
     
  39. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479

    Hello Sir,
    You can already do this, simply select from the InstantOC LayerMask drop-down one after the other all layers You need to be managed by InstantOC, they will all show up in the drop-down, separated by commas.

     
  40. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,525
    Perfect, I should look better :)
     
  41. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    No problem!
    feel free to contact me if You have any further questions.
     
  42. bocs

    bocs

    Joined:
    May 9, 2009
    Posts:
    413
    Interesting...meh it's $15 so I said let's see..

    This is an honest review, so you may not like it.

    What it does:
    In a nutshell...a simple script attached to the camera that will cast random screen space ray-casts to find visible objects.
    It then tells the objects to stay visible for a certain amount of time (or change LOD).

    Issues:
    Speed - You pay the cost of the ray-casts no matter which direction you view (instant FPS decrease)
    Shadows - Since objects are hidden, their shadows will not show
    Popping - Random means even standing still some objects flicker

    How does it compare to Umbra? Not even close...
    Using the same scene I tested...
    Umbra: FPS 2500...shadows correct
    IOC: FPS 300...shadows wrong (as expected since objects are hidden)

    Thoughts:
    I hate to knock a $15 script, but...I'm glad it wasn't more or I'd be pissed.
    If your scenes are 100% dynamic and a crazy amount of objects (and don't need correct shadows)...could be useful?
     
  43. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,525
    Insightfull review, Bocs I have one question for you, would it not be possible to use this script in combination with Umbra to gain some speed with many dynamic objects on mobile, there is no need for shadows in my case.

    Or would you think that the ray-cast are more expense then drawing dynamic objects on the screen which have an alpha blending shader on them?

    In any case Umbra does not work for non pro, so the script is quite useful for for people without pro.
    I have unity pro so i'm interested in the best performance, possible in combination with umra for static objects.
     
    Last edited: Jan 25, 2013
  44. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
  45. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,525
    Very nice! thanks for making it 3.5 compatible :)
     
  46. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257

    I'm curious... outside of the editor, wouldn't that still be 60fps if that's what my game is capped to?
     
  47. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Yep, the stats window does not show accurate fps, that's why I included one of the fps counters in the wiki.
     
  48. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I'm fairly sure this will be a decent solution at a decent price for all free users and all people who create levels at runtime. Therefore it is a valid addition to the asset store. For prebaked levels and pro users, it should probably be avoided. I think it as a complimentary product to the game developer's arsenal - not a replacement :)
     
    wowipop likes this.
  49. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Just added the InstantOC FAQ
    should help you decide if InstantOC is right for you.
     
    wowipop likes this.
  50. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    I appreciate your honesty and frankness. Thank you.