Version: 2019.2
Reflection probes
Utilizando Reflection Probes

Tipos de Reflection Probe

Los Reflection Probes vienen en tres tipos básicos como se escogió por la propiedad Type en el inspector (ver la página de referencia del componente para más detalles).

  • Baked probes almacenan un reflection cubemap generado (“baked”) dentro del editor. Usted pude activar/desactivar el baking al oprimir el botón Bake al final del inspector del Reflection Probe o el botón Build en la ventana de Lighting. Si usted tiene Auto habilitado en la ventana de Lighting (iluminación) entonces los baked probes serán actualizados automáticamente a medida que usted coloque objetos en la Vista de Escena. El reflejo de un baked probe puede solamente mostrar objetos marcados como Reflection Probe Static en el inspector. Esto le indica a Unity que los objetos no se moverán en tiempo de ejecución.
  • Realtime probes crean el cubemap en tiempo de ejecución en el player en vez del editor. Esto significa que los reflejos no están limitados a objetos estáticos y se pueden actualizar en tiempo real para mostrar los cambios en la escena. No obstante, esto toma un tiempo considerable de procesamiento para actualizar la vista de un probe por lo que es sabio manejar las actualizaciones con cuidado. Unity le permite a usted activar/desactivar las actualizaciones desde un script para que usted pueda controlar exactamente cuando aparezcan. También, hay una opción para aplicar el timeslicing a las actualizaciones de un probe para que tomen lugar gradualmente sobre unos pocos frames.
  • Un tipo Custom probe también está disponible. Estos probes le permiten a usted bake la vista en el editor, al igual que los Baked probes, pero usted puede también proporcionar un cubemap personalizado para los reflejos. Los probes personalizados no se pueden actualizar en tiempo de ejecución.

Los tres tipos son explicados en detalle abajo.

Baked y Custom Reflection Probes

Un Baked reflection probe es uno cuyo reflection cubemap está capturado en el editor de Unity y almacenado para su uso sub-susequente en el player (ver Introduction a los Reflection Probes para más información). Una vez el proceso de captura haya completado, los reflejos son “congelados” por lo que los baked probes no pueden reaccionar a cambios en la escena en tiempo de ejecución causados por objetos en movimiento. No obstante, estos vienen con una sobrecarga de procesamiento mucho menor que los Realtime probes (que sí reaccionan a los cambios) y son aceptables por muchas razones. Por ejemplo, si solamente hay un objeto reflectante moviéndose entonces solamente necesita reflejar sus alrededores estáticos.

Utilizando Baked probes

Usted debería configurar la propiedad Type del probe a Baked o Custom con el fin de hacer que se comporte como un baked probe (mirar abajo para características adicionales ofrecidas por probes Custom (personalizados) ).

Los reflejos capturados por los baked probes solamente se pueden incluir en los objetos de escena marcados como Reflection Probe Static (utilizando el menú Static en la parte superior izquierdo del panel del inspector para todos los objetos). Usted puede refinir más los objetos que son incluidos en el reflection cubemap utilizando las propiedades de Culling Mask y Clipping Planes, que funcionan de la misma manera que para la Camera (el probe es esencialmente como una cámara que es girada para ver cada una de las seis caras del cubemap).

Cuando la opción Auto está prendida (desde la ventana de Lighting, los reflejos baked serán actualizados automáticamente a medida que usted posicione objetos en la escena. Si usted no está haciendo uso del auto baking entonces necesitará oprimir el botón Bake en el inspector del Reflection Probe para actualizar los probes. (El botón Build en la ventana de Lighting también activará que los probes se actualicen.)

Ya sea si haya utilizado un baking automático o manual, el proceso de bake tomará lugar asincrónicamente mientras usted continúa trabajando en el editor. No obstante, si usted mueve cualquier objeto estático, cambie sus materiales o de lo contrario altere su apariencia visual haciendo que el proceso de baking se re-inicie.

Probes personalizados

Por defecto, los probes personalizados funcionan de la misma manera que los Baked probes, pero tienen opciones adicionales que cambian este comportamiento.

La propiedad Dynamic Objects en el inspector del probe personalizado permitiéndole a los objetos que no son marcados como Reflection Probe Static en ser incluidos en el reflection cubemap. Tenga en cuenta, sin embargo, que las posiciones de estos objetos todavía están “congeladas” en el reflejo en el momento del baking.

La propiedad Cubemap le permite a usted asignar su propio cubemap al probe y por lo tanto hacerlo completamente independiente de lo que puede “ver” desde su punto de vista. Usted puede utilizar esto, digamos, para configurar un skybox o un cubemap generado de su app de modelado de 3D como la fuente de los reflejos.

Realtime Probes (Probes en tiempo real)

Los baked probes son útiles por muchas razones y tienen un buen rendimiento en tiempo de ejecución, pero estos tienen la des-ventaja de no actualizarse en vivo dentro del player. Esto significa que los objetos se pueden mover alrededor de la escena sin que sus reflejos se muevan con ellas. En casos dónde esto es muy limitante, usted puede utilizar Realtime probes, que actualizan el reflection cubemap en tiempo de ejecución. Este efecto viene con una sobre-carga alta de procesamiento pero ofrece un realismo mayor.

Utilizando Realtime probes

Para habilitar que un probe se actualiza en tiempo de ejecución, usted debería configurar su propiedad Type a Realtime en el inspector del Reflection Probe. Usted no necesita marcar los objetos como Reflection Probe Static para capturar sus reflejos (como lo haría con un baked probe). Sin embargo, usted puede excluir selectivamente los objetos del reflection cubemap utilizando las propiedades Culling Mask y Clipping Planes, que funcionan de la misma manera que la Camera(el probe es esencialmente como una cámara que gira para ver cada una de las seis caras del cubemap).

En el editor, los realtime probes tienen el mismo workflow que los baked probes, aunque estos tiendan a renderizarse más rápido. Cuando la opción Auto esté prendida (de la ventana de Lighting,los reflejos se actualizarán automáticamente a medida que usted posiciona los objetos en la escena. Si usted no está haciendo uso del auto baking entonces usted necesitará oprimir el botón Bake en el inspector del Reflection Probe para actualizar los probes. (El botón Build en la ventana de Lighting también activará que los probes se actualicen.)

Ya sea si haya utilizado un baking automático o manual, el proceso de bake tomará lugar asincrónicamente mientras usted continúa trabajando en el editor. No obstante, si usted mueve cualquier objeto estático, cambie sus materiales o de lo contrario altere su apariencia visual haciendo que el proceso de baking se re-inicie.

Tenga en cuenta: Actualmente, los realtime probes solamente actualizarán sus reflejos en la Scene View cuando los objetos Reflection Probe Static se mueven o cambian su apariencia. Esto significa que mover objetos dinámicos no causará una actualización incluso si esos objetos aparezcan en su reflejo. Usted debería escoger la opción Bake Reflection Probes del botón popup Build en la ventana de Lighting para actualizar los reflejos cuando un objeto dinámico cambie.

Reflection probes
Utilizando Reflection Probes
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961