El empaquetamiento UV para Baked UVs que no llenan el espacio 0–1 (menor o mayor) se ha arreglado. Hace que la resolución asignada a cada objeto funcione mucho más fiables si el unwrap del objeto no está llenando el espacio 0–1 y también cuando sus limites no son cuadrados. Por favor revisar la resolución de sus instancias para baked lightmaps.
El Stripping de shader variant se arreglo para lightmaps en tiempo real. Ahora cada variant de modo lightmap (non-directional, directional y directional specular) se puede recoger para baked y realtime GI de manera separada. Por favor revisar sus configuraciones si previamente ha seleccionado una variant específica a un lightmap mode en las Graphics Settings para hacer que ese modo funcione para realtime lightmaps.
La escala de rebote ha cambiado de un valor arbitrario de 0.7 a 1.0. El rebote es producto de la escala albedo y bounce. Los artistas deberían configurar los valores de albedo de vida real (el no-metálico más brillante es la nieve con 0.9). Esta es nuestra referencia de PBS http://forum.unity3d.com/threads/official–5–0-pbr-calibration-charts.289416/
Ya que debería ser el creador de una albedo físicamente correcto, tiene sentido para nosotros configurar la escala cerca a 1. Ya hemos clamp valores albedo en un meta pass, por lo que la escala de bounce (rebote) debe ser justamente 1.0f.
Por favor tenga en cuenta que si escoge configurar albedo a 1.0 en una meta pass personalizado sin clamping, entonces la escena se puede ver como si estuviera explotando con luz.
Shaders del estilo “Fixed Function” (función fija) (los que utilizan SetTexture, Lighting On etc.) internamente se convierten en shaders en el tiempo de importación del shader. La ventaja es que ahora funcionan en todas las plataformas (previamente no funcionaban en consolas), y con más consistencias. También, mucho del código e ineficiencias relacionadas a fixed function fueron quitadas del runtime, haciendo que el rendering sea un poco más rápido. Lo malo es que, crear fixed function shaders en tiempo de ejecución - utilizando new Material(fixedFunctionShaderString)
- no funciona ya. Ese constructor se convirtió obsoleto en Unity 5.1 y ahora en 5.2 paro de funcionar para fixed function shaders.
Hemos cambiado como los Reflection Probes ahora son renderizados cuando se utiliza Deferred Shading, con el fin de lograr efectos “screen space reflections” (reflejos en el espacio de pantalla) en el futuro. La versión corta es: en deferred shading, los reflection probes son por pixel en vez de ser por objeto ahora.
Comparación del comportamiento actual (reflection probes por objeto; en algunos casos difícil de evitar duras transiciones de reflexión entre objetos grandes) y reflection probes por pixel (las transiciones son mucho menos visibles; y suceden en los limites del probe y no en los limites del objeto):
Antes (5.0 y 5.1)
Los Reflection Probes son muestrados durante el pase del G-buffer, en la manera exacta como forward rendering. Están escritos al “emission” buffer conjunto con light probes, lightmaps y partes de materiales emisores.
Esto significa que usted obtiene un (o dos, cuando el probe blending está prendido) reflection probes por objeto.
Las reflexiones que están juntas con emission/lightmaps en el mismo buffer significa que hacer SSRR “adecuadamente” es difícil. SSRR proporciona reflejos por sí ( y se fall back a reflection probes cuando no puede), pero no sabe qué partes del color del “emission buffer” viene del reflection probes.
Ahora (5.2)
Cuando utilice deferred shading, no muestree reflection probes durante el G-buffer pass.
Más bien, después del que G-buffer haya terminado, realice un pass separado de “deferred reflections” que dibuja reflection probes como cajas en el espacio de pantalla; que coloca la información output de reflejo en un render target separado.
[Futuro: Efecto SSRR utilizará este reflections buffer separado]
Combina el reflections buffer & emission buffer al final.
Qué significa esto? (todo lo de abajo solamente afecta deferred shading)
Reflection probe Renderer flags (probe blending, etc.) se ignoran; todo es afectado por reflection probes de la misma manera (ya que sucede en screenspace (espacio de la pantalla) ahora). Esto es muy similar a cómo la flag de “recibir sombras” se ignora en deferred shading.
Las partículas ahora son generadas en el espacio del mundo, que podrían requerir de una actualización a cualquier vertex shader personalizado. Este cambio fue hecho con el fin de permitir la re-utilización de los buffers de la partícula entre cada ojo para VR.
Las Mesh Particles ahora soportan el módulo de Texture Sheet Animation. Vale la pena revisar que sus efectos existentes no tienen esto habilitado por accidente, de lo contrario podría ver un cambio en el comportamiento.
El parámetro Dampen en el módulo de Limit Velocity over Lifetime solía tener una efecto más fuerte en framerates más altos. Esto se ha arreglado, y si su juego está apuntando 30fps, sus efectos viejos no se afectarían por este cambio. Sin embargo, si su juego apunta a un FPS diferentes, usted puede actualizar el valor Dampen utilizando esta formula, para asegurarse que su efecto no cambio en 5.2:
newDampen = 1.0f - pow(1.0f - oldDampen, targetFPS / 30.0f);
Material.CopyPropertiesFromMaterial
ahora también copia las palabras clave shader y cola de render. Si usted dependía que no fueran copiadas, tendrá que cambiar su código.
Los materiales SpeedTree ahora necesitan re-generarse ya que hay cambios a los shaders integrados de SpeedTree. Debería hacerlo seleccionando los prefabs SpeedTree en su proyecto y oprimiendo el botón “Apply & Generate Materials”. Por favor tenga en cuenta que al hacer esto, sus personalizaciones a los assets de material generados (si alguno) serán sobre-escritos.
En 5.2 hemos combinando los shaders de texto y UI de elementos de rendering de usuarios. Un efecto secundario de esto es que si usted específica una fuente de textura manual en un formato 32bit entonces los canales de color serán honrados. Esto significa que los canales de textura oscuros resultarán en un texto negro dónde el texto previo debería ser blanco (solamente miramos el alpha). Si desea utilizar unas texturas personalizadas de sus fuentes haga una cosa de las siguientes:
La manera que la identificación del proyecto se maneja ha cambiado en Unity 5.2, ahora el proyecto es registrado automáticamente y usted no necesita ingresar de manera manual un ID dónde sea. Hay un panel Multi-jugador en la ventana de Services (ábralo con el icono de la nube en la esquina superior derecha) y ahí usted puede encontrar un enlace profundo directamente al proyecto en la página web (Go to dashboard). Cuando haya sido configurado, la configuración Multiplayer aparecerá aquí.