2

4つの立方体を並べて作成して壁をレンダリングしようとしていますが、テクスチャを適用するときに問題が発生します。JME3は立方体をレンダリングしてテクスチャを適用しますが、立方体の内部が表示されます。これは私が変更できる「ビュー」の形式ですか?もしそうなら、どのように?

以下は私が意味するもののコードと画像ですここに画像の説明を入力してください

    Box ground = new Box(new Vector3f(1.0f, -1.0f, 1.0f), 5, 0,-5);
    Geometry groundPlane = new Geometry("GroundPlane", ground);
    Material groundMat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
    groundMat.setColor("Color", ColorRGBA.Brown);
    groundPlane.setMaterial(groundMat);

    for(int i = 1; i < 5; i++)
    {
        Box wall = new Box(new Vector3f(0.0f, -1.0f, 0.0f), new Vector3f((float)i, 0.0f, -1.0f));
        Geometry wallFace = new Geometry("WallMesh", wall);
        Material wallSkin = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
        Texture tex_ml = assetManager.loadTexture("Interface/Wall.png");
        wallSkin.setTexture("ColorMap", tex_ml);
        wallFace.setMaterial(wallSkin);
        rootNode.attachChild(wallFace);            
    }

    rootNode.attachChild(groundPlane);      

敬具

エイデン・ストライドム

完了-最終コード

    Vector3f oldVec = Vector3f.ZERO;
    Vector3f newVec = Vector3f.ZERO;

    for(int i = 0; i < 5; i++)
    {
        newVec = new Vector3f((float)i, 0.0f, 0.0f);
        Box wall = new Box(oldVec, newVec);
        Geometry wallFace = new Geometry("WallMesh", wall);
        Material wallSkin = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
        wallSkin.setTexture("ColorMap", tex_ml);
        wallFace.setMaterial(wallSkin);
        //wallSkin.getAdditionalRenderState().setWireframe(true);
        oldVec = new Vector3f((float)i, -1.0f, -1.0f);
        rootNode.attachChild(wallFace);            
    }

    rootNode.attachChild(groundPlane);   

ここに画像の説明を入力してください

4

2 に答える 2

3

法線が反対方向を向いているようです。レンダリングエンジンをチェックして、逆法線機能があるかどうかを確認するか、頂点を逆の順序で指定する必要があります。

または、この方法を試してください

Box wall = new Box(new Vector3f(i, 0.0f, 0.0f), 1.0f, 1.0f, 1.0f);
于 2012-05-26T08:21:32.743 に答える
0

クラスはBoxあなた自身のものですか、それともjmonkeyによって提供されますか?

それがあなた自身のものである場合、あなたの三角巻きの順序は反転しているように見えます。

于 2012-05-25T14:06:49.437 に答える