位置插补期间的框架对象
Frame object during position lerp
我有一个相机正在移动到结束位置。在整个运动过程中,我想构图一个对象,使运动看起来对玩家有吸引力。对象的框架不一定在整个运动中保持不变(我希望能够在 lerp 期间对对象的视口位置进行 lerp)
- 我有相机的起始位置和旋转
- 我有对象相对于相机的起始视口位置
- 我有对象相对于相机的结束视口位置
- 我的相机是正交的,所以我不必担心平截头体尺寸/视野
- 在开始和结束旋转之间直接插值并不是一个好的解决方案,因为它失去了我正在寻找的框架(已尝试)
对于我的 lerp 中的每个更新:
[1] - 我在相机的开始和结束位置之间补间。
[2] - 我补间了我想在开始和结束视口位置之间使用的视口位置
[3] - 我需要计算将对象保持在 [2]
中计算的新视口位置所需的新旋转
[4] - 我更新旋转并继续 lerp
但是,我对 3 中的计算有点困惑 :( 我尝试了一些变体来尝试计算这个,但我似乎找不到好的解决方案。有谁知道如何计算这个?我从正确的角度接近这个吗?
Quaternion.LookRotation() 方法应该足够了:
public GameObject TargetObject;
public GameObject CameraObject;
void Update () {
CameraObject.transform.rotation = Quaternion.LookRotation(TargetObject.transform.position- CameraObject.transform.position );
}
希望对您有所帮助。
两个角度相等...如果你可以计算出移动物体的世界坐标(基于视口坐标)你也可以计算出目标的世界坐标。
我有一个相机正在移动到结束位置。在整个运动过程中,我想构图一个对象,使运动看起来对玩家有吸引力。对象的框架不一定在整个运动中保持不变(我希望能够在 lerp 期间对对象的视口位置进行 lerp)
- 我有相机的起始位置和旋转
- 我有对象相对于相机的起始视口位置
- 我有对象相对于相机的结束视口位置
- 我的相机是正交的,所以我不必担心平截头体尺寸/视野
- 在开始和结束旋转之间直接插值并不是一个好的解决方案,因为它失去了我正在寻找的框架(已尝试)
对于我的 lerp 中的每个更新:
[1] - 我在相机的开始和结束位置之间补间。
[2] - 我补间了我想在开始和结束视口位置之间使用的视口位置
[3] - 我需要计算将对象保持在 [2]
中计算的新视口位置所需的新旋转[4] - 我更新旋转并继续 lerp
但是,我对 3 中的计算有点困惑 :( 我尝试了一些变体来尝试计算这个,但我似乎找不到好的解决方案。有谁知道如何计算这个?我从正确的角度接近这个吗?
Quaternion.LookRotation() 方法应该足够了:
public GameObject TargetObject;
public GameObject CameraObject;
void Update () {
CameraObject.transform.rotation = Quaternion.LookRotation(TargetObject.transform.position- CameraObject.transform.position );
}
希望对您有所帮助。
两个角度相等...如果你可以计算出移动物体的世界坐标(基于视口坐标)你也可以计算出目标的世界坐标。