예제 #1
0
 public void read(JMEImporter e) throws IOException {
   super.read(e);
   InputCapsule capsule = e.getCapsule(this);
   float len = capsule.readFloat("mdlength", 1f);
   float rad = capsule.readFloat("mdradius", 0.2f);
   updateGeometry(len, rad);
 }
예제 #2
0
 public void read(JMEImporter e) throws IOException {
   InputCapsule capsule = e.getCapsule(this);
   index = capsule.readInt("index", 0);
   mass = capsule.readFloat("mass", 1);
   invMass = 1f / mass;
   position = (Vector3f) capsule.readSavable("position", Vector3f.ZERO.clone());
   acceleration = (Vector3f) capsule.readSavable("acceleration", Vector3f.ZERO.clone());
 }
  public void read(JMEImporter e) throws IOException {
    super.read(e);
    InputCapsule capsule = e.getCapsule(this);

    mover = (Spatial) capsule.readSavable("mover", null);
    curve = (Curve) capsule.readSavable("curve", null);
    up = (Vector3f) capsule.readSavable("up", null);
    orientationPrecision = capsule.readFloat("orientationPrecision", 0.1f);
    cycleForward = capsule.readBoolean("cycleForward", true);
    autoRotation = capsule.readBoolean("autoRotation", false);
  }
 @Override
 public void read(JMEImporter e) throws IOException {
   super.read(e);
   InputCapsule capsule = e.getCapsule(this);
   translationDelta = (Vector3f) capsule.readSavable("translationDelta", null);
   rotationDelta = capsule.readFloat("rotationDelta", 0);
   textureRotationAxis = (Vector3f) capsule.readSavable("textureRotationAxis", null);
   xRepeat = capsule.readFloat("xRepeat", 1);
   yRepeat = capsule.readFloat("yRepeat", 1);
   zRepeat = capsule.readFloat("zRepeat", 1);
   currentTranslation = (Vector3f) capsule.readSavable("currentTranslation", null);
   currentRotation = (Quaternion) capsule.readSavable("currentRotation", null);
   currentRotationAngle = capsule.readFloat("currentRotationAngle", 0);
   Savable[] savs = capsule.readSavableArray("textures", null);
   if (savs != null) {
     textures = new Texture[savs.length];
     for (int i = 0; i < savs.length; i++) {
       textures[i] = (Texture) savs[i];
     }
   }
 }
예제 #5
0
  /** <b>This method foces interpolation mode, regardless of input</b> */
  @SuppressWarnings("unchecked")
  public void read(JMEImporter e) throws IOException {
    InputCapsule cap = e.getCapsule(this);
    name = cap.readString("name", null);
    keyframeTime = cap.readFloatArray("keyframeTime", null);
    interpolationType = cap.readIntArray("interpolationType", null);
    boneTransforms = cap.readSavableArrayList("boneTransforms", null);
    currentTime = cap.readFloat("currentTime", 0);
    currentFrame = cap.readInt("currentFrame", 1);
    prevFrame = cap.readInt("prevFrame", 0);
    endFrame = cap.readInt("endFrame", 0);
    startFrame = cap.readInt("startFrame", 0);
    interpolationRate = cap.readFloat("interpolationRate", DEFAULT_RATE);
    lastTime = cap.readFloat("lastTime", 0);
    cycleMode = cap.readInt("cycleMode", 1);
    interpolate = cap.readBoolean("interpolate", true);
    children = cap.readSavableArrayList("children", null);

    int[] frames = cap.readIntArray("eventFrames", null);

    if (frames != null) {
      for (int i = 0; i < frames.length; i++) {
        ArrayList<Savable> events = cap.readSavableArrayList("event" + frames[i], null);
        for (int j = 0; j < events.size(); j++) {
          AnimationEventManager.getInstance()
              .addAnimationEvent(this, frames[i], (AnimationEvent) events.get(i));
        }
      }
    }

    // Update the method Javadoc when non-interpolation is supported again.
    interpolationType = new int[keyframeTime.length];
    for (int i = 0; i < keyframeTime.length; i++) {
      interpolationType[i] = BoneAnimation.LINEAR;
    }
  }
    public void read(JMEImporter e) throws IOException {
      InputCapsule capsule = e.getCapsule(this);
      usedRot = capsule.readBitSet("usedRot", null);
      usedTrans = capsule.readBitSet("usedTrans", null);
      usedScale = capsule.readBitSet("usedScale", null);
      time = capsule.readFloat("time", 0);

      Savable[] savs = capsule.readSavableArray("look", null);
      if (savs == null) {
        look = null;
      } else {
        look = new TransformQuaternion[savs.length];
        for (int x = 0; x < savs.length; x++) {
          look[x] = (TransformQuaternion) savs[x];
        }
      }
    }
  public void read(JMEImporter e) throws IOException {
    detachAllChildren();
    super.read(e);
    InputCapsule capsule = e.getCapsule(this);
    emitType = capsule.readEnum("emitType", EmitType.class, EmitType.Point);
    particleType = capsule.readEnum("particleType", ParticleType.class, ParticleType.Quad);
    psLine = (Line) capsule.readSavable("psLine", null);
    psRect = (Rectangle) capsule.readSavable("psRect", null);
    psRing = (Ring) capsule.readSavable("psRing", null);
    psGeom = (Geometry) capsule.readSavable("psGeom", null);
    startSize = capsule.readFloat("startSize", DEFAULT_START_SIZE);
    endSize = capsule.readFloat("endSize", DEFAULT_END_SIZE);
    startColor = (ColorRGBA) capsule.readSavable("startColor", DEFAULT_START_COLOR.clone());
    endColor = (ColorRGBA) capsule.readSavable("endColor", DEFAULT_END_COLOR.clone());
    startSpin = capsule.readFloat("startSpin", 0);
    endSpin = capsule.readFloat("endSpin", 0);
    startMass = capsule.readFloat("startMass", 0);
    endMass = capsule.readFloat("endMass", 0);
    startTexIndex = capsule.readInt("startTexIndex", 0);
    texQuantity = capsule.readInt("texQuantity", 1);
    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);
    emissionDirection =
        (Vector3f) capsule.readSavable("emissionDirection", Vector3f.UNIT_Y.clone());
    worldEmit = (Vector3f) capsule.readSavable("worldEmit", Vector3f.ZERO.clone());
    upVector = (Vector3f) capsule.readSavable("upVector", Vector3f.UNIT_Y.clone());
    leftVector = (Vector3f) capsule.readSavable("leftVector", new Vector3f(-1, 0, 0));
    numParticles = capsule.readInt("numParticles", 0);
    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);
    velocityAligned = capsule.readBoolean("velocityAligned", false);
    particlesInWorldCoords = capsule.readBoolean("particlesInWorldCoords", true);
    ramp = (ParticleAppearanceRamp) capsule.readSavable("ramp", new ParticleAppearanceRamp());
    texAnimation = (TexAnimation) capsule.readSavable("texAnimation", new TexAnimation());

    invScale = new Vector3f();
    upXemit = new Vector3f();
    absUpVector = new Vector3f();
    abUpMinUp = new Vector3f();
    rotMatrix = new Matrix3f();
    initializeParticles(numParticles);
  }