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).
Los tres tipos son explicados en detalle abajo.
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.
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.
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.
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.
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.