這次來提animator動畫切換,要做的是人物待機、行走和跑步動畫切換,動畫使用UnityChan的2D圖製作,在以下的連結可以找到:
將下載好的package匯入專案中,找好一組待機、行走和跑步的圖片。
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
接著是控制腳本的內容:
using UnityEngine; public class AnimatorControl : MonoBehaviour { private Animator animator; private float speed; public float minSpeed; public float maxSpeed; public float addSpeed; void Start () { animator = GetComponent<Animator>(); speed = 0; } void Update () { if (Input.GetKey(KeyCode.D)) speed = Mathf.MoveTowards(speed, maxSpeed, addSpeed * Time.deltaTime); else speed = Mathf.MoveTowards(speed, minSpeed, addSpeed * Time.deltaTime * 2); animator.SetFloat("speed", speed); } }腳本需要的變數;animator用來設定Sprite上Animator的條件變數,目前速度speed,速度最小值minSpeed和最大值maxSpeed,速度變化量addSpeed。
當按下按鍵時,將speed的值變化至最大值maxSpeed,否則的話將speed的值變化至最小值minSpeed。
由於Update的跟新速度是隨著硬體效能變化,變化量addSpeed需要乘上Time.deltaTime,讓每個frame的變化量相同。
最後將目前速度speed帶入animator下的條件變數。
素材:
IconArchive
沒有留言:
張貼留言