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. augasur

    augasur

    Joined:
    Mar 4, 2012
    Posts:
    133
    Hi,

    looks very good project, Before buying is there any chances of android app, that we could test it on our phones? :)
     
  2. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good morning Sir,
    I'm currently working on a free InstantOC Tech Demo for iOS and Android, that will be available on the AppleAppStore and GooglePlayStore.
    The Tech Demo will feature new graphics and simple game mechanics, to better resemble a real use case.
    Meanwhile You could perhaps take a look at the Android video to get a taste of InstantOC on mobile.
     
  3. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Can you try to make it work with only tags? I really don't like that I have to add scripts to many objects, and also to prefabs which are instantiated at run time.
     
  4. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    This would be my biggest request also.
     
  5. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    I will investigate.

    PS: Currently uploading on Youtube a new Tutorial: Tutorial 2 - the LOD system
     
  6. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
  7. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good morning!
    time for an update, take a look at what's coming next:

    InstantOC 1.3 beta preview

    Full support of realtime shadows :)
    (now occluded/invisible objects correctly cast shadows)
     
  8. sjm-tech

    sjm-tech

    Joined:
    Sep 23, 2010
    Posts:
    734
    Great! works perfectly!
    Max
     
  9. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    InstantOC is useful in determinated situations but not in others.
    If you have many big objects (like buildings) some behind others (like in the demo) then it can be very useful but if you have a big terrain with rocks and other objects with different shapes and they are widelly spreaded it is not very effective and you get worse performance because the cost of the raycasts (this is my case).
     
  10. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good morning Angel_m,
    In such a case, big terrain, many small/widely spreaded objects, I would suggest to also use a terrain split utility such this one, and set the "Lod Only" options for the spreaded/not easily occluded objects. This way You would have efficient occlusion culling for the splitted terrain pieces and LOD for the widely spreaded objects. Sidenote: if You use only the "Lod Only" option, You can use far less sample/rays (100 should be enough for a wide range of cases), so no oc, but still the performance gain of LOD

    Let me know if You find this useful.
     
  11. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
  12. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    Yay! Might be picking this up at some point; you seem to have approved it quite a bit.
     
  13. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening,
    currently adding the finishing touches to InstantOC 1.3, will submit it to the Asset Store in the next hours.
    The beta showed realtime shadow support, the final version has been heavily optimized, so that enabling this new feature does not affect the beloved InstantOC performance gain :)
     
  14. augasur

    augasur

    Joined:
    Mar 4, 2012
    Posts:
    133
    Hi, I would like ot know, if it is written in JS or C#?

    Thanks.

    Augustas
     
  15. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good morning Sir,
    it's all written in C#
     
  16. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    InstantOC 1.3 submitted to the Asset Store.
    - full support of realtime shadows (for happy Unity Pro users)
    - various core optimizations
    should be live within 3-5 days.
     
  17. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
  18. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening,
    I've found a bug in the helper prefab (IOChud), if realtime shadows are enabled, tweaking the hud GUI slowly degrades performance; disabling and re-enabling InstantOC pressing 'I' should reset performance.
    It does NOT AFFECT the correct behavior of InstantOC if You don't have the IOChud helper prefab in the scene. So no problem in Your final builds.
    Really sorry for the inconvenience, currently working on the solution (update coming soon)
     
  19. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    did you have a chance to look at getting it to work with tags only, would love to try that out, Thanks
     
  20. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    not quite yet!
    As soon as the update with the bug fix for the IOChud prefab is ready, I will further investigate Your request.
    But I should already say that there isn't any performance reason to do this,
    the IOClod component is heavily optimized and fires LOD and/or Culling operations only when needed, and at different times across objects, so that also many thousands of game objects with the IOClod component attached, don't affect the performance of the scene/game. Indeed I think that "centralizing" all the system, placing it around the IOCcam component only will probably degrade the performance achieved with the current architecture.
     
  21. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    for me it would be for saving me the time to add scripts to all my objects, the tags are already there for other porposes, so it basicly would save a lot of time. and it keeps things tidy, that i dont have to worry what scripts are doing on all the objects.
     
  22. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Ah ok! I see.
     
  23. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    InstantOC 1.4 submitted to the Asset Store.
    Some improvements, some bug-fixing :)

    Here is a post with a detailed change-log.
     
  24. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Updated the WebPlayer with InstantOC 1.4 to showcase correct occlusion culling with realtime shadows.

    Updated WebPlayer Demo

    I will soon update the other builds too.
     
  25. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
  26. sjm-tech

    sjm-tech

    Joined:
    Sep 23, 2010
    Posts:
    734
    Thanks frenchfaso, great job!
     
  27. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Thank You for Your appreciation Massimiliano!
    It would be great if You could find the time to leave a review on the Asset Store :)
     
  28. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    How does the shadow support work? Does it mean it will cast shadow from occluded objects if the object is in a place where it should be occluded but the shadow isn't?
     
  29. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening Sir,
    exactly, with InstantOC occluded objects correctly cast shadows, the new WebPlayer Demo shows this off.
    The object is still occluded, not wasting drawcalls/performance, but the realtime shadow is shown as expected.
     
  30. sjm-tech

    sjm-tech

    Joined:
    Sep 23, 2010
    Posts:
    734
    I will do it for sure!
     
  31. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    I was searching for occlusion in the asset store and your asset did not show up, this can lead to missed sales.



    If your able to include the tag only feature, then I can automatically specify between which parts are going to be used by unity pro collusion and which parts by instantOC. Do you think it will come in an updated version?

    Thanks
     
  32. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Thank You for pointing this out! I just updated the name to "InstantOC dynamic occlusion culling + LOD" this should be a good Asset Store SEO :)

    Regarding the next update, I'm working on simplifying the setup of a scene with InstantOC, this means it will no more be necessary to attach the IOClod component to all objects, only to those you want to customize (lod-distances, lod-margin and lod-only values) and to the prefabs instantiated at runtime.
    InstantOC will automatically apply the IOClod component to all objects on the layers flagged in the IOCcam component.
    Basing it on Tags rather than Layers, would be less efficient, do You think this would even so be helpful in Your case?

    PS: I'm also testing a new feature that will dramatically reduce the flickering effect of distant/sparse objects, if this will not cost too much on performance, InstantOC will become "nearly" perfect ;-)
     
    Last edited: Feb 15, 2013
  33. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    Layers is fine, Thanks!
     
  34. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Good evening,
    I was thinkering about adding a gallery on the InstantOC webpage (instead of the screenshots) for "InstantOC Powered" Games, like the one of the Unity website.
    Would You be eventually interested in having Your InstantOC Powered Game/Creation be featured on this page?
    Let me know, suggestions are welcome!
     
  35. SimtropBuggi

    SimtropBuggi

    Joined:
    Feb 15, 2013
    Posts:
    98
    I would be interested to see what games use your software. Hopefully you get some games to showcase.
     
  36. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    This released like over a month ago, i really doubt any one has something showcase-able after such a short time:)

    It's a strictly technical system anyway and going on top of the houses in the demo and rotating around is probably close to a worse case, so i really don't see what a game showcase would add.
     
  37. jonkuze

    jonkuze

    Joined:
    Aug 19, 2012
    Posts:
    1,709
    ...
     
    Last edited: Feb 23, 2013
  38. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Hello Kuroato,
    have You also added the IOClod component to the objects You want to manage with InstantOC?
    Have You placed this objects on a layer managed by InstantOC?
    Have You set up the IOCcam values?
    Could You perhaps send me a screenshot of the scene that fires the error?
     
  39. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Yes, it's probably a little bit too early, but I really would love to see what beautiful Art You are going to create with Unity + InstantOC.
    It would be really awesome for me to see for instance a gigantic sci-fi city, (like Coruscant :)) or a breathtaking view like the Pandora jungle (ok, perhaps it's exaggerated :p)
    We will see!
    Anyway, when You will be ready and if You will be interested, simply contact me by mail, I will be glad to feature Your Creations on the InstantOC website
     
  40. jonkuze

    jonkuze

    Joined:
    Aug 19, 2012
    Posts:
    1,709
    ...
     
    Last edited: Feb 23, 2013
  41. sleglik

    sleglik

    Joined:
    Jun 29, 2011
    Posts:
    682
    Reason is explained. You have selected more than one object.
     
  42. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Nope, it was a problem with the InstantOC Asset, Kuroato re-downloaded it and everything worked
     
  43. jonkuze

    jonkuze

    Joined:
    Aug 19, 2012
    Posts:
    1,709
    ...
     
    Last edited: Feb 23, 2013
  44. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    How is the progress on the update?

    I'm really keen to implement this in my project but like to wait for the next version which should be easier to set up.
     
    Last edited: Feb 25, 2013
  45. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Hello Lars,
    InstantOC 1.5 will be submitted to the Asset Store within sunday, so if everything goes well, it should be online next week :)
     
  46. frenchfaso

    frenchfaso

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

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    great looking forward to this
     
  48. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Hy Lars,
    eventually I did the "auto-configuration" through TAG :)
    You can specify a TAG in the IOCcam options, and all objects that correspond to this tag will be enhanced with the IOClod component at startup, if not already present. If You need to override global settings (lod distances etc.) You simply add it manually and set Your options.
    If your object has children, You must assign the TAG only to the parent, otherwise You end up with multiple IOClod scripts in the child objects (that's not what You want!)
     
  49. frenchfaso

    frenchfaso

    Joined:
    Aug 12, 2008
    Posts:
    479
    Hello there,
    InstantOC 1.5 is now live on the Asset Store!
     
  50. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,526
    really like the new update, I have one request, how can I use multiple tags or layers to activate IOC on the game objects?
    I would like to see an array for this so I can choose 2 or 3 tags, alternativly if I could tag/layer only objects which are not occluders I could select this way.
    I use tags and layers already for some other porposes and like to use more tags in the IOC camera scripts.

    Thanks