2

我正在尝试使用 philoGL 从主 webgl 视图中加载和删除模型。在原始脚本中,我找到了加载一个模型的地方。但是,我想删除第一个模型并用第二个模型替换它。

这是模型在开始时加载的方式:

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);

任何人的想法?谢谢, EL

4

1 回答 1

2

model在philoGL中替换 a 的最佳方法是

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

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

这是因为您无法model使用 PhiloGL 拥有的方法跟踪要替换的位置。要在其中执行操作,model您必须直接访问对象的models属性Scene

于 2014-02-20T13:28:13.830 回答