2

philoGL を使用して、メインの webgl ビューからモデルを読み込んで削除しようとしています。元のスクリプトで、1 つのモデルがロードされている場所を見つけました。ただし、最初のモデルを削除して、2 番目のモデルに置き換えたいと考えています。

これは、開始時にモデルがロードされる方法です。

model = new O3D.Model({
    program: 'default',
    drawType: (item[0] == 't') ? "TRIANGLES" : "TRIANGLE_STRIP",
    vertices: item[1],
    normals: item[2],
    colors: item[3],
    indices: item[4]
});
scene.add(model);

次のコードを実行することを考えていました。

scene.remove(model);
scene.add(otherModel);

アイデアはありますか?ありがとう、エル

4

1 に答える 1

2

modelaを philoGL で置き換える最良の方法は、

var indexModel = scene.models.indexOf(model);

if (indexModel > -1) {
   models.splice(indexModel, 1, otherModel);
   scene.defineBuffers(otherModel);
}

modelこれは、PhiloGL が持つメソッドに置き換えたいの位置を追跡できないためです。で操作を実行するには、オブジェクトのプロパティに直接modelアクセスする必要があります。modelsScene

于 2014-02-20T13:28:13.830 に答える