1、動畫組件老的是Animations
- 動畫視頻
- Play Automatically 是否自動播放
- Animate Physics 驅動方式,勾選后是物理驅動
- Culling Type 剔除方式 默認總是動畫化就會一直執行下去,第二個是基于渲染播放(離開鏡頭后不執行),
如果沒有動畫的話,可以自己做,點擊窗口動畫進入動畫面板
- 選中物體,創建動畫 動畫就是屬性的改變
- 添加屬性,屬性是物體的組件
- 先擇幀數,修改屬性,就會形成動畫
可以通過代碼播放
// Update is called once per frame@Unity 消息10 個引用void Update()
if (input.GetMouseButtonDown(0)){
GetComponent<Animation>().Play("right");
}
2、新版的Animator
- 創建一個物體
- 掛在組件
- 創建動畫控制器,并拖入組件
- 做動畫,如老版本,窗口創建動畫,新版動畫參數與老版本不同
- 新建動畫不在動畫控制器中,如果設置默認的話需要點開控制器選擇;
代碼示例和老版本一樣
// Update is called once per frame@Unity 消息10 個引用void Update()
if (input.GetMouseButtonDown(0)){
GetComponent<Animation>().Play("right");
}
3、角色動畫
下載的模型,一般都有FBX模型文件,一般在Animations或者Animator文件夾中,模型文件中有動畫效果
- 創建一個物體
- 掛在組件
- 創建動畫控制器,并拖入組件
- 打開控制器頁面后,把模型文件拖入控制器頁面
多個動作切換
控制器頁面選擇動畫a創建過渡鏈接動畫b,會自動切換動作,過度可以是雙向的
控制過度
控制器頁面選擇參數,
trigger 觸發設置
bool 布爾設置
int 數值設置
Foloatt 浮點設置
創建腳本
if (input.GetKeyDown(KeyCode.F)){//觸發pickup參數GetComponent<Animator>0.SetTrigger("pickup");
}
有延遲的話,取消退出時間就好了,還有過度時間settings
4、按鍵讓角色動起來
動畫+位移+旋轉朝向
這里描述一下位移等
void Start(){animator = GetComponent<Animator>();
}
void Update(){//水平軸float horizontal = Input.GetAxis("Horizontal”);//垂直軸float vertical = Input.GetAxis("Vertical");//朝向的向量Vector3 dir = new Vector3(horizontal, 0, vertical)//當用戶按下了方向鍵if (dir != Vector3.zero){//面向向量transform.rotation = Quaternion.LookRotation(dir);//播放跑步動畫animator.SetBool("lsRun", true);//朝向前方移動transform.Translate(Vector3.forward * 2* Time.deltaTime);} else{//播放站立動畫animator.SetBool("lsRun", false);}}
5、如果動畫不理想的話
**Rig:**動畫類型:當然人性的動畫可以通用,可以導入其他人形動畫;
Animation:
剪輯可以創建新的動畫
時間軸是動畫長度
修改后需要點擊應用
循環不用解釋吧
變換旋轉:選擇烘焙就會把動畫中旋轉的動畫取消掉
變換位置y軸:選擇烘焙就會把動畫中上下的動畫取消掉
變換位置其他的同理
曲線:根據動畫時間變換曲線的數值,火焰大小特效等使用,代碼獲取需要添加動畫參數;下面是示例
animator.GetFloat("lsRun");
事件:可以設置動畫的某個時刻發生,如:射擊等
void letFoot(){Debug.Log("時間1時執行");
}
void rightFoot(){Debug.Log("時間二時執行");
}
6、混合動畫
- 創建狀態,混合
- 雙擊可以進入混合頁面
- 創建一個float 參數,根據這個參數執行混合
- 混合類型選擇1d,就會根據一個參數執行
- 添加動畫: 第 一 個 選 項 就 是 添 加 動 畫 , 第 二 個 是 嵌 套 其 他 混 合 器
7、動畫太多,可以分層
下圖用他創建過度后,然和狀態都能執行他過度的動畫
下圖創建子的混合器,點擊進去后,可以編輯子的混合器,新的混合器會多一個圖層
i
子圖層為了分類動畫,可以點加號創建新的圖層、圖層有權重;
但是添加圖層會遮住權重小的圖層,解決方案就是遮罩,那么創建遮罩
創建后可以設置人形遮罩,綠色表示需要遮罩部分,紅色是不遮罩