/* * (non-Javadoc) * * @see org.rifidi.designer.entities.Entity#loaded() */ @Override public void loaded() { if (msStopped == null) { msStopped = DisplaySystem.getDisplaySystem().getRenderer().createMaterialState(); msStopped.setDiffuse(new ColorRGBA(1, 0, 0, .5f)); msStopped.setEmissive(new ColorRGBA(1, 0, 0, .3f)); msStopped.setShininess(1); msStopped.setSpecular(new ColorRGBA(1, 0, 0, .3f)); } if (as == null) { as = DisplaySystem.getDisplaySystem().getRenderer().createAlphaState(); as.setBlendEnabled(true); as.setSrcFunction(AlphaState.SB_SRC_ALPHA); as.setDstFunction(AlphaState.DB_ONE); as.setEnabled(true); } getNode().clearRenderState(RenderState.RS_ALPHA); getNode().clearRenderState(RenderState.RS_MATERIAL); getNode().setRenderState(as); getNode().updateRenderState(); ((PhysicsNode) getNode()).setMaterial(Material.GHOST); if (msStarted == null) { msStarted = DisplaySystem.getDisplaySystem().getRenderer().createMaterialState(); msStarted.setDiffuse(new ColorRGBA(0, 1, 0, .5f)); msStarted.setEmissive(new ColorRGBA(0, 1, 0, .3f)); msStarted.setShininess(1); msStarted.setSpecular(new ColorRGBA(0, 1, 0, .3f)); } if (running) { turnOn(); } else { turnOff(); } fieldService.registerField(this); }
/** * set up the scene * * @see com.jme.app.AbstractGame#initGame() */ protected void simpleInitGame() { display.setTitle("Joint Animation"); display.setVSyncEnabled(true); cam.setLocation(new Vector3f(0.0f, 0.0f, 200.0f)); cam.update(); ((FirstPersonHandler) input).getKeyboardLookHandler().setActionSpeed(100); lightState.setEnabled(false); try { ResourceLocatorTool.addResourceLocator( ResourceLocatorTool.TYPE_TEXTURE, new SimpleResourceLocator( TestFireMilk.class.getClassLoader().getResource("jmetest/data/model/msascii/"))); ResourceLocatorTool.addResourceLocator( ResourceLocatorTool.TYPE_TEXTURE, new SimpleResourceLocator( TestFireMilk.class.getClassLoader().getResource("jmetest/data/texture/"))); } catch (URISyntaxException e1) { logger.log(Level.WARNING, "unable to setup texture directories.", e1); } MilkToJme converter = new MilkToJme(); URL MSFile = TestFireMilk.class.getClassLoader().getResource("jmetest/data/model/msascii/run.ms3d"); ByteArrayOutputStream BO = new ByteArrayOutputStream(); try { converter.convert(MSFile.openStream(), BO); } catch (IOException e) { logger.info("IO problem writting the file!!!"); logger.info(e.getMessage()); System.exit(0); } i = null; try { i = (Node) BinaryImporter.getInstance().load(new ByteArrayInputStream(BO.toByteArray())); } catch (IOException e) { logger.info("darn exceptions:" + e.getMessage()); } ((JointController) i.getController(0)).setSpeed(1.0f); ((JointController) i.getController(0)).setRepeatType(Controller.RT_CYCLE); i.setRenderQueueMode(Renderer.QUEUE_OPAQUE); rootNode.attachChild(i); AlphaState as1 = display.getRenderer().createAlphaState(); as1.setBlendEnabled(true); as1.setSrcFunction(AlphaState.SB_SRC_ALPHA); as1.setDstFunction(AlphaState.DB_ONE); as1.setTestEnabled(true); as1.setTestFunction(AlphaState.TF_GREATER); as1.setEnabled(true); TextureState ts = display.getRenderer().createTextureState(); ts.setTexture( TextureManager.loadTexture("flaresmall.jpg", Texture.MM_LINEAR_LINEAR, Texture.FM_LINEAR)); ts.setEnabled(true); ParticleMesh manager = ParticleFactory.buildParticles("particles", 200); manager.setEmissionDirection(new Vector3f(0.0f, 1.0f, 0.0f)); manager.setMaximumAngle(0.20943952f); manager.getParticleController().setSpeed(1.0f); manager.setMinimumLifeTime(150.0f); manager.setMaximumLifeTime(225.0f); manager.setStartSize(8.0f); manager.setEndSize(4.0f); manager.setStartColor(new ColorRGBA(1.0f, 0.312f, 0.121f, 1.0f)); manager.setEndColor(new ColorRGBA(1.0f, 0.312f, 0.121f, 0.0f)); manager.getParticleController().setControlFlow(false); manager.setInitialVelocity(0.12f); manager.setGeometry((Geometry) (i.getChild(0))); manager.warmUp(60); manager.setRenderState(ts); manager.setRenderState(as1); manager.setLightCombineMode(LightState.OFF); manager.setTextureCombineMode(TextureState.REPLACE); ZBufferState zstate = display.getRenderer().createZBufferState(); zstate.setEnabled(false); manager.setRenderState(zstate); rootNode.attachChild(manager); }