我正在制作一个游戏,玩家可以控制两个不同的角色(每个角色都有一个带有摄像头的空物体),并通过按下控制键进行切换。事情是,我试图通过使用另一台相机在两个角色相机之间进行一点点转换,所以它不会在一个和另一个之间进行传输,但我似乎无法做到。我尝试过使用lerp,但我不知道我是否正确,所以我阅读并尝试了Vector3.MoveTowards,但仍无法做到。这是到目前为止我的代码(在while是因为在最后时刻,新空房禁地我):在两台或更多台摄像机之间切换unity3D
public class CameraController : MonoBehaviour
{
public Camera cam1;
public Camera cam2;
public Camera movingCamera;
public bool isCurrentPlayer;
public Transform target1;
public Transform target2;
public float speed = 0.2f;
void FixedUpdate()
{
float step = speed * Time.deltaTime;
if (Input.GetButtonDown("Control"))
{
if (isCurrentPlayer)
{
movingCamera.enabled = true;
cam2.enabled = false;
while (transform.position != target1.position)
{
transform.position = Vector3.MoveTowards(transform.position, target1.position, step);
}
if (transform.position == target1.transform.position)
{
movingCamera.enabled = false;
cam1.enabled = true;
}
isCurrentPlayer = false;
}
else if (!isCurrentPlayer)
{
movingCamera.enabled = true;
cam1.enabled = false;
while (transform.position != target2.position)
{
transform.position = Vector3.MoveTowards(transform.position, target2.position, step);
}
if (transform.position == target2.transform.position)
{
movingCamera.enabled = false;
cam2.enabled = true;
}
isCurrentPlayer = true;
}
}
}
添加到相机停靠的字符为空的游戏对象。使用一个摄像头并更改角色将摄像头移动到另一个对接对象并将其指定为其子对象。所以你可以控制你的相机移动速度,或者甚至可以添加某种路径,使相机从特性飞跃到人物。 – maximelian1986
你的'CameraController'脚本附带了什么? – Hristo