Hello Terrain error

Hi all.

I have error.


package mygame;

import com.jme3.app.SimpleApplication;

import com.jme3.material.Material;

import com.jme3.terrain.geomipmap.TerrainLodControl;

import com.jme3.terrain.heightmap.AbstractHeightMap;

import com.jme3.terrain.geomipmap.TerrainQuad;

import com.jme3.terrain.geomipmap.lodcalc.DistanceLodCalculator;

import com.jme3.terrain.heightmap.HillHeightMap; // for exercise 2

import com.jme3.terrain.heightmap.ImageBasedHeightMap;

import com.jme3.texture.Texture;

import com.jme3.texture.Texture.WrapMode;

import jme3tools.converters.ImageToAwt;

public class Main extends SimpleApplication {

private TerrainQuad terrain;

Material mat_terrain;

public static void main(String[] args) {

Main app = new Main();




public void simpleInitApp() {


/** 1. Create terrain material and load four textures into it. /

mat_terrain = new Material(assetManager,


* 1.1) Add ALPHA map (for red-blue-green coded splat textures) /

mat_terrain.setTexture(“Alpha”, assetManager.loadTexture(


* 1.2) Add GRASS texture into the red layer (Tex1). /

Texture grass = assetManager.loadTexture(



mat_terrain.setTexture(“Tex1”, grass);

mat_terrain.setFloat(“Tex1Scale”, 64f);

* 1.3) Add DIRT texture into the green layer (Tex2) /

Texture dirt = assetManager.loadTexture(



mat_terrain.setTexture(“Tex2”, dirt);

mat_terrain.setFloat(“Tex2Scale”, 32f);

* 1.4) Add ROAD texture into the blue layer (Tex3) /

Texture rock = assetManager.loadTexture(



mat_terrain.setTexture(“Tex3”, rock);

mat_terrain.setFloat(“Tex3Scale”, 128f);

* 2. Create the height map /

AbstractHeightMap heightmap = null;

Texture heightMapImage = assetManager.loadTexture(


heightmap = new ImageBasedHeightMap(

ImageToAwt.convert(heightMapImage.getImage(), false, true, 0));


* 3. We have prepared material and heightmap.

  • Now we create the actual terrain:
  • 3.1) Create a TerrainQuad and name it “my terrain”.
  • 3.2) A good value for terrain tiles is 64x64 – so we supply 64+1=65.
  • 3.3) We prepared a heightmap of size 512x512 – so we supply 512+1=513.
  • 3.4) As LOD step scale we supply Vector3f(1,1,1).
  • 3.5) We supply the prepared heightmap itself.


    int patchSize = 65;

    terrain = new TerrainQuad(“my terrain”, patchSize, 513, heightmap.getHeightMap());

    * 4. We give the terrain its material, position & scale it, and attach it. /


    terrain.setLocalTranslation(0, -100, 0);

    terrain.setLocalScale(2f, 1f, 2f);


    * 5. The LOD (level of detail) depends on were the camera is: */

    TerrainLodControl control = new TerrainLodControl(terrain, getCamera());

    control.setLodCalculator( new DistanceLodCalculator(patchSize, 2.7f) ); // patch size, and a multiplier






It could be better if you took a print screen of the class with compilation error at this part of the code:


TerrainLodControl control = new TerrainLodControl(terrain, getCamera());

control.setLodCalculator( new DistanceLodCalculator(patchSize, 2.7f) ); // patch size, and a multiplier



update to nightly, in jmp: tools > plugins > settings > update to nightly.


nightly updates have not been found (


compilation error :

Compiling 1 source file to C:UsersuserDocumentsjMonkeyProjectsBasicGamebuildclasses

C:UsersuserDocumentsjMonkeyProjectsBasicGamesrcmygameMain.java:83: cannot find symbol

symbol : constructor TerrainLodControl(com.jme3.terrain.geomipmap.TerrainQuad,com.jme3.renderer.Camera)

location: class com.jme3.terrain.geomipmap.TerrainLodControl

TerrainLodControl control = new TerrainLodControl(terrain, getCamera());

C:UsersuserDocumentsjMonkeyProjectsBasicGamesrcmygameMain.java:84: cannot find symbol

symbol : constructor DistanceLodCalculator(int,float)

location: class com.jme3.terrain.geomipmap.lodcalc.DistanceLodCalculator

control.setLodCalculator( new DistanceLodCalculator(patchSize, 2.7f) ); // patch size, and a multiplier

2 errors

C:UsersuserDocumentsjMonkeyProjectsBasicGamenbprojectbuild-impl.xml:597: The following error occurred while executing this line:

C:UsersuserDocumentsjMonkeyProjectsBasicGamenbprojectbuild-impl.xml:282: Compile failed; see the compiler error output for details.

BUILD FAILED (total time: 1 second)

If you really wanna learn something of terrain, create a new TestProject and look at the source code of the terrain tests. I think HelloTerrain is there.


Thank you. I will learn to test

@nigol: Do you know the “TestProject” is a project template of the jMonkeyPlataform ok? create it via "new---->project


thanks, found it. I will learn from them.