Unity使用UI按鈕控制Animator

如果我們想要在畫面上建立按鈕讓使用者和Unity中的角色互動,其中一個方法是使用UI的按鈕,這些按鈕可以啟動一些想要的程式碼,只要把要被啟動的程式碼放在public屬性的函式中就可以了。

為了建立一個動畫,首先要建立一個新的Animator Controller,方法如下:

建立完畢之後,把想要製作的動畫佈置好,並加上一個名為change的整數Parameters,如下所示:

在Transition中,把條件加上去,如下所示:

之後,只要在程式的函式裡面對change這個parameter進行變更即可,程式碼如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class PlayerController : MonoBehaviour
{
    public Animator PlayerAnimator;

    public void PlayerRun()
    {
        PlayerAnimator.SetInteger("change", 1);
    }

    public void PlayerIdle()
    {
        PlayerAnimator.SetInteger("change", 0);
    }

    public void PlayerWalk()
    {
        PlayerAnimator.SetInteger("change", 2);
    }
}

把這個程式放到想要控制的動畫角色,並把該角色的Animator放到此程式所公開的欄位中,如下所示:

最後就是在畫面上建立按鈕,並把按鈕的OnClick事件指向相對應的函式就可以了,畫面如下:

按鈕的OnClick()事件設定如下:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *