Actualizarse a Unity 5.3
Actualizando a Unity 5.0

Actualizándose a Unity 5.2

Global Illumination

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

“Fixed Function” style shaders (the ones that use SetTexture, Lighting On etc.) internally get turned into actual shaders at shader import time now. Upside is that they now work on all platforms (previously did not work on consoles), and with more consistency. Also a lot of code and fixed function related inefficiencies got removed from runtime, making rendering a bit faster. Downside is, creating fixed function shaders at runtime - using new Material(fixedFunctionShaderString) - does not work anymore. That constructor was deprecated in Unity 5.1, and now in 5.2 it actually stopped working for fixed function shaders.

Reflection Probes

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)

  • Reflection probes are sampled during the G-buffer pass, in exactly the same way as in forward rendering. They are written into “emission” buffer together with light probes, lightmaps and emissive material parts.

  • 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 probes ya no son por-objeto; estos son efectivamente por-pixel. Es más fácil tener grandes objetos que están afectados por muchos reflection probes.
    • También los probes tienen una “blend distance” que define qué tanto espacio alrededor del probe se utiliza para blending (mezclar) con otros probes.
    • Los probes más pequeños “anulan” los más grandes.
  • 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.

  • Your custom-written shaders that do deferred shading should mostly continue to work (in the worst case, they will be sampling a black reflection cubemap). If you do some totally crazy stuff in shaders, they might need to be updated to work with deferred shading in 5.2.
    • Si usted está utilizando un custom deferred shading ligh pass shader (con un BRDF personalizado etc.), probablemente quisiera utilizar un deferred reflection shader personalizado también, con el mismo BRDF aplicado al reflection probes.

Shuriken

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);

Gráficos (Otros items)

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.

UI (Interfaz de Usuario)

In 5.2 we have combined the shaders that text and normal UI element rendering users. A side effect of this is that if you specify a manual font texture in a 32bit format then the color channels will be honored. This means that black texture channels will result in black text where previously the text would be white (we only looked at the alpha). If you wish to use custom textures for your fonts do one of the following:

  1. Cambie el formato de importación de la textura a A8. Esto solamente mantendrá el componente alpha y Unity generará el texto como blanco por defecto.
  2. Especifique un color / colores en la textura para que Unity utilice cuando renderice el texto

Multi-jugador

The way the project identification is handled has changed in Unity 5.2, now the project is automatically registered and you do not need to manually enter an ID anywhere. There is a Multiplayer panel in the Services Window (open it with cloud icon in upper right corner) and in there you can find a deep link directly to the project on the website (Go to dashboard). When configured the Multiplayer configuration will appear here.

Actualizarse a Unity 5.3
Actualizando a Unity 5.0