みんな!私は "基本"モデル/メッシュを取るプロジェクトに取り組んでおり、私はそれをより定義された地形のように形成します。私はメッシュを編集しようとすると問題が発生します。これは私がそれを行う方法は基本的である:(assets
がAssetManager
ある)テンプレートからLibGDX編集モデルメッシュ
Model terrain = assets.get("terrain.g3db", Model.class);
Mesh template = null;
for (float x = 0; x <= maxX; x += 1f) {
for (float z = 0; z <= maxZ; z += 1f) {
Mesh m = template.copy(false);
// get proper vertices here
mesh.setVertices(vertices);
terrain.calculateTransforms();
terrain.meshes.set(0, mesh);
ModelInstance terrainInstance = new ModelInstance(terrain);
terrainInstance.transform.setToTranslation(x, 0, z);
instances.add(terrainInstance);
}
}
私はちょうど平らな地形を得ることを行うときにのみ問題が、あります。この行を削除すると:
terrain.meshes.set(0, mesh);
私は地形を取得しますが、すべてのモデルインスタンスは同じものを持っています。この問題を解決するために、私はその行を削除し、このいずれかを追加する必要があります:私は考えて何
terrain.meshes.get(0).setVertices(vertices);
を、私はそれを設定するとフラットなマップがある原因となるラインで起こっている、それは、言ったかもしれないものを削除します"ねえ、このメッシュはモデルのこの部分に関連しています"。
スクリーンショット:Picture
UPDATE:Xoppaさんのコメント、私は各スポットのための新しいモデルをロードすることを示唆しているとおかげではなく、その行がなければPicture
:フラットマップを引き起こしラインで
そうするには、G3dModelLoader
を使用しなければなりません。それが可能であればAssetManager
を使用したいと思いますが、私はそうではないと思います...
それでは、どうしたのですか? – Xoppa
これを修正して、モデルを配列に積み重ねないようにします。私は、モデルが互いに独立したメッシュを持つことを望んでいます。 – mttprvst13
複数のモデルを作成する場合は、複数のモデルを作成します。あなたのコードでは、1つのモデルしかありません。 – Xoppa