gpt4 book ai didi

三.js 类型错误 : Cannot read property 'center' of undefined

转载 作者:行者123 更新时间:2023-12-03 05:30:07 25 4
gpt4 key购买 nike

我正在尝试使用 node.js 和 Three.js 在服务器上导入 OBJ(尝试了不同的) - 解析文件后出现此错误。这是我导入几何图形的当前代码:

    var loader = new THREE.OBJLoader();
loader.load(modelPath, function (geometryObj) {
var materialObj = new THREE.MeshBasicMaterial( { vertexColors: THREE.FaceColors, overdraw: 0.5 } );
mesh = new THREE.Mesh(geometryObj, materialObj);
scene.add(mesh);

这是调用堆栈:

this.center.copy( sphere.center );
TypeError: Cannot read property 'center' of undefined
at THREE.Sphere.copy (eval at <anonymous> (/lib/three.js:32:3), <anonymous>:6074:27)
at THREE.Frustum.intersectsObject (eval at <anonymous> (/lib/three.js:32:3), <anonymous>:6253:11)
at eval (eval at <anonymous> (/lib/three.js:32:3), <anonymous>:36578:53)
at THREE.Object3D.traverseVisible (eval at <anonymous> (/lib/three.js:32:3), <anonymous>:7943:3)
at THREE.Object3D.traverseVisible (eval at <anonymous> (/lib/three.js:32:3), <anonymous>:7947:23)
at projectScene (eval at <anonymous> (/lib/three.js:32:3), <anonymous>:36568:9)
at render (eval at <anonymous> (/lib/three.js:32:3), <anonymous>:35449:28)

我知道这是已知问题 https://github.com/mrdoob/three.js/pull/3748 ,但我不知道如何修复这个错误。

最佳答案

自从我发现 OBJLoader 加载的对象已经是 THREE.Mesh 实例后,我遇到了同样的问题。

所以你应该这样做:

var loader = new THREE.OBJLoader();
loader.load(modelPath, function(object) {

// if you want to add your custom material
var materialObj = new THREE.MeshBasicMaterial({
vertexColors: THREE.FaceColors,
overdraw: 0.5
});
object.traverse(function(child) {
if (child instanceof THREE.Mesh) {
child.material = materialObj;
}
});

// then directly add the object
scene.add(object);
});

另请参阅this questionthis example on the three.js website .

关于三.js 类型错误 : Cannot read property 'center' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32039553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com