我正在使用Three.js库并尝试将细分修改器应用于模型。我能够成功加载模型,并且我能够成功地将细分修改器应用于CubeGeometry(例如)。当删除下面评论的行时,下面的代码有效,但当然不会有“细分”。当代码按原样运行时,JavaScript控制台会给出错误“未捕获的TypeError:无法读取属性'u'的null”。我最好的猜测是clone()方法尚未完成,因此modify()方法抛出了一个空异常。
有关如何解决此问题的任何想法?
var loader = new THREE.JSONLoader();
loader.load( "models/parrot.js", function( geometry )
{
var material = new THREE.MeshFaceMaterial();
var mesh = new THREE.Mesh( geometry, material );
mesh.position.set(-50,25,0);
scene.add( mesh );
var smooth = THREE.GeometryUtils.clone( geometry );
smooth.mergeVertices();
var divisions = 2;
var modifier = new THREE.SubdivisionModifier( divisions );
modifier.modify( smooth ); // This is the line causing the error
var mesh2 = new THREE.Mesh( smooth, material );
mesh2.position.set(50,25,0);
scene.add( mesh2 );
});
答案 0 :(得分:2)
你可以尝试modifier.supportUVs = false
来抑制紫外线错误。