Unity實現(xiàn)人物平滑轉身
更新時間:2020年01月20日 16:34:57 作者:丟丟思密達
這篇文章主要為大家詳細介紹了Unity實現(xiàn)人物平滑轉身,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
今天要實現(xiàn)的功能是利用WASD或是方向鍵實現(xiàn)人物平滑轉身。
1.首先搭建一個簡易的場景和人物,我在這里利用一個圓柱加一個cube代表人物,其次保證人物模型的本地坐標與世界坐標保持統(tǒng)一,如圖所示

2.在人物身上添加PlayerController腳本,源碼如下:
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
float ver = 0;
float hor = 0;
public float turnspeed = 10;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
hor = Input.GetAxis("Horizontal");
ver = Input.GetAxis("Vertical");
}
void Rotating (float hor, float ver)
{
//獲取方向
Vector3 dir = new Vector3 (hor,0,ver);
//將方向轉換為四元數(shù)
Quaternion quaDir = Quaternion.LookRotation(dir,Vector3.up);
//緩慢轉動到目標點
transform.rotation = Quaternion.Lerp(transform.rotation,quaDir,Time.fixedDeltaTime*turnspeed);
}
void FixedUpdate(){
if(hor!= 0 ||ver!= 0 ){
//轉身
Rotating(hor,ver);
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#多線程之Thread中Thread.IsAlive屬性用法分析
這篇文章主要介紹了C#多線程之Thread中Thread.IsAlive屬性用法,實例分析了C#判斷線程可用狀態(tài)的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
C#難點逐個擊破(8):可空類型System.Nullable
null值用來表示數(shù)據(jù)類型未被賦予任何值,它是一種引用類型;void表示沒有類型,或者說是沒有任何值。null與void的區(qū)別可以認為void是根本沒有,而null是一個空箱子,里面什么都沒有。2010-02-02

