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