11

如何使用 THREE.OBJLoader 方法渲染 OBJ 文件,我有一个示例 OBJ 格式,但它不会渲染任何东西,也不会在 chrome 开发工具中看到错误

4

2 回答 2

10

在https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_obj.html#L75查看 OBJLoader 使用示例

(在行动http://mrdoob.github.com/three.js/examples/webgl_loader_obj.html

var loader = new THREE.OBJLoader();
loader.load( objURL, function ( object ) {
  scene.add( object );
} );
于 2012-07-04T21:20:51.040 回答
4

尝试在场景中添加灯光,或者只为 Obj 分配一个 MeshBasicMaterial 来查看它的形状:

    var objLoader = new THREE.OBJLoader();
    var material = new THREE.MeshBasicMaterial({color: 'yellow', side: THREE.DoubleSide});
    objLoader.load('file.obj', function (obj) {
        obj.traverse(function (child) {

            if (child instanceof THREE.Mesh) {
                child.material = material;
            }

        });
        scene.add(obj);
    });

然后你可以看到模型实际上已经被加载了。如果没有,请尝试调整相机的位置。

文档忽略了这一点,因此对于包括我在内的初学者来说,这一点似乎很混乱。:)

于 2015-02-17T04:33:20.957 回答