gpt4 book ai didi

java - 为什么我的几何图形不会出现? (jMonkey引擎)

转载 作者:行者123 更新时间:2023-12-01 11:26:14 24 4
gpt4 key购买 nike

我刚刚开始使用 jMonkeyEngine,但遇到了一个似乎无法解决的问题。

在主类的simpleInitApp方法中,我可以使用以下代码成功渲染一个盒子:

    Box playerBase = new Box(Vector3f.ZERO,1f,1f,1f);
Geometry playerBaseGeom = new Geometry("playerBase", playerBase);
Transform fixBaseHeight = new Transform(
new Vector3f(0f,(0.5f * 2f),0f));
playerBaseGeom.setLocalTransform(fixBaseHeight);
Material playerBaseMaterial = new Material(assetManager,
"Common/MatDefs/Misc/Unshaded.j3md");
playerBaseMaterial.setColor("Color", ColorRGBA.Yellow);
playerBaseGeom.setMaterial(playerBaseMaterial);
rootNode.attachChild(playerBaseGeom);

我尝试使用一个名为Tower的类来生成几个代表塔的盒子(对于一个简单的塔防游戏)。塔类看起来像这样:

public class Tower {

private static final float HEIGHT = 0.5f;
private static final float WIDTH = 0.2f;
private static final float DEPTH = 0.2f;

private Geometry towerGeom;
private Material towerMaterial;
private Box tower;

public Tower(AssetManager assetManager, float x_coord, float z_coord) {

tower = new Box();
towerGeom = new Geometry("tower", tower);
towerMaterial = new Material(assetManager,
"Common/MatDefs/Misc/Unshaded.j3md");
towerMaterial.setColor("Color", ColorRGBA.Green);
towerGeom.setMaterial(towerMaterial);

towerGeom.setLocalTranslation(x_coord, (0.5f * .5f),z_coord);
towerGeom.setLocalScale(WIDTH, HEIGHT, DEPTH);
}

public Geometry getGeometry() {
return towerGeom;
}
}

在主类的 simpleInitApp 方法中,我尝试使用新的 Tower 类,如下所示:

    List <Tower> towers = new ArrayList<Tower>();
towers.add(new Tower(assetManager, 10f,8f));
for(Tower t:towers) {
rootNode.attachChild(t.getGeometry());
}

但是,没有渲染任何立方体。为什么?我使用了与开头所示完全相同的过程,该过程有效。

最佳答案

Box() 构造函数仅用于序列化,不会初始化网格。上例中的构造函数已被弃用。使用:

tower = new Box(0.5f, 0.5f, 0.5f);

这将创建一个大小为 1x1x1 、以 [0, 0, 0] 为中心的立方体。

另外,一定要看看塔楼。使用默认相机位置和 [10, 0, 8] 的塔,它将放置在您身后。

getCamera().lookAt( new Vector3f(10f, 0, 8f), Vector3f.UNIT_Y );

我建议您查阅 jME 源代码来解决此类问题,这样您就可以确定发生了什么。

关于java - 为什么我的几何图形不会出现? (jMonkey引擎),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30784059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com