我試圖以恆定速度將對象移動到目標位置(均由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!!!!");
}
然後,我要檢查對象是否達到了它的目的。如果是,則會顯示一條消息。 速度設置爲1.0時,完全沒有問題;但是當我將速度設置爲0.1時,對象將永遠不會到達目的地,並且不會顯示消息。那麼,如何以恆定的速度將物體精確地移動到目的地?
* gkVector3代表OGRE3D的Vector3