本项目使用的主摄像头为正射模式,X、Y方向旋转45度和30度,如何更改代码,使摄像头以相同的速度上下左右移动?在当前版本中,由于只更改了两个坐标,我无法达到同样的速度(相机上下移动非常缓慢)。Y坐标不会改变,因为这是高度,也因为它不可能正确地限制相机。
if (Input.GetMouseButtonDown(0))
{
isDragged = true;
touchStart = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
else if (Input.GetMouseButtonUp(0))
{
isDragged = false;
}
if (Input.GetMouseButton(0) && isDragged == true)
{
Vector3 direction = touchStart - Camera.main.ScreenToWorldPoint(Input.mousePosition);
direction.y = 0;
Vector3 newPosition = Camera.main.transform.position + direction;
newPosition.x = Mathf.Clamp(newPosition.x, -45, 45);
newPosition.z = Mathf.Clamp(newPosition.z, -45, 45);
Camera.main.transform.position = newPosition;
}
我试着上下加相机加速度,但没有效果,速度还是不一样。
1条答案
按热度按时间5w9g7ksd1#
我通过将Y坐标添加到X和Z来解决该问题: