【发布时间】:2015-06-02 12:01:09
【问题描述】:
我在搅拌机中创建了一个场景,它包含一些没有材质的网格,然后我将它导出到 collada,我使用 colladaloader 将它加载到 three.js 场景中,一切都很好,但是当我使用以下代码将一些材质给孩子时:
loader.load( "../models/islands/"+islandselected.getAttribute("data-model")+".dae", function(object){
scene.remove("island");
plane=object.scene;
plane.name=islandselected.innerHTML;
plane.traverse(function(child){
if(child.children[0]){
if(child.children[0].geometry){
console.log(child)
var t = new THREE.ImageUtils.loadTexture( '../models/islands/'+child.name+'.jpg' );
t.wrapS = t.wrapT = THREE.RepeatWrapping;
t.repeat.set( 50, 50 );
var ma= new THREE.MeshBasicMaterial( {map:t} );
child.children[0].material=ma
}
}
});
plane.scale.set(100,100,100);
scene.add(plane);
});
我在控制台中遇到错误: [.WebGLRenderingContext]GL 错误:GL_INVALID_OPERATION:glDrawElements:尝试访问属性 1 中超出范围的顶点 empcreator.jsp:1 WebGL:错误太多,不会再向控制台报告此上下文的错误。
【问题讨论】: