Вы находитесь на странице: 1из 12

La Ventana de La Eliminacin

Selectiva de Oclusin(Occlusion
Culling Window)
La eliminacin selectiva de oclusin (Occlusion Culling) es una caracterstica que
desactiva la renderizacin de objetos cuando estos no estn vistos por la cmara ya
que son oscurecidos por otros objetos. Esto no sucede automticamente en las
grficas computacionales 3D ya que la mayora del tiempo los objetos ms lejos de la
cmara son dibujados primeros y los objetos ms cercanos son dibujados encima de
ellos (esto se llama overdraw). La oclusin selectiva(Occlusion Culling) es diferente de
Frustum Culling. Frustum Culling solamente desactiva los renderizadores de objetos
que estn afuera del rea visual de la cmara pero no desactiva nada oculto por un
overdraw. Tenga en cuanta que cuando utilice la Oclusin Selectiva, usted todava se
beneficiar de Frustum Culling.

A maze-like indoor level. This normal scene view shows all visible Game Objects.

Regular frustum culling only renders objects within the cameras view. This is automatic
and always happens.

Occlusion culling removes additional objects from within the camera rendering work if
they are entirely obscured by nearer objects.
El proceso de la eliminacin selectiva de oclusin(occlusion culling) va a ir a travs de
la escena usando una cmara virtual para construir una jerarqua de un conjunto de
objetos potencialmente visibles. Esta informacin es usada en el tiempo de ejecucin

por cada cmara para identificar qu es visible y qu no es. Equipado con esta
informacin, Unity asegurar que solo los objetos visibles se van a enviar para ser
renderizados. Esto reduce el nmero de las llamadas de dibujo(draw calls) y aumenta
el rendimiento del juego.
La informacin para la eliminacin selectiva de oclusin est compuesta por clulas.
Cada clula es una subdivisin de la totalidad del volumen de delimitacin de la
escena. Ms especficamente las clulas forman un rbol binario. La eliminacin
Selectiva de Oclusin usa dos rboles, uno para View Cells(Objetos estticos) y la otra
para Target Cells(Objetos en Movimiento).Las View Cells se asignan a una lista de
ndices que definen los objetos estticos visibles que da un resultado de eliminacin
selectiva ms preciso para objetos estticos.
Es importante tener esto en cuenta cuando cree sus objetos porque usted necesita un
buen balance entre el tamao de sus objetos y el tamao de sus clulas. Idealmente,
usted no debera tener clulas que son muy pequeas en comparacin con sus
objetos, pero igualmente usted no debera tener objetos que cubren muchas clulas.
Usted a veces puede mejorar la eliminacin selectiva rompiendo objetos grandes en
pequeas piezas. No obstante, usted todava puede fusionar objetos pequeos juntos
para reducir las llamadas de dibujo(draw calls) y, siempre que todos ellos pertenezcan
a la misma clula, la eliminacin selectiva de oclusin no se ver afectada. La coleccin
de clulas y la informacin de visibilidad que determina qu clulas son visibles de
cualquier otra clula es conocida como PVS (Potentially Visible Set).
You can use the overdraw scene rendering mode to see the amount of overdraw that
is occuring, and the stats information pane in the game view to see the amount of
triangles, verts, and batches that are being rendered. Below is a comparison of these
before and after applying occlusion culling.

Notice in the Overdraw scene view, a high density of overdraw as many rooms beyond
the visible walls are rendered. These arent visible in the game view, but nonetheless
time is being taken to render them.

With occlusion culling applied, the distant rooms are not rendered, the overdraw is
much less dense, and the number of triangles and batches being rendered has dropped
dramatically, without any change to how the game view looks.

Ajustando la Eliminacin Selectiva de Oclusin


Con el fin de utilizar la Eliminacin Selectiva de Oclusin, hay un ajuste manual
involucrado. Primero, su nivel de geometra debe ser roto en piezas con un tamao
sensato. Tambin es til disear sus niveles en reas pequeas bien definidas, que
estn ocluidos entre s por grandes objetos tales como paredes, edificios, etc. La idea
aqu es que cada mesh individual sera prendido o apagado basado en la informacin
de oclusin. Entonces si usted tiene un objeto que contiene todos los muebles de su
cuarto, entonces, o todo o nada, del conjunto de muebles ser eliminado. Esto no
tiene casi tanto sentido como hacer que cada pieza de mueble sea su propio mesh,
entonces cada uno individualmente puede ser eliminado basado el punto de vista de
la cmara.
Usted necesita etiquetar todos los objetos de escena que usted quiere que sean parte
de la oclusin a Occluder Staticen el Inspector. La manera ms rpida de hacer esto
es multi-seleccionar los objetos que usted quiere que estn incluidos en calculaciones
de oclusin, y marcarlos como Occluder Static y Occludee Static.

Marcando un Objeto para Oclusin

Cundo debera utilizar Occludee Static? Los objetos transparentes que no ocluyen,
as como objetos pequeos que difcilmente ocluyan otras cosas, deberan ser
marcados como Occludees, pero no Occluders. Esto significa que sern considerados
en oclusin por otros objetos, pero no sern considerados como oclusores(occluders)
ellos mismos, lo que ayudar a reducir la computacin.

La Ventana de La Eliminacin Selectiva de


Oclusin(Occlusion Culling Window)
Para ms operaciones que tratan con la Eliminacin Selectiva de Oclusin(Occlusion
Culling), usted debera utilizar la Occlusion Culling Window (Window->Occlusion
Culling)
En la Ventana de la Eliminacin Selectiva de Oclusin(Occlusion Culling Window), usted
puede trabajar con meshes de oclusin, y Occlusion Areas.
Si usted est en la pestaa Object de la Occlusion Culling Window y tiene un Mesh
Renderer seleccionado en su escena, usted puede modificar las banderas
estticas(Static flags) relevantes.

Occlusion Culling Window para un


Mesh Renderer
Si usted est en la pestaa Object del Occlusion Culling Window y tiene
una Occlusion Area seleccionada, usted puede trabajar con propiedades de
OcclusionArea relevantes (para ms detalles vaya a la seccin Occlusion Area)

Occlusion Culling Window para la


Occlusion Area
TENGA EN CUENTA: Por defecto si usted no crea ningn rea de oclusin, la
eliminacin selectiva de oclusin ser aplicada a toda la escena.
TENGA EN CUENTA: En cualquier momento que su cmara est afuera del rea de
oclusin, la occlusion culling (eliminacin selectiva de oclusin) no ser aplicada. Es
importante ajustar sus reas de Oclusin para cubrir los lugares en dnde la cmara
puede potencialmente estar, pero hacer las reas demasiado grandes incurre en un
precio durante el baking.

Occlusion Culling (Eliminacin Selectiva de


Oclusin) - Bake

La pestaa Bake del inspector


Occlusion Culling
The occlusion culling bake window has a Set Default Parameters button, which allows
you to reset the bake values to Unitys default values. These are good for many typical
scenes, however youll often be able to get better results by adjusting the values to suit
the particular contents of your scene.

Propiedades
Propiedades

Funcin:

Smallest

The size of the smallest object that will be used to hide other

Occluder

objects when doing occlusion culling. Any objects smaller than


this size will never cause objects occluded by them to be culled.
For example, with a value of 5, all objects that are higher or wider
than 5 meters will cause hidden objects behind them to be culled
(not rendered, saving render time). Picking a good value for this
property is a balance between occlusion accuracy and storage
size for the occlusion data.

Smallest Hole

This value represents the smallest gap between geometry


through which the camera is supposed to see. The value
represents the diameter of an object that could fit through the
hole. If your scene has very small cracks through which the
camera should be able to see, the Smallest Hole value must be

Propiedades

Funcin:
smaller than the narrowest dimension of the gap.

Backface

Unitys occlusion uses a data size optimization which reduces

Threshold

unnecessary details by testing backfaces. The default value of


100 is robust and never removes backfaces from the dataset. A
value of 5 would aggressively reduce the data based on locations
with visible backfaces. The idea is that typically, valid camera
positions would not normally see many backfaces - for example,
the view of the underside of a terrain, or the view from within a
solid object that you should not be able to reach. With a
threshold lower than 100, Unity will remove these areas from the
dataset entirely, thereby reducing the data size for the occlusion.

Cuando usted haya terminado de ajustar estos valores haga click en el


botn Bake para comenzar a procesar la informacin de la Eliminacin Selectiva de
Oclusin(Oclussion Culling). Si usted no est satisfecho con los resultados, haga click
en el botn Clear para quitar informacin previamente calculada.

La Eliminacin Selectiva de Oclusin Visualizacin

La pestaa visualization del inspector


Occlusion Culling
Todos los objetos en la escena afectan al tamao del volumen de delimitacin
entonces trate de mantenerlos todos dentro de los lmites visibles de la escena.
Cuando usted est listo de generar la informacin de oclusin, haga click en el
botn Bake, Recuerde en escoger Memory Limit en la pestaa Bake. Valores menores
hace la generacin ms rpida y menos precisa, valores ms altos se van a utilizar para
la calidad de la produccin cercana al lanzamiento.
Tenga en cuenta que el tiempo necesario para crear los datos de oclusin depender
de los niveles de clulas, el tamao de los datos y la calidad que usted ha elegido.
Unity mostrar el estatus de la generacin PVS en la parte inferior de la ventana
principal.
Despus de que el procesamiento es hecho, usted debera ver algunos cubos de color
en el View Area. Las reas coloreadas son regiones que comparten la misma
informacin de oclusin.
Haga click en Clear si usted quiere quitar toda la informacin pre-calculada para la
Eliminacin Selectiva de Oclusin(Occlusion Culling).

Occlusion Area (Slo en Pro)


Para aplicar occlussion culling a objetos en movimiento tienes que crear un Occlusion
Area y luego modificar su tamao para que se ajuste al espacio donde van a estar
ubicados los objetos en movimientos (por supuesto, los objetos en movimiento no

pueden ser marcados como static). Puedes crear Occlusion Areas agregando el
componente Occlusion Areaa un Game Object vaco Component->Rendering>Occlusion Area en el men).
Despus de crear el Occlusion Area, marca el checkbox Is Target Volume para ocluir
objetos en movimiento.

Propiedad:

Funcin:

Size

Define el tamao del Occlusion Area.

Center

Coloca el centro del Occlusion Area. Por defecto, ser 0,0,0 y


estar localizada en el centro de la caja.

Is View

Define en dnde puede estar la cmara. Verifica esto para ocluir

Volume

objetos estticos que estn dentro de este Occlusion Area.

Propiedades de Occlusion Area para objetos en movimiento.

Luego de que hayas agregado el Occlusion Area, necesitas ver cmo se divide la caja
en celdas. Para ver cmo ser calculado el Occlusion Area, selecciona Edit y enciende
el botn View en el Occlusion Culling Preview Panel.

Comprobacin de la oclusin generada


Despus de que tu oclusin est configurada, puedes probarla habilitando Occlusion
Culling (en el Occlusion Culling Preview Panel en el modo Visualize) y moviendo
la Main Camera alrededor de la vista de escena.

El modo Occlusion View en la vista Scene


A medida que muevas la cmara principal alrededor (si ests o no en el modo Play),
vers varios objetos deshabilitndose. Lo principal que tienes que estar viendo aqu es
algn error en los datos de la oclusin. Reconocers un error si ves objetos que de
repente aparecen en la vista a medida que te mueves. Si esto ocurre, las opciones que
tienes para corregir el error son cambiar la resolucin (si ests ejecutando con target
volumes) o mover los objetos alrededor para cubrir el erro. Para depurar problemas
con la oclusin, puedes mover la cmara principal a la posicin problemtica para
revisar sobre el terreno.

Cuando el procesamiento es realizado, debes ver algunos cubos de colores en el View


Area. Los cubos azules representan las divisiones por celdas para los Target Volumes.
Los cubos blancos representan las divisiones por celdas para los View Volumes. Si los
parmetros no estuvieran colocados correctamente, debes ver algunos objetos que no
estn siendo renderizados. Eso ocurre porque estn por fuera del campo de visin de
la cmara o porque ya est siendo ocluido de la vista porque est siendo tapado por
otros objetos.
Despus que la oclusin se complete, si no ves que nada est siendo ocluido en tu
escena, entonces prueba dividiendo tus objetos en pedazos pequeos para que
puedan ser completamente contenidos dentro de las celdas.

Occlusion Portals
In order to create occlusion primitives which are openable and closable at runtime,
Unity uses Occlusion Portals.

Propiedad
:

Funcin:

Open

Indicates if the portal is open (scriptable).

Center

Coloca el centro del Occlusion Area. Por defecto, ser 0,0,0 y estar
localizada en el centro de la caja.

Size

Define el tamao del Occlusion Area.

Вам также может понравиться