Dynamic Occlusion System

Hello everyone, finally was approved Dynamic Occlusion System for short DOS and this is the link at the store: Unity Asset Store - The Best Assets for Game Making

Dynamic Occlusion System:

Allows you to configure the LODs if your GameObject need, DOS is responsible for automatically manage the components associated with it to enhance the game experience

Dynamic Quality Changer:
Highly configurable to maintain the desired quality in the game and maintain an optimal gaming experience, manages the quality of the terrain at runtime so as to control the functions of Dynamic Occlusion System.

I opened this thread to get better feedback with you and to answer all of your concerns, I also hope your suggestions to improve DOS.

you can contact directly to e-mail brlme1616@gmail.com, brawny808@hotmail.com, http://brlme1616.wix.com/darkcomtech or https://www.youtube.com/channel/UC9x28bvFhd7IR7s6B8NzQPg

Release version 1.4.1 (pending for review)
some bugs are now corrected and improved support for terrains, and some changes to Dynamic LOD

  • Fixed bug hiccup when attaching to the quality of terrain details
  • Fixed bug of the sudden disappearance of large objects in front of the camera
  • Dynamic LOD can now control the details of several objects at once
  • Occlusion of terrains now possible, giving advantage to using Unity 4.5 Free
  • The level of detail of the terrain is now controlled by the proximity of the camera and not by the quality

Does it work on Unity 4.6 ?

How does it handle really small items?
I have tried to use InstantOC, but since it’s raycast-based, i got strange results using really small assets, like small stones.

hi menfou, I have developed DOS for unity 5, but I can make an adaptation for unity 4.6 soon, the feature is really only using use of unity 5 is a combiner mesh using APIs unity 5. soon makes new updates.

Hi Alex, this system also an raycast for MeshRenderers but uses frustum planes for other renderers, I’m looking for an ideal combination between the two, since both have a disadvantage that strengthens the other. I am currently working to achieve that balance. will soon launch an update.

Hi everybody, Dynamic Occlusion System has been updated to version 1.1,
Fixes

  • has improved the way it manages the quality, now avoids unnecessary calculations that generate garbage collector
  • Now the shadows being outside the frustum of the camera are preserved and optional marking the simple checkbox
  • Now you can change your scene without destroying the Game Object containing DOS using DontDestroyOnLoad
  • The lights now work best out of the camera frustum
  • has improved the sacrifice of sound with respect to the distance (only maintain full 3D Spatial Blend)
    Changes
  • I waste some unnecessary things like Cull Layer, basically because the object distance to practically the same.
  • It has set aside the updating of asynchronous variables, because it generates annoying spikes in memory that are seen in the gaming experience.
  • The update has been removed based on the quality of the graphics card manufacturer, because it automatically update the system independently manages the card you have
  • some constant variables have been removed to not use this memory space

Final note: note that a greater number of components renderer, Audiosources and lights on scene, can generate more garbage collector

I’m currently working on version 1.2 there are some changes currently being implemented in version 1.2 and now the code is optimized further, and the inclusion of the possibility of texture atlas at runtime of the game.

if time permits modification makes me DynamicLOD hoping to do at runtime LOD game.

I am currently testing Dynamic Occlusion to fix bugs in a personal project

1 Like

How’s that unity 4.6 version coming?

FYI none of the dropbox links work. Also I’m not seeing much occlusion happening in the youtube video, just classic culling, which is what unity already does. Do you have performance comparisons? Have you tried Culling Groups in 5.2? might offer an interesting boost as it’s threaded.

Hello DivergenceOnline promise that the next update (ver.1.4)to add support for unity 4.6, the truth is that even I have not tried in previous versions.

Hello hippocoder, the intent of this tool is not to replace Static Occlusion of Umbra, but to be a tool for moving objects occlusion. what I hope is an advantage for those projects that contain procedural scenes or projects done in unity 3 and 4 free version

although this tool works with moving elements can also do it with elements that are static, simply unchecking static. batching static or off.

soon makes an update of the videos. in which explain how to use it in various situations.

regarding statistics is a pending task, I’m still waiting to get a low-end computer where I could put on and remove the video card. Unity delegates more than half of memory video card and this can result in inaccurate measurements.

Hello everyone, I have communicated 2 users through email that have the following problem,

Expanding invalid MinMaxAABB
UnityEngine.Renderer:get_bounds()
<IRLateUpdate>c__Iterator23:MoveNext() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:179)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
DynamicOcclusionSystem:Start() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:85)

Converting invalid MinMaxAABB
UnityEngine.Renderer:get_bounds()
<IRLateUpdate>c__Iterator23:MoveNext() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:179)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
DynamicOcclusionSystem:Start() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:85)

Invalid AABB aabb
UnityEngine.Renderer:get_bounds()
<IRLateUpdate>c__Iterator23:MoveNext() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:179)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
DynamicOcclusionSystem:Start() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:85)

Invalid AABB result
UnityEngine.Renderer:get_bounds()
<IRLateUpdate>c__Iterator23:MoveNext() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:179)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
DynamicOcclusionSystem:Start() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:85)

Invalid AABB rkBox
UnityEngine.Bounds:ClosestPoint(Vector3)
ClassExtensions:BoundsIsVisibleFromViewport(Bounds, Camera) (at Assets/DynamicOcclusionSystem/Scripts/ClassExtensions.cs:35)
<IRLateUpdate>c__Iterator23:MoveNext() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:179)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
DynamicOcclusionSystem:Start() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:85)

Invalid AABB rkBox
UnityEngine.Bounds:ClosestPoint(Vector3)
ClassExtensions:BoundsIsVisibleFromViewport(Bounds, Camera) (at Assets/DynamicOcclusionSystem/Scripts/ClassExtensions.cs:35)
<IRLateUpdate>c__Iterator23:MoveNext() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:179)


Invalid AABB rkBox
UnityEngine.Bounds:ClosestPoint(Vector3)
ClassExtensions:BoundsIsVisibleFromViewport(Bounds, Camera) (at Assets/DynamicOcclusionSystem/Scripts/ClassExtensions.cs:35)
<IRLateUpdate>c__Iterator23:MoveNext() (at Assets/DynamicOcclusionSystem/Scripts/DynamicOcclusionSystem.cs:180)

it was not a problem unique to this version, but it has happened in previous versions as well but can not find a way to reproduce this error if someone knows how to reproduce this error please let me know how to do it step by step to give an effective correction

do not work in my unity3d project … my level is build at the beginning of the scene with a random script using prefabs … but see self

:frowning: i am not a programmer i using playmaker to make my projekt …so i dont know what the problem is.

turritom Hello, I see that your version is somewhat old, your version is 1.0 and version 1.3 is now available for download. answering your question but perhaps the problem that appears in the console is that you have properly configured the camera. I think in this version was necessary that the camera has the tag of MainCamera then try and tell me if it worked, but better was to update the version.

An announcement to all. Because labor issues that we’re a little short of time, I’m working overtime to 23 December, hope excuse me if this slows a bit more updates and if you’re only limited meantime corrections as per limitations do not give me time to try new improvements.

Thanks to all. I hope this time will serve to send me screenshots or details of any problems that occur, this would help me a lot to know that problems are with the tool. Feedback is always good and helps improve

where to adjust LOD distance ?
Only one layer can to cull ?? if not , How ?

If i just want to keep Culling and i don`t want to use LOD how to close LOD?
Culling distance how to adjust ?

hi zmaxz
Automatically adjusts the distance according to the volume of Mesh and bounds recalculated automatically. I did so to save work to the user, however I would like to know your opinion I’m still in time to implement changes.

if you do not want to use the LOD do not use this optional, yet the advantages of the LOD are not yet sufficiently impressive.

  • This is practically automatic
  • No conflict with LOD bias to lower the level of quality that has even LOD Unity
  • Fully compatible with StaticBatching
  • Generates less objects in memory
  • Load the LOD meshes in the project and not on scene, preventing them from being loaded into memory.

The idea for the future is that LOD to work together OR is integral to Dynamic Occlusion and is more automated

Hi BMadrid ~
Custom always better than automatic,
because every single one make game is not the same.

My camera in my game is can`t rotate and always same angle , like “Diablo3”,
To me , Culling is important than LOD .

Hello zmax
you’re right, it solution does not work for different people, so I have now modified this script to allow both. likewise I take the opportunity to tell everyone that I have finished the version 1.4 and will soon update this asset in the store

Hello everyone, I inform you that have already uploaded the version 1.4 to Store, now pending for review
I made some minor changes in this version and I corrected some things

  • The main code moving it to a coroutine to have less impact on performance
  • I have withdrawn all raycast for now, make too many calls to the CPU, at least to find a cheaper way to do it
  • now lists the variables are filtered start to delay loops least go through each element, reducing latency
  • Dynamic LOD has been improved with the idea of offering more control zmaxz
  • thanks to the idea of Divergence Online now whole package is compatible with Unity 4.5

Hi BMadrid ~
If you can change " Layer to cull " become " Layers to cull ",and this asset is to be awsome,
I will get your asset 5 Stars.