Vb.net 移动摄像机

Vb.net 移动摄像机,vb.net,Vb.net,我的3D游戏中有一个摄像头。我有一个起始向量和结束向量用于它的定位。我想把它从第一个向量平稳地移动到最后一个向量 执行此操作的最佳方法是什么?您必须这样做:StartVector+EndVector*StepValue 现在,您必须决定要遵循的步骤(StepValue),当然您必须将其放入计时器中以控制速度。您必须这样做:StartVector+EndVector*StepValue 现在,您必须决定要遵循的步骤(StepValue),当然,您必须将其放入计时器中以控制速度。您需要决定要进行哪种

我的3D游戏中有一个摄像头。我有一个起始向量和结束向量用于它的定位。我想把它从第一个向量平稳地移动到最后一个向量


执行此操作的最佳方法是什么?

您必须这样做:StartVector+EndVector*StepValue


现在,您必须决定要遵循的步骤(StepValue),当然您必须将其放入计时器中以控制速度。

您必须这样做:StartVector+EndVector*StepValue


现在,您必须决定要遵循的步骤(StepValue),当然,您必须将其放入计时器中以控制速度。

您需要决定要进行哪种运动-您希望它以线性速度到达,还是以某种平滑方式到达

如果我们谈论的是逐帧的运动,我喜欢使用一种阻尼机制(psuedo代码!):

但是,如果您想在特定时间内以固定速率执行此操作,则在每帧执行以下操作:

NewPos = CurrentPos + ((TargetPos - StartPos) / (DesiredTime * FrameRate));

当然,你只需要做一次计算,将结果存储在另一个向量中,然后将其添加到每一帧的位置。

你需要决定你想要什么样的运动-你希望它以线性速度到达那里,还是进行一些平滑

如果我们谈论的是逐帧的运动,我喜欢使用一种阻尼机制(psuedo代码!):

但是,如果您想在特定时间内以固定速率执行此操作,则在每帧执行以下操作:

NewPos = CurrentPos + ((TargetPos - StartPos) / (DesiredTime * FrameRate));

当然,您只需进行一次计算,将结果存储在另一个向量中,然后将其添加到每一帧的位置。

在任何人能够给您提供有用的响应之前,还需要更多的细节。您尝试了什么?结果怎么不是你所期望的呢?基本的方法是你有一个定时器,它每x毫秒绘制一次场景,移动一次相机等等。我相信你可以在谷歌上找到关于这个主题的好教程。好吧,这是一个相机这一事实有点无关紧要。基本上,我在寻找一些代码,以便以一种平稳的方式从一个坐标移动到另一个坐标。在任何人能够给您提供有用的响应之前,需要更多的细节。您尝试了什么?结果怎么不是你所期望的呢?基本的方法是你有一个定时器,它每x毫秒绘制一次场景,移动一次相机等等。我相信你可以在谷歌上找到关于这个主题的好教程。好吧,这是一个相机这一事实有点无关紧要。基本上,我在寻找一些代码,以平稳的方式从一个坐标移动到另一个坐标。