* Added smooth terrain editing to TerrainTestModifyHeight
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7645 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
17af890e86
commit
5c8a7c4dd4
@ -49,13 +49,10 @@ import com.jme3.math.Vector3f;
|
|||||||
import com.jme3.renderer.Camera;
|
import com.jme3.renderer.Camera;
|
||||||
import com.jme3.terrain.geomipmap.TerrainLodControl;
|
import com.jme3.terrain.geomipmap.TerrainLodControl;
|
||||||
import com.jme3.terrain.geomipmap.TerrainQuad;
|
import com.jme3.terrain.geomipmap.TerrainQuad;
|
||||||
import com.jme3.terrain.heightmap.AbstractHeightMap;
|
|
||||||
import com.jme3.terrain.heightmap.ImageBasedHeightMap;
|
|
||||||
import com.jme3.texture.Texture;
|
import com.jme3.texture.Texture;
|
||||||
import com.jme3.texture.Texture.WrapMode;
|
import com.jme3.texture.Texture.WrapMode;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import jme3tools.converters.ImageToAwt;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -75,28 +72,35 @@ public class TerrainTestModifyHeight extends SimpleApplication {
|
|||||||
private float dirtScale = 16;
|
private float dirtScale = 16;
|
||||||
private float rockScale = 128;
|
private float rockScale = 128;
|
||||||
|
|
||||||
|
private boolean raiseTerrain = false;
|
||||||
|
private boolean lowerTerrain = false;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
TerrainTestModifyHeight app = new TerrainTestModifyHeight();
|
TerrainTestModifyHeight app = new TerrainTestModifyHeight();
|
||||||
app.start();
|
app.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize() {
|
public void simpleUpdate(float tpf){
|
||||||
super.initialize();
|
|
||||||
|
|
||||||
loadHintText();
|
|
||||||
initCrossHairs();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update() {
|
|
||||||
super.update();
|
|
||||||
|
|
||||||
updateHintText();
|
updateHintText();
|
||||||
|
|
||||||
|
if (raiseTerrain){
|
||||||
|
Vector3f intersection = getWorldIntersection();
|
||||||
|
if (intersection != null) {
|
||||||
|
adjustHeight(intersection, 64, 1);
|
||||||
|
}
|
||||||
|
}else if (lowerTerrain){
|
||||||
|
Vector3f intersection = getWorldIntersection();
|
||||||
|
if (intersection != null) {
|
||||||
|
adjustHeight(intersection, 64, -1);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void simpleInitApp() {
|
public void simpleInitApp() {
|
||||||
|
loadHintText();
|
||||||
|
initCrossHairs();
|
||||||
setupKeys();
|
setupKeys();
|
||||||
|
|
||||||
// First, we load up our textures and the heightmap texture for the terrain
|
// First, we load up our textures and the heightmap texture for the terrain
|
||||||
@ -203,21 +207,10 @@ public class TerrainTestModifyHeight extends SimpleApplication {
|
|||||||
terrain.setMaterial(matTerrain);
|
terrain.setMaterial(matTerrain);
|
||||||
}
|
}
|
||||||
} else if (name.equals("Raise")) {
|
} else if (name.equals("Raise")) {
|
||||||
if (pressed) {
|
raiseTerrain = pressed;
|
||||||
Vector3f intersection = getWorldIntersection();
|
|
||||||
if (intersection != null) {
|
|
||||||
adjustHeight(intersection, 64, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (name.equals("Lower")) {
|
} else if (name.equals("Lower")) {
|
||||||
if (pressed) {
|
lowerTerrain = pressed;
|
||||||
Vector3f intersection = getWorldIntersection();
|
|
||||||
if (intersection != null) {
|
|
||||||
adjustHeight(intersection, 32, -1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user