3

我正在使用 Three.js 库并尝试将细分修改器应用于模型。我能够成功加载模型,并且也能够成功地将细分修改器应用于 CubeGeometry(例如)。当下面注释的行被删除时,下面的代码可以工作,但是当然不会有“细分”。当代码按原样运行时,JavaScript 控制台会给出错误“Uncaught TypeError: Cannot read property 'u' of 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 ); 
});
4

1 回答 1

2

您可以尝试modifier.supportUVs = false抑制紫外线错误。

于 2012-06-29T03:01:22.170 回答