/** * a simple helper method to create a static physic wall. * * @param name node name * @param x x extent * @param y y extent * @param z z extent * @param loc location * @param type type of material/texture * @return staticPhysicNode with the attached box */ public StaticPhysicsNode makeWall( String name, float x, float y, float z, Vector3f loc, MaterialType type) { Box box = new Box(name, new Vector3f(), x, y, z); box.setModelBound(new BoundingBox()); box.updateModelBound(); if (type != null) ObjectFactory.get().applyRenderStates(box, type); StaticPhysicsNode physicWall = getPhysicsSpace().createStaticNode(); physicWall.attachChild(box); physicWall.setLocalTranslation(loc); physicWall.generatePhysicsGeometry(); return physicWall; }
private Node createObjects() { Node objects = new Node("objects"); Torus torus = new Torus("Torus", 50, 50, 10, 20); torus.setLocalTranslation(new Vector3f(50, -5, 20)); TextureState ts = display.getRenderer().createTextureState(); Texture t0 = TextureManager.loadTexture( TestSketch.class.getClassLoader().getResource("jmetest/data/images/Monkey.jpg"), Texture.MM_LINEAR_LINEAR, Texture.FM_LINEAR); Texture t1 = TextureManager.loadTexture( TestSketch.class.getClassLoader().getResource("jmetest/data/texture/north.jpg"), Texture.MM_LINEAR_LINEAR, Texture.FM_LINEAR); t1.setEnvironmentalMapMode(Texture.EM_SPHERE); ts.setTexture(t0, 0); ts.setTexture(t1, 1); ts.setEnabled(true); torus.setRenderState(ts); objects.attachChild(torus); ts = display.getRenderer().createTextureState(); t0 = TextureManager.loadTexture( TestSketch.class.getClassLoader().getResource("jmetest/data/texture/wall.jpg"), Texture.MM_LINEAR_LINEAR, Texture.FM_LINEAR); t0.setWrap(Texture.WM_WRAP_S_WRAP_T); ts.setTexture(t0); Box box = new Box("box1", new Vector3f(-10, -10, -10), new Vector3f(10, 10, 10)); box.setLocalTranslation(new Vector3f(0, -7, 0)); box.setRenderState(ts); box.setModelBound(new BoundingBox()); box.updateModelBound(); objects.attachChild(box); box = new Box("box2", new Vector3f(-5, -5, -5), new Vector3f(5, 5, 5)); box.setLocalTranslation(new Vector3f(15, 10, 0)); box.setModelBound(new BoundingBox()); box.updateModelBound(); box.setRenderState(ts); objects.attachChild(box); box = new Box("box4", new Vector3f(-5, -5, -5), new Vector3f(5, 5, 5)); box.setLocalTranslation(new Vector3f(20, 0, 0)); box.setModelBound(new BoundingBox()); box.updateModelBound(); box.setRenderState(ts); objects.attachChild(box); box = new Box("box5", new Vector3f(-50, -2, -50), new Vector3f(50, 2, 50)); box.setLocalTranslation(new Vector3f(0, -15, 0)); box.setModelBound(new BoundingBox()); box.updateModelBound(); box.setRenderState(ts); objects.attachChild(box); ts = display.getRenderer().createTextureState(); t0 = TextureManager.loadTexture( TestSketch.class.getClassLoader().getResource("jmetest/data/texture/cloud_land.jpg"), Texture.MM_LINEAR_LINEAR, Texture.FM_LINEAR); t0.setWrap(Texture.WM_WRAP_S_WRAP_T); ts.setTexture(t0); box = new Box("floor", new Vector3f(-1000, -10, -1000), new Vector3f(1000, 10, 1000)); box.setLocalTranslation(new Vector3f(0, -100, 0)); box.setModelBound(new BoundingBox()); box.updateModelBound(); box.setRenderState(ts); objects.attachChild(box); return objects; }