【发布时间】:2018-04-27 09:53:34
【问题描述】:
如何使用 THREE.OBJLoader 方法渲染 OBJ 文件,我有一个示例 OBJ 格式,但它不会渲染任何东西,也不会在 chrome 开发工具中看到错误
【问题讨论】:
标签: javascript three.js
如何使用 THREE.OBJLoader 方法渲染 OBJ 文件,我有一个示例 OBJ 格式,但它不会渲染任何东西,也不会在 chrome 开发工具中看到错误
【问题讨论】:
标签: javascript three.js
查看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 );
} );
【讨论】:
尝试在场景中添加灯光或只为 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);
});
然后你可以看到模型实际上已经被加载了。如果没有,请尝试调整相机的位置。
文档忽略了这一点,因此对于包括我在内的初学者来说,这似乎很混乱。 :)
【讨论】: