我试图以恒定的速度将一个对象移动到它的目的地(均由 Vector3 表示)。
设置:
destination = gkVector3(1.0f, 0.0f, 1.0f);
myObj = gkVector3(0.0f, 0.0f, 0.0f);
velocity = 0.1;
环形:
gkVector3 direction = destination - myObj;
myObj = myObj + direction * velocity;
if(myObj == destination) {
gkPrintf("THE SAME!!!!");
}
然后,我想检查对象是否已到达目的地。如果是,将显示一条消息。当velocity设置为1.0时,完全没有问题;但是,例如,当我将速度设置为 0.1 时,对象将永远不会到达它的目的地,并且不会显示消息。那么,我怎样才能以恒定的速度将一个物体精确地移动到它的目的地呢?
*gkVector3 代表 Ogre3D Vector3