Saturday, January 18, 2014

InstantOC 2 bug hunting

Just tried InstantOC 2 with the cool FPS controller Prefab included in the new Unity Sample Assets, there is a little bug preventing the "PreCull Check" option to function correctly.
To both support the old FPS controller Prefab and the new one, simply change line 148 in the "IOClod" script from this:
if(h.transform.tag != iocCam.tag)

to this:
if(!h.collider.CompareTag(iocCam.tag))

Will submit bug-fix release to the Asset Store in a couple of hours.
Btw, the new Sample Assets are really cool!

Friday, January 17, 2014

InstantOC 2.0.0 live on the Asset Store!

InstantOC 2.0.0 is available on the Asset Store, it will maintain the old price (15$) for 15 days, after that, it will be priced 25$.
So hurry up and get your license until it's in promotion!

In the previous post, the details about this juicy update :-)

Tuesday, January 14, 2014

InstantOC 2

It has been a great year for InstantOC, many bugs have been hunted down, some neat features have been added along the way, and overall, the system has been fine tuned.
Now it's time to add some super awesome new features!
InstantOC 2, in its first release, brings:
  • lights occlusion culling
  • full support for dynamic batching
But let's see them in more detail:

Lights Occlusion Culling
InstantOC lights occlusion culling is based on light probes.
At start up, it creates some probes for every light that you want to be managed by InstantOC.
Probes are little sphere colliders randomly placed in the influence area of the light.
InstantOC takes several parameters into account like light range, cone angle and obstacles in order to effectively place probes only where the surface is really affected by the light.


When the InstantOC ray-caster “senses” these probes, it activates the corresponding light (at full quality).
Thus, in every moment, only those lights that really contribute to the current view are enabled.
For special cases, you can also fine-tune your lights by placing some probes manually exactly where you want them; just drag and drop one or more “probe” prefabs (InstantOC/Resources/ folder) in your scene and make them child objects of the light you are fine-tuning.

Dynamic Batching support
Unity free offers dynamic batching. It's rather painful to make it work (imposes some limitations on models and materials), but eventually it does its job.
InstantOC 2 does not break this fragile balance anymore, as it fully supports dynamic batching.
Using "SharedMaterials" instead of "Materials" did the trick.

Particle Effects Occlusion Culling
Well, this feature was already there, but I wasn't aware!
Unity is very modular and with a pretty nice OO API; like the mesh component which has its renderer, also the particle effects have their own renderer (Shuriken and legacy).
So it turned out, that if you place a particle effect as a child of a game object managed by InstantOC, InstantOC shows/hides the particle renderer exactly like it does for all other renderers, it just works!
Adding features without coding is sort of devs Nirvana ;-)



The 2.x release cycle will bring quite some other stuff, first of all, official support for "occludees", which for instance is really useful for transparent objects.
So stay tuned!

PS: InstantOC 2 is a free upgrade for all InstantOC users, the new price will be 25$ (15$ only for the first 15 days after going live on the Asset Store).


Tuesday, September 10, 2013

InstantOC 1.6.2 live on the Asset Store!

Well, it took a while, and I mean really a while.
This time the review process lasted more than a week, but probably because of the Unite 2013.
All's well that ends well!
In the previous post you can find the change-log.

Saturday, August 24, 2013

InstantC 1.6.2 submitted to the Asset Store

This is a bug-fix release.
Thanks a lot to Guido Henkel for finding the "raycaster clipping-planes bug"!
In some scenarios, with a non-default value for the nearClipPlane of the camera, you get an inconsistent behavior of InstantOC occlusion culling.

If you have faced this bug, you should do the following (or wait until InstantOC 1.6.2 goes live on the Asset Store and update it):

in the IOCcam script, after the following line in the "Start" method:
rayCaster.aspect = cam.aspect;

add this 2 lines of code:
rayCaster.nearClipPlane = cam.nearClipPlane;
rayCaster.farClipPlane = cam.farClipPlane;

InstantOC 1.6.2 also fixes a minor initialization bug of the IOClod script and brings an updated version of the "Readme.pdf"

Monday, August 12, 2013

InstantOC 1.6 live on the Asset Store!

InstantOC 1.6 finally landed on the Asset Store!
It took a little longer than with the previous updates, but it's live now :)
In the previous post you will find all the details about this update.