在Unity3D中使用精灵动画引擎的两种方法
本文将介绍两种简单快捷的方法来制作游戏角色动画。
1、动画和动画控制器
设置场景
添加用于此场景中不同动画的精灵文件夹
创建一个2D 精灵对象,并把空闲动画的第一个精灵分配给它
创建名为AnimationWithScripting的脚本并将其添加到主对象上
现在,按照以下步骤创建不同的动画
(1)把Idle Animation文件夹中所有的精灵拖动到我们的主对象上,一个新动画就做好啦。然后Unity会把这个动画名称命名为Idle。
(2)把Kick Animation文件夹中所有的精灵拖动到我们的主对象上,一个新动画就做好啦。Unity会把这个动画名称命名为Kick。
(3)把Walking Animation文件夹中所有的精灵拖动到我们的主对象上,一个新动画就又做好啦。Unity会把这个动画名称命名为Walk。希这样三个动画就准备好了。
(4)动画控制器会自动添加到主对象中。
(5)现在根据下图设置过渡和触发。
以下转换中要设置的触发器:
脚本代码如下:
1. ScriptToAnimate.cs
2. using UnityEngine;
3. using System.Collections;
4. public class ScriptToAnimate : MonoBehaviour
5. {
6. public Animator animator;
7. void Update()
8. {
9. if (Input.GetKeyDown(KeyCode.I))
10. {
11. animator.SetTrigger("Idle");
12. }
13. if (Input.GetKeyDown(KeyCode.K))
14. {
15. animator.SetTrigger("Kick");
16. }
17. if (Input.GetKeyDown(KeyCode.W))
18. {
19. animator.SetTrigger("Walk");
20. }
21. }
22. }
复制代码
脚本中内容如下:
现在回到Unity,选择播放场景,空闲动画处于默认播放状态。分别按下I,K和W键,预览动画。
看到你的角色了吗?
耶!你的角色活起来啦!你的角色现在不仅会呼吸,还会跑会跳啦!
2、使用脚本做动画
设置好场景
添加用于此场景中不同动画的精灵文件夹
创建一个2D 精灵对象,二手游戏账号买号平台并把空闲动画的第一个精灵分配给它
创建名为AnimationWithScripting的脚本,把它连接到主对象上。
脚本代码如下:
1. AnimationWithScripting.cs
2. using UnityEngine;
3. using System.Collections;
4. public class AnimationWithScripting : MonoBehaviour
5. {
6. public SpriteRenderer spriteRenderer;
7. public Sprite[] walk;
8. public Sprite[] idle;
9. public Sprite[] kick;
10. void Start()
11. {
12. StartCoroutine(Idle());
13. }
14. void Update()
15. {
16. if (Input.GetKeyDown(KeyCode.I))
17. {
18. StopAllCoroutines();
19. StartCoroutine(Idle());
20. }
21. if (Input.GetKeyDown(KeyCode.K))
22. {
23. StopAllCoroutines();
24. StartCoroutine(Kick());
25. }
26. if (Input.GetKeyDown(KeyCode.W))
27. {
28. StopAllCoroutines();
29. StartCoroutine(Walk());
30. }
31. }
32. IEnumerator Idle()
33. {
34. int i;
35. i = 0;
36. while (i < idle.Length)
37. {
38. spriteRenderer.sprite = idle[i];
39. i++;
40. yield return new WaitForSeconds(0.07f);
41. yield return 0;
42.
43. }
44. StartCoroutine(Idle());
45. }
46. IEnumerator Walk()
47. {
48. int i;
49. i = 0;
50. while (i < walk.Length)
51. {
52. spriteRenderer.sprite = walk[i];
53. i++;
54. yield return new WaitForSeconds(0.07f);
55. yield return 0;
56. }
57. StartCoroutine(Walk());
58. }
59.
60. IEnumerator Kick()
61. {
62. int i;
63. i = 0;
64. while (i < kick.Length)
65. {
66. spriteRenderer.sprite = kick[i];
67. i++;
68. yield return new WaitForSeconds(0.07f);
69. yield return 0;
70.
71. }
72. StartCoroutine(Kick());
73. }
74. }
复制代码
5. 在Unity检查器的后续列表中添加步行、踢和空闲状态的精灵
脚本中内容如下:
现在回到Unity,选择播放场景,空闲动画处于默认播放状态。现在分别按下I,K和W键,预览动画。
看到你的角色了吗?
对!你的角色又活起来啦!又活蹦乱跳啦!有没有很开心呀?
等等,究竟这两个方法哪个比较好?
emmm,在分析器中检查时,这两种方法的运行方式是相同的。
所以,你完全可以根据自己的需要来选择其中一种方法。