我有一个拍摄器,可以围绕物体旋转,展示所拍摄的物体。由于该物体相当大,很容易潜在地失去位置并想要返回起始位置,我希望通过一个按钮来实现此操作。
我也希望这个过渡不会很突兀,在当前位置和指定位置之间进行平滑过渡。我意识到这是一个与interp相关的问题,但我不知道从哪里开始。
到目前为止,我的基本变换代码是:
我也希望这个过渡不会很突兀,在当前位置和指定位置之间进行平滑过渡。我意识到这是一个与interp相关的问题,但我不知道从哪里开始。
到目前为止,我的基本变换代码是:
public Camera MainCamera;
public void UserClickedCameraResetButton()
{
MainCamera.transform.position = new Vector3(106, 68, 15);
MainCamera.transform.rotation = new Vector4(40, 145, 0);
}
通常情况下非常感谢您。
更新了可以解决我的问题的代码。
public Camera MainCamera;
public GameObject TargetPosition;
public int speed = 2;
bool camera_move_enabled = false;
void Update()
{
if (camera_move_enabled)
{
MainCamera.transform.position = Vector3.Lerp(transform.position, TargetPosition.transform.position, speed * Time.deltaTime);
MainCamera.transform.rotation = Quaternion.Lerp(transform.rotation, TargetPosition.transform.rotation, speed * Time.deltaTime);
}
}
public void UserClickedCameraResetButton()
{
TargetPosition.transform.position = new Vector3(-106.2617f, 68.81419f, 14.92558f);
TargetPosition.transform.rotation = Quaternion.Euler(39.7415f, 145.0724f, 0);
camera_move_enabled = true;
}
camera_move_enable
状态。我需要检查一下Targetposition
是什么,因为目前它会引起一些错误。 - Tim HansonTargetposition
是一个游戏对象。创建另一个摄像机并将其设置为Targetposition
,这样您就可以看到最终的摄像机视图,并进行调整。 - StalkerUserClickedCameraResetButton()
方法。不明白为什么它会回到起始位置。 - Stalker