3

Three.js ライブラリを使用して、サブディビジョン モディファイアをモデルに適用しようとしています。モデルを正常にロードでき、サブディビジョン モディファイアを CubeGeometry (たとえば) に正常に適用できます。以下のコードは、下にコメントされている行が削除されたときに機能しますが、もちろん「細分化」はありません。コードをそのまま実行すると、JavaScript コンソールに「Uncaught TypeError: Cannot read property 'u' of null」というエラーが表示されます。私の推測では、clone() メソッドがまだ完成していないため、modify() メソッドが null 例外をスローしたと考えられます。

この問題を解決する方法についてのアイデアはありますか?

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 = falseUVエラーを抑制するためにやってみることができます。

于 2012-06-29T03:01:22.170 に答える