Version: 5.4
Tipos de Reflection Probe
Características Avanzadas de las Sondas de Reflexión (Reflection Probes)

Utilizando Reflection Probes

El componente Reflection Probe se puede agregar a cualquier objeto en la escena pero normalmente va a desear agregar cada probe a un GameObject vacío por separado. El flujo de trabajo habitual es:

  • Cree un nuevo GameObject vacío (menú: GameObject > Create Empty) y luego agregue el componente Reflexión Probe (menú: Component > Rendering > Reflection Probe). Alternativamente, si ya tiene un probe en la escena, probablemente resultará más fácil duplicarlo (menú: Edit > Duplicate).
  • Coloque el nuevo probe en la ubicación deseada y configure su punto de Origin y el tamaño de su zona de efecto.
  • Opcionalmente, configure otras propiedades en el probe para personalizar su comportamiento.
  • Continúe añadiendo probes hasta que se hayan asignado todas las ubicaciones requeridas.

Para ver los reflejos, necesitará al menos un objeto reflectante en la escena. Un simple objeto de prueba se puede crear de la siguiente manera:

  • Agregue un objeto primitivo como una Esfera a la escena (menú: GameObject > 3D Object > Sphere).
  • Cree un nuevo material (menú: Assets > Create > Material) y deje el shader Standard predeterminado en su lugar.
  • Haga que el material reflexivo configure las propiedades Metallic y Smoothness en 1.0.
  • Arrastre el material recién creado en el objeto esfera para asignarlo.

La esfera puede ahora mostrar las reflexiones obtenidas de los probes. Un arreglo simple con un solo probe es suficiente para ver el efecto básico de las reflexiones.

Finalmente, los probes deben ser baked antes de que las reflexiones se hagan visibles. Si tiene activada la opción Auto en la Lighting window(este es el ajuste predeterminado), las reflexiones se actualizarán a medida que posiciona o cambia objetos en la escena, aunque la respuesta no es instantánea. Si desactiva el baking automático, debe hacer clic en el botón Bake en el inspector del Reflection Probe para actualizar los probes. La razón principal para desactivar el bake automático es que el proceso de bake puede tomar bastante tiempo para una escena complicada con muchos probes.

Posicionando Probes

La posición de un probe se determina principalmente por la posición de su GameObject por lo que simplemente puede arrastrar el objeto a la ubicación deseada. Una vez hecho esto, debe configurar la zona de efecto del probe; Se trata de una forma de cuadro alineada con el eje cuyas dimensiones son configuradas por la propiedad Size. Puede configurar los valores de tamaño directamente o habilitar el modo de edición de tamaño en el inspector y arrastrar los lados del cuadro en la vista de escena (consulte la página del componente Reflection Probe para obtener más detalles). Las zonas del conjunto completo de probes deberían cubrir colectivamente todas las áreas de la escena en las que podría pasar un objeto reflectante.

Usted debe colocar los probes cerca de cualquier objeto grande en la escena que se reflejaría notablemente. Las áreas alrededor de los centros y esquinas de las paredes son buenas ubicaciones candidatas para los probes. Los objetos más pequeños pueden requerir probes cercanos si tienen un efecto visual fuerte. Por ejemplo, es probable que desee que las llamas de una fogata se reflejen, incluso si el objeto en sí es pequeño y de otra manera insignificante.

Cuando tiene probes en todos los lugares apropiados, necesita definir la zona de efecto para cada probes, lo que puede hacer con la propiedad Size como se mencionó anteriormente. Una pared puede necesitar sólo una zona de probe única a lo largo de la mayor parte de su longitud (al menos si tiene un aspecto bastante uniforme), pero la zona podría ser relativamente estrecha en la dirección perpendicular a la pared; Esto implicaría que la pared sólo es reflejada por objetos que están bastante cerca de ella. Un espacio abierto cuya apariencia varía poco de un lugar a otro a menudo puede ser cubierto por un solo probe. Tenga en cuenta que la zona de un probe está alineada con los ejes principales del mundo (X, Y y Z) y no se puede girar. Esto significa que a veces puede ser necesario un grupo de probes a lo largo de una pared uniforme si no está alineada con el eje.

Por defecto, la zona de efecto de un probe está centrada en su punto de vista, pero puede que ésta no sea la posición ideal para capturar el reflection cubemap. Por ejemplo, la zona del probe para una pared muy alta podría extenderse a cierta distancia de la pared, pero es posible que desee que la reflexión se capture desde un punto cercano a ella en lugar del centro de la zona. Opcionalmente puede agregar un desplazamiento al punto de vista utilizando la propiedad Probe Origin (es decir, el origen es la posición en el espacio local del GameObject que se genera desde la vista de cubemap del probe). Usando esto, usted puede fácilmente colocar el punto de vista en cualquier lugar dentro de la zona de efecto o de hecho fuera de la zona por completo.

Sobreponiendo Zonas Probe

Sería muy difícil posicionar las zonas de los reflection probes sin que se superpongan y, afortunadamente, no es necesario hacerlo. Sin embargo, esto deja la cuestión de elegir qué sonda utilizar en las áreas de superposición. De forma predeterminada, Unity calcula la intersección entre la caja delimitadora del objeto reflectante y cada una de las zonas probe superpuestas; La zona que tiene el mayor volumen de intersección con el cuadro delimitador es la que será seleccionada.

Un Probe A es seleccionado mientras su intersección con el objeto es más grande
Un Probe A es seleccionado mientras su intersección con el objeto es más grande

Puede modificar el cálculo utilizando las propiedades de Importancia de los probes. Los probes con un valor de mayor importancia tienen prioridad sobre las de menor importancia dentro de las zonas de superposición. Esto es útil, digamos, si usted tiene una pequeña zona probe que está contenida completamente dentro de una zona más grande (es decir, la intersección de la caja delimitadora del carácter con la zona de inclusión siempre podría ser más grande y por lo que la pequeña zona nunca se utilizaría).

Blending

Si su plataforma de destino utiliza Shader Model 3 o uno mejor, tiene la opción de blending entre probes en las áreas donde se superponen sus zonas. Con la mezcla habilitada, Unity poco a poco desvanece el cubemap de un probe mientras se desvanece en la otra como el objeto reflexivo que pasa de una zona a la otra. Esta transición gradual evita la situación en la que un objeto distintivo repentinamente “aparece” en la reflexión cuando un objeto cruza el límite de la zona.

El blending (mezcla) se controla utilizando la propiedad Reflection Probes del componente Mesh Renderer. Hay dos opciones de blending (mezcla) que están disponibles:

  • Los Blend Probes mezclan solo los probes adyacentes e ignora el skybox. Usted debería utilizar esto para objetos que son de “adentro” o están en partes cubiertas de la escena (eg, cuevas y túneles) ya que el cielo no está visible desde estos lugares y nunca deberían aparecer en los reflejos.
  • Blend Probes y Skybox funcionan como Blend Probes pero también permiten que el skybox sea utilizado en el blending (mezcla). Usted debería utilizar esta opciones para objetos en el aire abierto, dónde el cielo siempre estaría visible.

When probes have equal Importance values, the blending weight for a given probe zone is calculated by dividing its intersection (volume) with the object’s bounding box by the sum of all probes’ intersections with the box. For example, if the box intersects probe A’s zone by 1.0 cubic units and intersects probe B’s zone by 2.0 cubic units then the blending values will be:

  • Probe A: 1.0 / (1.0 + 2.0) = 0.33
  • Probe B: 2.0 / (1.0 + 2.0) = 0.67

In other words, the blend will incorporate 33% of probe A’s reflection and 67% of probe B’s reflection.

The calculation must be handled slightly differently in the case where one probe is entirely contained within the other, since the inner zone overlaps entirely with the outer. If the object’s bounding box is entirely within the inner zone then that zone’s blending weight is 1.0 (ie, the outer zone is not used at all). When the object is partially outside the inner zone, the intersection volume of its bounding box with the inner zone is divided by the total volume of the box. For example, if the intersection volume is 1.0 cubic units and the bounding box’s volume is 4.0 cubic units, then the blending weight of the inner probe will be 1.0 / 4.0 = 0.25. This value is then subtracted from 1.0 to get the weight for the outer probe which in this case will be 0.75.

When one probe involved in the blend has a higher Importance value than another, the more important probe overrides the other in the usual way.

Tipos de Reflection Probe
Características Avanzadas de las Sondas de Reflexión (Reflection Probes)