Sprites

Contactar con el profesor

Ver Video

Sprites múltiples

Para optimizar el rendimiento de la aplicación, en lugar de cargar una foto por cada imagen, es recomendable cargar una foto que contenga todas las imágenes necesarias.

Todas las fotos que sean introducidas en el panel de proyecto en modo 2D son interpretadas como sprites. Si son introducidas en modo 3D son interpretadas como texturas. Una flechita al lado de la foto indica que es un sprite.

Si quiero usar sprites en un entorno 3D: selecciono la imagen -> Texture Type -> Sprite (2D and UI)

Añadir a escena un con su correspondiente animación.Descargar sprite Tux

  1. Seleccionaremos el sprite en el panel de proyecto.
  2. Seleccionaremos Sprite Mode = multiple en el panel inspector.
  3. Pulsaremos el botón de apply en el panel inspector.
  4. Pulsaremos el botón de Sprite Editor en el panel inspector. A partir de aquí tenemos dos opciones:
    • Hacer rectángulos manualmente de los sprites que quiero seleccionar
    • Hacer un recortado automático, que en el caso de fotografías con transparencia se adaptará a los límites de la foto.
  5. A partir de este momento, podré arrastrar desde el panel de proyecto cada uno de los sprites recortados que he realizado, a la escena.

Cuando seleccionamos varios sprites y los añadimos a la escena, Unity interpreta que estos sprites forman una animación.

Ejercicio: superposición de sprites

Añadir al ejercicio anterior un segundo sprite e invertir el orden de visualización: el sprite que estaba por encima debe ubicarse por debajo.

Para gestionar esto iremos a: Panel inspector -> Sprite Renderer:

  • Sorting Layer: nos permite vincular un objeto a una capa. Los objetos vinculados a las capas que están por encima, se verán también por encima.
  • Order in Layer: Nos permite definir la ubicación del objeto dentro de una capa. Los objetos con números mayores se verán por encima dentro de dicha capaNos permite determinar que sprite se mostrará por encima.

Cargar un sprite dinámicamente a partir de su nombre

Lo mejor es crear dentro de la carpeta Assets una carpeta llamada Resources (con R mayúscula). Ruta es una variable de tipo texto.

paneles [i].GetComponent<Image> ().sprite = Resources.Load<Sprite>(ruta-sin-poner-la-carpeta-Resources-y-sin-ponerle-la-extension-a-la-foto);
← Elige tu propia aventura con Unity3D
Acierta imagen en Unity3D →

Aviso Legal | Política de privacidad