velocityAligned = capsule.readBoolean("velocityAligned", false);
    public void read(JMEImporter e) throws IOException {        super.read(e);        InputCapsule capsule = e.getCapsule(this);        emitType = capsule.readInt("emitType",ET_POINT);        particleType = capsule.readInt("particleType", PT_QUAD);        psLine = (Line)capsule.readSavable("psLine", null);        psRect = (Rectangle)capsule.readSavable("psRect", null);        psRing = (Ring)capsule.readSavable("psRing", null);        psBatch = (GeomBatch)capsule.readSavable("psBatch", null);        startSize = capsule.readFloat("startSize", DEFAULT_START_SIZE);        endSize = capsule.readFloat("endSize", DEFAULT_END_SIZE);        startColor = (ColorRGBA)capsule.readSavable("startColor", new ColorRGBA(DEFAULT_START_COLOR));        endColor = (ColorRGBA)capsule.readSavable("endColor", new ColorRGBA(DEFAULT_END_COLOR));        initialVelocity = capsule.readFloat("initialVelocity", 1);        minimumLifeTime = capsule.readFloat("minimumLifeTime", DEFAULT_MIN_LIFE);        maximumLifeTime = capsule.readFloat("maximumLifeTime", DEFAULT_MAX_LIFE);        minimumAngle = capsule.readFloat("minimumAngle", 0);        maximumAngle = capsule.readFloat("maximumAngle", DEFAULT_MAX_ANGLE);        particleSpinSpeed = capsule.readFloat("particleSpinSpeed", 0);        emissionDirection = (Vector3f)capsule.readSavable("emissionDirection", new Vector3f(Vector3f.UNIT_Y));        worldEmit = (Vector3f)capsule.readSavable("worldEmit", new Vector3f(Vector3f.ZERO));        upVector = (Vector3f)capsule.readSavable("upVector", new Vector3f(Vector3f.UNIT_Y));        leftVector = (Vector3f)capsule.readSavable("leftVector", new Vector3f(-1, 0, 0));        numParticles = capsule.readInt("numParticles", 0);        randomMod = capsule.readFloat("randomMod", 1);        rotateWithScene = capsule.readBoolean("rotateWithScene", false);        geometryCoordinates = capsule.readFloatBuffer("geometryCoordinates", null);        appearanceColors = capsule.readFloatBuffer("appearanceColors", null);                releaseRate = capsule.readInt("releaseRate", numParticles);        particleOrientation = capsule.readFloat("particleOrientation", 0);        originCenter = (Vector3f)capsule.readSavable("originCenter", new Vector3f());        originOffset = (Vector3f)capsule.readSavable("originOffset", new Vector3f());        controller = (ParticleController)capsule.readSavable("controller", null);        cameraFacing = capsule.readBoolean("cameraFacing", true);        invScale = new Vector3f();        upXemit = new Vector3f();        absUpVector = new Vector3f();        abUpMinUp = new Vector3f();        rotMatrix = new Matrix3f();        initializeParticles(numParticles);    }