Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jMonkeyEngine3(jME3)地形详细等级_Java_3d_Terrain_Jmonkeyengine - Fatal编程技术网

Java jMonkeyEngine3(jME3)地形详细等级

Java jMonkeyEngine3(jME3)地形详细等级,java,3d,terrain,jmonkeyengine,Java,3d,Terrain,Jmonkeyengine,我试图在jMonkeyEnging中生成地形,并且已经遵循了教程()的内容,但是遇到了一个小问题。在simpleInitApp方法(详细级别)中的最后一段代码中,我得到了错误: 1. Cannot Find Symbol: class list 2. Cannot Find Symbol: class camera 3. Cannot Find Symbol: class arrayList 删除详细等级编码时,运行时会出现错误: 1. SEVERE: Uncaught exception t

我试图在jMonkeyEnging中生成地形,并且已经遵循了教程()的内容,但是遇到了一个小问题。在simpleInitApp方法(详细级别)中的最后一段代码中,我得到了错误:

1. Cannot Find Symbol: class list
2. Cannot Find Symbol: class camera
3. Cannot Find Symbol: class arrayList
删除详细等级编码时,运行时会出现错误:

1. SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.NullPointerException
    at mygame.Main.simpleInitApp(Main.java:35)
        at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:231)
    at         com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:129)
    at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:205)
    at java.lang.Thread.run(Thread.java:722)
我做错了什么,这不在教程中(或我的代码,下面)

packagemygame;
导入com.jme3.app.SimpleApplication;
导入com.jme3.material.material;
导入com.jme3.terrain.geomipmap.TerrainLodControl;
导入com.jme3.terrain.heightmap.AbstractHeightMap;
导入com.jme3.terrain.geomipmap.TerrainQuad;
导入com.jme3.terrain.geomipmap.lodcalc.DistanceLodCalculator;
导入com.jme3.terrain.heightmap.HillHeightMap;//练习2
导入com.jme3.terrain.heightmap.ImageBasedHeightMap;
导入com.jme3.texture.texture;
导入com.jme3.texture.texture.WrapMode;
导入jme3tools.converters.ImageToAwt;
/**
*试验
*@作者:我
*/
公共类Main扩展了SimpleApplication{
公共静态void main(字符串[]args){
主应用程序=新主应用程序();
app.start();
}
私人地形四重地形;
材料层地形;
@凌驾
public void simpleInitApp(){
flyCam.设置移动速度(50);
//将草添加到mat_地形
纹理grass=assetManager.loadTexture(“Textures/grass.jpg”);
mat_terrain.setTexture(“tex1”,草);
mat_terrain.setFloat(“tex1Scale”,64f);
//在mat_地形上添加污垢
纹理污垢=assetManager.loadTexture(“Textures/dirt.jpg”);
mat_terrain.setTexture(“tex2”,泥土);
mat_terrain.setFloat(“tex2Scale”,32f);
//向mat_地形添加道路
纹理道路=assetManager.loadTexture(“纹理/road.jpg”);
mat_terrain.Settextre(“tex2”,道路);
mat_terrain.setFloat(“tex3Scale”,128f);
//与一代人打交道
AbstractHeightMap heightMap=null;
HillHeightMap heightmap=null;
试一试{
heightmap=新的HillHeightMap(5131000,50100,(字节)3);
}捕获(例外情况除外){
例如printStackTrace();
}
//创造世界
int patchSize=65;
terrain=new TerrainQuad(“我的地形”,补丁大小,513,heightmap.getHeightMap());
//材料、位置、比例
地形。设置材料(mat_地形);
地形.setLocalTranslation(0,-100,0);
地形。设置局部比例(2f、1f、2f);
rootNode.attachChild(地形);
//LOD
列表摄影机=新的ArrayList();
添加(getCamera());
TerrainLodControl=新的TerrainLodControl(地形、摄像头);
地形控制(控制);
}
}
您需要导入Camera(来自jME3渲染包)以及List和ArrayList(来自java.util)

你最好在论坛上发布任何与jME相关的问题

    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;

    /**
     * test
     * @author Me
     */
    public class Main extends SimpleApplication {

        public static void main(String[] args) {
            Main app = new Main();
            app.start();
        }

        private TerrainQuad terrain;
        Material mat_terrain;

        @Override
        public void simpleInitApp() {
            flyCam.setMoveSpeed(50);

            //add grass to the mat_terrain
            Texture grass = assetManager.loadTexture("Textures/grass.jpg");
            mat_terrain.setTexture("tex1", grass);
            mat_terrain.setFloat("tex1Scale", 64f);

            //add dirt to the mat_terrain
            Texture dirt = assetManager.loadTexture("Textures/dirt.jpg");
            mat_terrain.setTexture("tex2", dirt);
            mat_terrain.setFloat("tex2Scale", 32f);

            //add roads to the mat_terrain
            Texture road = assetManager.loadTexture("Textures/road.jpg");
            mat_terrain.setTexture("tex2", road);
            mat_terrain.setFloat("tex3Scale", 128f);

            //deal with the generation
            AbstractHeightMap heightMap = null;
            HillHeightMap heightmap = null;
            try {
                heightmap = new HillHeightMap(513, 1000, 50, 100, (byte) 3);
            } catch (Exception ex) {
                ex.printStackTrace();
            }

            //create the world
            int patchSize = 65;
            terrain = new TerrainQuad("my terrain", patchSize, 513,                    heightmap.getHeightMap());

            //material, position, scale

            terrain.setMaterial(mat_terrain);
            terrain.setLocalTranslation(0, -100, 0);
            terrain.setLocalScale(2f, 1f, 2f);
            rootNode.attachChild(terrain);

            //LOD
            List<Camera> cameras = new ArrayList<Camera>();
            cameras.add(getCamera());
            TerrainLodControl control = new TerrainLodControl(terrain, cameras);
            terrain.addControl(control);
        }
    }