我正在开发JMonkeyEngine 3.0
我的地图在Scene.j3o
我想添加细节级别,但我不知道如何获得地形的几何形状。我发现很少的代码,但所有的都是基于高度图地形,并使用TerrainQuad。
我也想使用简单的草地系统来创建2个四边形,旋转它们,设置材质并克隆它们,然后添加到地图上,但我不知道如何获得地形的高度,下面是教程中的代码:
float y = myTerrainQuad.getHeight(new Vector2f(x, z));发布于 2014-12-05 23:25:11
我和你有同样的问题,我已经学习了JME3.0的官方入门指南中的地形教程。它首先帮助您使用Scene.j3o上的集成开发环境上下文菜单创建地形,但当他们开始查看地形上的高度以放置树木时,他们会切换到使用TerrainQuad对象来描述它,正如您所说的那样。
我非常高兴地说,我刚刚通过从.j3o中提取TerrainQuad解决了这个问题:
Spatial terrainGeo = assetManager.loadModel("Scenes/bumpyScene.j3o");
TerrainQuad terrainQuad = ((TerrainQuad)((Node)terrainGeo).getChild("terrain-bumpyScene"));
Geometry someObject = new Geometry("SomeObject", new Box(.1f, .1f, .1f));
terrainQuad.getHeight(
new Vector2f(someObject.getLocalTranslation().x, someObject.getLocalTranslation().y) );在SceneExplorer中,可以看到场景的结构和名称。如您所见,编辑器向导创建了一个TerrainQuad,在本例中,我的TerrainQuad位于名为"terrain-bumpyScene“的节点下。

最后要注意的是,使用遍历节点代码来调试某些问题会很有帮助,这个链接对我解决这个任务非常有帮助:JME advanced docs, node traversal
https://stackoverflow.com/questions/20543815
复制相似问题