Estoy trabajando en Unity, y descubro que el animador no funciona para lo que intento hacer, en mi juego 2D. Quiero construir una animación específica, usando hojas de sprites, y poder reutilizar la misma animación con otros sprites que tengan el mismo tamaño y dimensiones por celdas. Después de un poco de investigación, encuentro que es imposible.
En cambio, estoy tratando de crear mi propio script de animación, pero no entiendo cómo decirle a Unity que dibuje solo una sección del sprite. Algo así como en XNA, donde podría renderizar solo un rectángulo específico de un sprite utilizando las coordenadas de inicio y fin.
¿Cómo dibujo manualmente una parte de una hoja de sprite?
Respuestas:
Creo que puede haber un enfoque más simple en el que puede hacer esto, y aún usar Unity Mecanim para la animación.
Pasos:-
1) Puede asignar programáticamente sprites 2D de textura desde la imagen, y como es una cuadrícula, no será mucho más difícil hacerlo. En la siguiente respuesta, el usuario ha creado su propia rebanadora de sprites y la ha guardado en el directorio (opcional, de lo contrario, guárdela en una variable). No necesita todo el código, simplemente verifique la función GetSprites () y obtendrá la idea :)
http://answers.unity3d.com/questions/576799/coding-my-own-auto-slicer-getting-islands-of-pixel.html
2) Una vez que puedas hacer eso, mantén una Matriz de sprites, que obtuviste del paso 1.
3) Ahora necesita crear un archivo de animación de estos sprites que pueda conectarse a mecanim. Para ello, necesita la función Establecer curva de Unity (consulte el enlace que se proporciona a continuación). Una vez que tengas el clip, depende de ti guardarlo para usarlo en el futuro o simplemente tenerlo en una variable solo para la instancia actual del juego.
http://docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html
Espero que esto resuelva tu duda :)
fuente