我正在研究JMonkeyEngine 3.0
我在Scene.j3o
中有我的地图我想添加细节级别,但我不知道如何获得地形几何。 我发现很少的代码,但都是基于高度图地形,并使用TerrainQuad。
此外,我想使用简单的草系统,创建2个四边形,旋转它们,设置材料并克隆它们并添加到地图,但我不知道如何获得地形的高度,这里是教程中的一行:
float y = myTerrainQuad.getHeight(new Vector2f(x, z));
答案 0 :(得分:0)
我遇到了与你一样的问题,在JME 3.0官方初学者指南中遵循了地形教程。它开始帮助您使用Scene.j3o上的IDE上下文菜单创建地形,但是当他们查看地形上的高度以进行树放置时,他们会切换到使用TerrainQuad对象进行描述,就像您说的那样。 / p>
我很高兴地说我刚才通过从.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