我正在爲我的Android應用程序使用LibGDX。我需要沿樣條線移動和定向3D對象(ModelInstance)。在我的情況下,它是CatmullRomSpline。我得到了運動的工作,但是沿着樣條線定位了ModelInstance方面存在問題。Android。 LibGDX。如何沿樣條線移動和定向3D對象
我的代碼:
public void update() {
float t = SPEED * Gdx.graphics.getDeltaTime();
elapsedTime = elapsedTime + SPEED * Gdx.graphics.getDeltaTime();
//Movement
catmull.valueAt(value, elapsedTime);
myObject3d.transform.setTranslation(value);
//Rotation
derivative = catmull.derivativeAt(derivative, t);
derivative = derivative.nor();
//Tried to bring object into default position before rotating
//Vector.X - is the default direction of my Object - facing right
//myObject3d.transform.rotate(Vector3.X, Vector3.X);
myObject3d.transform.rotate(derivative, Vector3.X);
}
嘗試'myObject3d.transform.setToRotation(derivative,Vector3.X).trn(value);'。請注意,儘管存在旋轉的無限可能性。根據樣條曲線的不同,您可能還需要一個「向上」和/或「向右」的向量。 – Xoppa 2015-02-06 17:10:30
謝謝!會嘗試讓你知道結果。 – Taras 2015-02-08 20:25:55
嗨。我嘗試過這個。這比以前好多了。對象沿着樣條線旋轉。但實際的方向是錯誤的。我的對象最初面對着X軸。所以我期望setToRotation(派生,Vector3.X)將使我的對象的臉看向導數的方向。還是我在這裏錯了?我還記得有LibGDX demo/exmaple,其中一個3D箭頭導航樣條線。這很容易完成。就像一些遵循路徑的功能一樣。現在找不到它:(你能幫忙嗎? – Taras 2015-02-09 10:31:42