.normalizeLocal();
final Quaternion targetOrient = new Quaternion().fromVectorToVector(Vector3.NEG_UNIT_Z, dirTowardsMouse);
// get a scale representing choice between direction of old and new quats
final double scale = currentOrient.dot(targetOrient) * tpf * ROCKET_TURN_SPEED;
currentOrient.addLocal(targetOrient.multiplyLocal(scale)).normalizeLocal();
rocketEntityNode.setRotation(currentOrient);
// propel forward
rocketEntityNode.addTranslation(currentOrient.apply(Vector3.NEG_UNIT_Z, null).multiplyLocal(