前言
人物影片的配置是unity重要的一部分,今天來做的是入門級的人物影片配置
一、首先匯入模型影片
1,人物模型匯入后,我們會發現里面會有一些影片和人物骨骼:
如下圖所示:

2,點擊這個模型,就可以對模型的相關屬性在inspector面板進行配置:
其中關于影片的是Rig和Animation,對于Rig需要選擇的Animation Type,因為我們配置的是人物影片,所以選擇的是Humanoid,還有其他的選項可以選擇
如圖:

而對于Animation選項的面板的主要功能為:

Animation中比較常用的就是 Loop Time,勾選上后可以讓影片重復播放,當我們配置人物走動、跑這些連續動作時就可以勾選,而跳躍這種動作可以選擇不勾選

二、影片器控制器的創建
1.創建一個影片器控制器
直接在資源里面右鍵(或導航欄資源上單機)里的創建一個影片器控制器即可,命名后點擊就會打開Animator面板,就可以對于影片進行配置等操作:

2,配置一個影片
2.1、配置影片,首先需要創建狀態,按下圖在空白處右鍵即可創建一個空的狀態,然后再Inspector面板上面就可以看到屬性,可以進行詳細的配置:

2.2、接下來是另外的元素,連接影片狀態轉換的線 ,右擊影片狀態就會出現創建線的選項,同時在左上角的Paramerers下的加號里面有四種選項來控制:
1,float 和 int可以使用數字大小來控制影片
2,bool型別控制可以連續觸發事件
3,Trigger只能一次性觸發事件
·

3,為人物添加影片
選中人物,為人物添加Animator組件,并將剛剛創建的影片器控制器和骨骼拖入,

三,使用腳本呼叫四種切換狀態來控制
首先在腳本中獲取Animator:
private Animator anim;
void Start()
{
anim = player.GetComponent<Animator>(); //player為掛在animator組件的人物
}
然后使用四種控制狀態適時的控制影片的轉換:
anim.SetTrigger("one"); //one為Trigger的名字
anim.SetBool("New Bool",false); //bool型別的控制
anim.SetInteger("demo", 12); //int型別
四,實體
描述:點擊一系列按鈕來控制人物影片的播放
影片器控制器:

場景:

代碼:
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Buttonone : MonoBehaviour
{
//所有Button的父節點
public Transform btnParent;
//private Button[] btns;
private Button[] btns;
private Animator anim;
//有Animator組件的人物
public GameObject player;
void Start()
{
anim = player.GetComponent<Animator>();
//初始化陣列長度
btns = new Button[btnParent.childCount];
//便利父節點下所有的按鈕
for (int i = 0; i < btns.Length; i++)
{
//賦值按鈕
btns[i] = btnParent.GetChild(i).GetComponent<Button>();
//為按鈕添加點擊事件
btns[i].onClick.AddListener(nClick1);
}
}
/// <summary>
/// 按鈕點擊事件
/// </summary>
private void nClick1()
{
//按下時 判斷當前點擊的按鈕的名字
string btnName = EventSystem.current.currentSelectedGameObject.GetComponent<Button>().name;
if(btnName=="Button")
{
anim.SetTrigger("one");
}
if (btnName == "Button (1)")
{
anim.SetTrigger("two");
}
if (btnName == "Button (2)")
{
anim.SetTrigger("three");
}
if (btnName == "Button (3)")
{
anim.SetTrigger("four");
}
if (btnName == "Button (4)")
{
anim.SetTrigger("five");
}
if (btnName == "Button (5)")
{
anim.SetTrigger("six");
}
}
}
運行結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/189375.html
標籤:其他
