Advertisement
Guest User

Untitled

a guest
May 10th, 2015
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1.  BlockTerrainControl blockTerrain;
  2.     private BulletAppState bulletAppState;
  3.    
  4.     public static final Block BlockGrass = new Block(new BlockSkin(new BlockSkin_TextureLocation(0, 0), false));
  5.     public static final Block BlockDirt = new Block(new BlockSkin(new BlockSkin_TextureLocation(1, 0), false));
  6.     public static final Block BlockBedrock = new Block(new BlockSkin(new BlockSkin_TextureLocation(2, 0), false));
  7.     public static final Block BlockSand = new Block(new BlockSkin(new BlockSkin_TextureLocation(3, 0), false));
  8.  
  9.     @Override
  10.     public void simpleInitApp() {
  11.         bulletAppState = new BulletAppState();
  12.         stateManager.attach(bulletAppState);
  13.    
  14.         CubesSettings settings = new CubesSettings(this);
  15.         settings.setDefaultBlockMaterial("Textures/cubes/terrainBig.png");
  16.         settings.setChunkSizeX(32);
  17.         settings.setChunkSizeY(128);
  18.         settings.setChunkSizeZ(32);
  19.        
  20.         Material material = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
  21.         material.setTexture("DiffuseMap", assetManager.loadTexture("Textures/cubes/terrainBig.png"));
  22.         material.setTexture("NormalMap", assetManager.loadTexture("Textures/cubes/n_terrainBig.png"));
  23.         material.setBoolean("UseMaterialColors",false);    
  24.         material.setColor("Diffuse",ColorRGBA.White);
  25.         material.setColor("Specular",ColorRGBA.White);
  26.         material.setFloat("Shininess", 64f);
  27.         settings.setBlockMaterial(material);
  28.        
  29.         BlockManager.register(BlockGrass);
  30.         BlockManager.register(BlockDirt);
  31.         BlockManager.register(BlockBedrock);
  32.         BlockManager.register(BlockSand);
  33.  
  34.         blockTerrain = new BlockTerrainControl(settings, new Vector3Int(1, 1, 1));
  35.  
  36.         blockTerrain.setBlockArea(new Vector3Int(0, 0, 0), new Vector3Int(32, 1, 32), BlockBedrock);
  37.         blockTerrain.setBlockArea(new Vector3Int(0, 1, 0), new Vector3Int(32, 3, 32), BlockDirt);
  38.         blockTerrain.setBlockArea(new Vector3Int(0, 3, 0), new Vector3Int(32, 1, 32), BlockGrass);
  39.         //blockTerrain.setBlock(new Vector3Int(0, 0, 0), BlockGrass);
  40.         //blockTerrain.setBlock(new Vector3Int(1, 0, 0), BlockDirt);
  41.  
  42.         Node terrainNode = new Node();
  43.         terrainNode.addControl(blockTerrain);
  44.         rootNode.attachChild(terrainNode);
  45.        
  46.         cam.setLocation(new Vector3f(-10, 100, 16));
  47.         cam.lookAtDirection(new Vector3f(0, 0, 0), Vector3f.UNIT_Y);
  48.         flyCam.setMoveSpeed(50);
  49.        
  50.         terrainNode.setShadowMode(ShadowMode.CastAndReceive);
  51.  
  52.         terrainNode.addControl(new RigidBodyControl(0));
  53.         bulletAppState.getPhysicsSpace().addAll(terrainNode);
  54.        
  55.             /** A white ambient light source. */
  56.         AmbientLight ambient = new AmbientLight();
  57.         ambient.setColor(ColorRGBA.White);
  58.         rootNode.addLight(ambient);
  59.             /** Show scattered light beams when camera looks into "sun". */
  60.         /*FilterPostProcessor fpp=new FilterPostProcessor(assetManager);
  61.         LightScatteringFilter sunlight = new LightScatteringFilter(new Vector3f(.5f,.5f,.5f).multLocal(-3000));
  62.         fpp.addFilter(sunlight);
  63.         viewPort.addProcessor(fpp); */
  64.             /** A white, directional light source */
  65.         DirectionalLight sun = new DirectionalLight();
  66.         sun.setDirection((new Vector3f(-0.5f, -0.5f, -0.5f)).normalizeLocal());
  67.         sun.setColor(ColorRGBA.White);
  68.         rootNode.addLight(sun);
  69.             /* this shadow needs a directional light */
  70.         DirectionalLightShadowRenderer dlsr = new DirectionalLightShadowRenderer(assetManager, 1024, 2);
  71.         dlsr.setLight(sun);
  72.         viewPort.addProcessor(dlsr);
  73.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement