位置lerp期间的框架对象

时间:2016-05-11 10:11:06

标签: c# math unity3d 3d orthographic

我有一台移动到最终位置的相机。在整个运动过程中,我想构建一个物体,使运动看起来对玩家有吸引力。在整个运动过程中,对象的框架不一定保持不变(我希望能够在lerp期间对对象的视口位置进行渲染)

  • 我有相机的起始位置和旋转
  • 我有相对于相机的对象的起始视口位置
  • 我有相对于相机的对象的最终视口位置
  • 我的相机是拼写的,所以我不必担心截头尺寸/视野
  • 开始和结束轮换之间的直接影响不是一个好的解决方案,因为它失去了我正在寻找的框架(尝试过)

对于我的lerp中的每次更新:

[1] - 介于相机的开始和结束位置之间。

[2] - 我想在开始和结束视口位置之间使用的视口位置

[3] - 我需要计算将对象保持在[2]中计算的新视口位置所需的新旋转

[4] - 我更新旋转并继续lerp

然而,我有点难以理解3 :(我已经尝试了一些变化来尝试计算这个,但我似乎无法找到一个好的解决方案。有没有人知道如何计算这个吗?我是从正确的角度接近这个吗?

2 个答案:

答案 0 :(得分:0)

应该使用Quaternion.LookRotation()方法:

    public GameObject TargetObject;
    public GameObject CameraObject;

    void Update () {
        CameraObject.transform.rotation = Quaternion.LookRotation(TargetObject.transform.position- CameraObject.transform.position );

    }

答案 1 :(得分:0)

我希望这可以帮到你。

enter image description here

两个角度相等...如果你可以计算运动物体的世界坐标(基于视口坐标),你也可以计算目标的世界坐标。