Je travaille dans Unity, et je constate que l'animateur ne fonctionne pas pour ce que j'essaie de faire, dans mon jeu 2D. Je veux créer une animation spécifique, en utilisant des feuilles de sprites, et pouvoir réutiliser la même animation avec d'autres sprites qui ont la même taille et les mêmes dimensions par cellules. Après quelques recherches, je trouve que c'est impossible.
Au lieu de cela, j'essaie de créer mon propre script d'animation, mais je ne comprends pas comment dire à Unity de dessiner uniquement une section de l'image-objet. Quelque chose comme dans XNA, où vous pouvez rendre uniquement un rectangle spécifique d'un sprite en utilisant les coordonnées de début et de fin.
Comment dessiner manuellement une partie d'une feuille de sprite?
Réponses:
Je pense qu'il peut y avoir une approche plus simple dans laquelle vous pouvez le faire, et toujours utiliser Unity Mecanim pour l'animation.
Pas:-
1) Vous pouvez assigner par programme des sprites 2D de texture à partir de l'image, et comme il s'agit d'une grille, il ne sera pas très difficile de le faire. Dans la réponse suivante, l'utilisateur a créé sa propre tranche de sprite et enregistré dans le répertoire (facultatif sinon enregistrez-le dans une variable). Vous n'avez pas besoin de tout le code, vérifiez simplement la fonction GetSprites () et vous aurez l'idée :)
http://answers.unity3d.com/questions/576799/coding-my-own-auto-slicer-getting-islands-of-pixel.html
2) Une fois que vous êtes en mesure de le faire, maintenez un tableau de sprites, que vous avez obtenu à l'étape 1.
3) Maintenant, vous devez créer un fichier anim de ces sprites qui peut être connecté à Mecanim. Pour cela, vous avez besoin de la fonction Set Curve d'Unity (consultez le lien ci-dessous). Une fois que vous avez le clip, vous pouvez l'enregistrer pour une utilisation future ou simplement l'avoir dans une variable pour l'instance de jeu actuelle uniquement.
http://docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html
J'espère que cela résout votre doute :)
la source