Recientemente comencé a usar el motor jMonkey, lo cual es muy bueno. Pero me atasqué tratando de implementar la gravedad relativa.Gravedad relativa
Quiero hacer que los planetas orbitan uno alrededor del otro (no necesariamente en una órbita perfectamente circular, depende de la velocidad). Entonces, cada objeto debería afectar a otros objetos.
Lo que tengo en este momento:
apagar la gravedad mundial
bulletAppState.getPhysicsSpace().setGravity(Vector3f.ZERO);
inicializar esferas y añadiendo al espacio física
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);
he notado que hay un método setGravity en la clase RigidBodyControl, pero solo establece la dirección. Entonces el objeto sigue así hasta que desaparece.
Tengo muchas ganas de encontrar respuestas.
Puede aplicar la fuerza con el método applyCentralForce – Max
Gracias, a pesar de que puede haber manera "más sencilla" para aplicar esa.Pero no hay problema, lo intentaré de la forma en que sugirió :) –