我正在使用C#,我目前正在構建第三人稱視角遊戲。我有一個在幀的動畫一個3D人物模型,所以我必須通過幀削減動畫如何管理動畫?
的問題是我現在有5個動畫(空閒,跑步,走路,打孔,跳躍),這是我的代碼
void Update() {
if (Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0){
//play run animation
} else {
if (motion.x != 0 || motion.z != 0){
motion.x = 0;
motion.z = 0;
}
//play idle anim
}
if (Input.GetKeyDown(KeyCode.Space) && controller.isGrounded){
//play jump anim
}
if (Input.GetKeyDown(KeyCode.P)){
//play punch anim
}
if (!controller.isGrounded){
//play jump anim
}
vertVelo -= gravity * Time.deltaTime;
motion.y = vertVelo;
this.controller.Move(motion * Time.deltaTime);
}
當我按P鍵進行字符打擊時會出現問題。看起來更新函數中的空閒動畫正在被調用,所以拳擊動畫沒有時間播放。
那麼,有什麼解決方案?有沒有動畫管理技術,或者我應該使用延遲?
這個if語句沒用:if(motion.x!= 0 || motion.z!= 0)。你可以總是將motion.x和motion.z設置爲0 – Toad 2013-02-15 18:41:19