【问题标题】:JAVA - JMonkeyEngine - getting scene infoJAVA - JMonkeyEngine - 获取场景信息
【发布时间】:2013-12-12 12:38:18
【问题描述】:

我正在开发 JMonkeyEngine 3.0

我在 Scene.j3o 中有我的地图

我想添加细节层次,但我不知道如何获取地形的几何形状。 我发现的代码很少,但都是基于高度图地形,并使用 TerrainQuad。

我还想使用简单的草系统创建 2 个四边形,旋转它们,设置材质并克隆它们并添加到地图,但我不知道如何获取地形高度,这是教程中的一行:

  float y = myTerrainQuad.getHeight(new Vector2f(x, z));

【问题讨论】:

    标签: java java-me spatial terrain jmonkeyengine


    【解决方案1】:

    我遇到了和你一样的问题,按照 JME 3.0 的官方初学者指南中的地形教程进行操作。它开始帮助您使用 Scene.j3o 上的 IDE 上下文菜单创建地形,但是当他们开始查看地形上的高度以放置树木时,他们会切换到使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-11
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多