public void updateGeometricState(float time, boolean initiator) { super.updateGeometricState(time, initiator); if (isRotateWithScene()) { if (emitType == EmitType.Geometry && getGeometry() != null) { getGeometry().getWorldRotation().mult(emissionDirection, worldEmit); } else { worldRotation.mult(emissionDirection, worldEmit); } } else worldEmit.set(emissionDirection); if (particlesInWorldCoords) { emitterTransform.set(worldRotation, worldTranslation.divide(worldScale)); originCenter.set(worldTranslation).addLocal(originOffset); getWorldTranslation().set(0, 0, 0); getWorldRotation().set(0, 0, 0, 1); } else { originCenter.set(originOffset); } }