Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BlockTerrainControl blockTerrain;
- private BulletAppState bulletAppState;
- public static final Block BlockGrass = new Block(new BlockSkin(new BlockSkin_TextureLocation(0, 0), false));
- public static final Block BlockDirt = new Block(new BlockSkin(new BlockSkin_TextureLocation(1, 0), false));
- public static final Block BlockBedrock = new Block(new BlockSkin(new BlockSkin_TextureLocation(2, 0), false));
- public static final Block BlockSand = new Block(new BlockSkin(new BlockSkin_TextureLocation(3, 0), false));
- @Override
- public void simpleInitApp() {
- bulletAppState = new BulletAppState();
- stateManager.attach(bulletAppState);
- CubesSettings settings = new CubesSettings(this);
- settings.setDefaultBlockMaterial("Textures/cubes/terrainBig.png");
- settings.setChunkSizeX(32);
- settings.setChunkSizeY(128);
- settings.setChunkSizeZ(32);
- Material material = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
- material.setTexture("DiffuseMap", assetManager.loadTexture("Textures/cubes/terrainBig.png"));
- material.setTexture("NormalMap", assetManager.loadTexture("Textures/cubes/n_terrainBig.png"));
- material.setBoolean("UseMaterialColors",false);
- material.setColor("Diffuse",ColorRGBA.White);
- material.setColor("Specular",ColorRGBA.White);
- material.setFloat("Shininess", 64f);
- settings.setBlockMaterial(material);
- BlockManager.register(BlockGrass);
- BlockManager.register(BlockDirt);
- BlockManager.register(BlockBedrock);
- BlockManager.register(BlockSand);
- blockTerrain = new BlockTerrainControl(settings, new Vector3Int(1, 1, 1));
- blockTerrain.setBlockArea(new Vector3Int(0, 0, 0), new Vector3Int(32, 1, 32), BlockBedrock);
- blockTerrain.setBlockArea(new Vector3Int(0, 1, 0), new Vector3Int(32, 3, 32), BlockDirt);
- blockTerrain.setBlockArea(new Vector3Int(0, 3, 0), new Vector3Int(32, 1, 32), BlockGrass);
- //blockTerrain.setBlock(new Vector3Int(0, 0, 0), BlockGrass);
- //blockTerrain.setBlock(new Vector3Int(1, 0, 0), BlockDirt);
- Node terrainNode = new Node();
- terrainNode.addControl(blockTerrain);
- rootNode.attachChild(terrainNode);
- cam.setLocation(new Vector3f(-10, 100, 16));
- cam.lookAtDirection(new Vector3f(0, 0, 0), Vector3f.UNIT_Y);
- flyCam.setMoveSpeed(50);
- terrainNode.setShadowMode(ShadowMode.CastAndReceive);
- terrainNode.addControl(new RigidBodyControl(0));
- bulletAppState.getPhysicsSpace().addAll(terrainNode);
- /** A white ambient light source. */
- AmbientLight ambient = new AmbientLight();
- ambient.setColor(ColorRGBA.White);
- rootNode.addLight(ambient);
- /** Show scattered light beams when camera looks into "sun". */
- /*FilterPostProcessor fpp=new FilterPostProcessor(assetManager);
- LightScatteringFilter sunlight = new LightScatteringFilter(new Vector3f(.5f,.5f,.5f).multLocal(-3000));
- fpp.addFilter(sunlight);
- viewPort.addProcessor(fpp); */
- /** A white, directional light source */
- DirectionalLight sun = new DirectionalLight();
- sun.setDirection((new Vector3f(-0.5f, -0.5f, -0.5f)).normalizeLocal());
- sun.setColor(ColorRGBA.White);
- rootNode.addLight(sun);
- /* this shadow needs a directional light */
- DirectionalLightShadowRenderer dlsr = new DirectionalLightShadowRenderer(assetManager, 1024, 2);
- dlsr.setLight(sun);
- viewPort.addProcessor(dlsr);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement