- Home /
Rendering beyond solid surface
Hi,
I am using the events OnBecameVisible and OnBecameInvisible
to check out some camera rendering functionalities.
But it came as a suprize when i saw the OnBecameInvisible
event NOT firing on objects which were actually hidden totally in game view for the camera!!
For example, i wrote those events on some trees (planes) and even after hiding behind a building wall there was no OnBecameInvisible
event fired on them, i.e., they were rendered by camera!
Whereas, that event got naturally fired on trees outside of camera frustum (this is understandable).
Is it just because i was facing towards those trees though hiding behind a wall?
Does it depend on the shader used for the wall?
Answer by Paulius-Liekis · Jul 25, 2011 at 09:46 AM
I actually can't remember if Unity has some occlusion culling and how that works... but otherwise it sounds fine to me: as long as objects are in the frustum they are rendered and only graphics card know that the pixels of the tree are behind the house, but Unity doesn't know that.
Thanks Paulius Liekis
Yes Unity does have it's own occlusion culling but it's not suitable for my requirement (also it acts only on cubical sections). So you say that even renderer doesn't know about the positional order because of whihch i still don't receive OnBecameInvisible
?
Well...renderer know a lot, but as you said yourself occlusion culling is done on cubical sections, so renderer might think that it is visible, but visually pixels might be behind other object and renderer doesn't know that. And I don't know if renderer files OnBecameInvisible events for occluded objects. I'm just saying you shouldn't rely on things being occluded...
But actually i am not using Unity's occlusion culling, so there should not be any occlusion related data that renderer is taking care of. Even though everything within frustum is being rendered!
Your answer
Follow this Question
Related Questions
OnBecameVisible Invisible working with sorting layers 0 Answers
OnBecameVisible and OnBecameInvisible with LOD group. 2 Answers
Activate Game object when in Camera view and deactivate when out of camera view. 2 Answers
why the function OnBecameVisible and OnBecameInvisible doesn't work in canvas renderer ? 1 Answer
How do I stop a moving object when the Camera sees it 1 Answer