我想知道如何将time.deltaTime对象移动到只能在圆周上移动。
在这种情况下,我要处理一个围绕播放器旋转的相机。
_GoalX += Input.GetAxis("Mouse X");
float y = _PlayerHeight;
float x = Mathf.Cos(_GoalX);
float z = Mathf.Sin(_GoalX);
transform.localPosition = new Vector3(x, y, z);
不应将相机立即放置在最终位置,而应随着时间的推移在播放器周围的圆周上移动。
我不能使用Vector3.Lerp(startvector,targetvector),因为那样摄像机可能会进入播放器。
答案 0 :(得分:0)
在更新中,您可以这样做:
void update(){
angle += RotateSpeed * Time.deltaTime;
Vector3 offset = new Vector3(Mathf.Sin(_angle)* xRadius, _PlayerHeight, Mathf.Cos(_angle)* zRadius);
transform.position = _centre + offset;
}