1.角色動畫
給角色添加動畫需要用到的是動畫組件
首先添加一個Animator
然后看到參數里還需要一個Controller
回到根目錄創建一個裝動畫的文件夾 ,里面單獨給Player的動畫也新建個文件夾
然后新建Animator Controller 這里命名為idle(代表player常態動畫
再打開animation面板
拖長就可以看見完整的面板(這里已經吧controller拖入Animator
在這里新建一個動畫
看旁邊的時間軸可以知道unity播放的動畫是幀動畫的形式,所以只要有動畫的幀就可以直接拖入里面
這里在素材包里可以找到動畫的幀
拖進去即可
然后就可以點擊播放在游戲預覽中看到player鬼畜抖動
改變動畫速度可以直接拖動兩端改變時長,或者修改Samples(采樣率
將動畫速度調順眼后就可以繼續了
這個選項是調整是否循環播放動畫,
選中player, 打開Animator面板
發現idle動畫已經被添加上了
然后就可以准備加上跑步的動畫了
2.動畫切換
首先確定需求:不動的時候播放常態動畫,動起來的時候播放跑步動畫
很明顯條件就是動起來
而判斷有沒有動起來的話,恰好之前腳本里的getAxisRaw就不失為一個能用的法子
那么還是先添加跑步動畫吧
導入貼圖前別忘了設置大小,不然就好玩了
然后稍微設置一下就可以准備打開Animator界面開干了
這個run動畫是需要自己拖入添加的
然后就需要為兩個動畫建立聯系(平滑過渡)
右鍵選擇MakeTransition在兩個動畫上鏈接確定關系
選擇過渡箭頭可以發現屬性中的條件列表
這里可以在面板中選擇添加條件
此處添加一個浮點數參數 命名為Running
然后條件列表就可以新建剛才創建的參數
選擇閾值和大於還是小於觸發就搞腚了一個條件
然后點擊setting開始設置動畫的開始時間什么的
結束時間全部去掉,過渡時間也全部去掉
然后根據是否停止跑步將Running這個判斷標志位是大於還是小於處理添加上即可
然后便又要回歸代碼了
先打開PlayerController
想要將參數暴露給animtor調用,就像聲明mPlayer外部組件就可以被設置為player,在代碼中聲明animator變量即可外放給其他組件(動畫組件)
然后就可以在位移中同步設置animator的信息
因為需要浮點數,所以可以直接吧faceDirection套進去,只是要注意左右移動有正負之分
不應該一邊跑一邊不跑吧
所以需要用到數學函數進行絕對值處理
然后就可以進游戲預覽了
就是跳躍還不是很自然,下次再加上跳躍動畫吧