最近、jMonkeyエンジンを使い始めました。とてもいいです。しかし、相対重力を実装しようとして立ち往生しました。
惑星を互いに周回させたい(必ずしも完全な円軌道である必要はなく、速度に依存する)。したがって、すべてのオブジェクトは他のオブジェクトに影響を与える必要があります。
私が今持っているもの:
グローバル重力をオフにする
bulletAppState.getPhysicsSpace().setGravity(Vector3f.ZERO);
球を初期化し、物理空間に追加する
Sphere sphere = new Sphere(50, 50, 5);
Geometry sun = new Geometry("Sun", sphere);
sun.setMaterial(stone_mat);
rootNode.attachChild(sun);
sun.setLocalTranslation(0, 0, 0);
sunPhysics = new RigidBodyControl((float) (50*Math.pow(10, 5)));
sun.addControl(sunPhysics);
bulletAppState.getPhysicsSpace().add(sunPhysics);
Geometry mercury = new Geometry("Mercury", sphere);
mercury.setMaterial(stone_mat);
rootNode.attachChild(mercury);
mercury.setLocalTranslation(15f, 0, 0);
mercuryPhysics = new RigidBodyControl((float) (5));
mercury.addControl(mercuryPhysics);
bulletAppState.getPhysicsSpace().add(mercuryPhysics);
RigidBodyControlクラスにメソッドsetGravityがあることに気づきましたが、それは方向を設定するだけです。したがって、オブジェクトは消えるまでそのように進みます。
私は本当に答えを楽しみにしています。