0
我有順利旋轉的問題,我試圖做一個遊戲系統的旋轉像寺廟運行。我不知道如何通過lerp附加平滑旋轉來抵消。光滑的相機在第三人的旋轉周圍
//Position
public GameObject player;
private Vector3 offSet;
//Rotation
//Quaternion localRotation;
Quaternion leftRotation = Quaternion.Euler(new Vector3 (0, 90, 0));
Quaternion rightRotation = Quaternion.Euler(new Vector3 (0, -90, 0));
Vector3 lRotation = new Vector3(0.0f, -90f, 0.0f);
Vector3 rRotation = new Vector3(0.0f, 90f, 0.0f);
void Start() {
offSet = transform.position - player.transform.position;
}
void Update() {
}
void LateUpdate(){
transform.position = player.transform.position + offSet;
transform.LookAt (player.transform);
if (Input.GetKeyDown (KeyCode.LeftArrow) && GameObject.Find("Player").GetComponent<PlayerMovement>().turn) {
offSet = Quaternion.Euler(lRotation)*offSet;
transform.position = player.transform.position + offSet;
transform.LookAt (player.transform);
} else if (Input.GetKeyDown (KeyCode.RightArrow) && GameObject.Find("Player").GetComponent<PlayerMovement>().turn) {
offSet = Quaternion.Euler(rRotation)*offSet;
transform.position = player.transform.position + offSet;
transform.LookAt (player.transform);
}
}
}
謝謝,林不知道這是否會工作,我需要使它停留在那個旋轉,因爲當我按下RotateAround時,我按下按鍵,它只是旋轉旋轉我立即設置並返回到默認旋轉,所以我怎麼能讓它停留在那個輪換? – MrAbeckon
好的,我使用Mathf.LerpAngle函數,它的工作非常好,現在唯一的問題是在按鍵後停止循環循環。 – MrAbeckon
@MrAbeckon我不知道我明白。你能澄清一下嗎? – andeart