Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js object.updateWorldMatrix不是函数_Three.js - Fatal编程技术网

Three.js object.updateWorldMatrix不是函数

Three.js object.updateWorldMatrix不是函数,three.js,Three.js,正如Three.js的文档所述,在更改相机的位置后,我们必须调用updateProjectMatrix()方法。 我也在做同样的事。但它给了我这样一个错误: TypeError:object.updateWorldMatrix不是函数 在Box3.expandByObject(三个.module.js:6329) 在Box3.setFromObject(三个.module.js:6233) 索引js:66 在GLTFLoader.js:147 在GLTFLoader.js:1639 我的目标是

正如Three.js的文档所述,在更改相机的位置后,我们必须调用
updateProjectMatrix()
方法。 我也在做同样的事。但它给了我这样一个错误:

TypeError:object.updateWorldMatrix不是函数
在Box3.expandByObject(三个.module.js:6329)
在Box3.setFromObject(三个.module.js:6233)
索引js:66
在GLTFLoader.js:147
在GLTFLoader.js:1639
我的目标是将加载的GLTF对象放在屏幕中央。 这是我使用的代码:

this.gltfLoader.load(“/corolla.gltf”,(object)=>{
const box=new THREE.Box3().setFromObject(对象);
const size=box.getSize(新的3.Vector3()).length();
const center=box.getCenter(新的3.Vector3());
//复位轨道控制
this.controls.reset();
object.position.x+=(object.position.x-center.x);
object.position.y+=(object.position.y-center.y);
object.position.z+=(object.position.z-center.z);
this.controls.maxDistance=大小*10;
this.camera.near=尺寸/100;
this.camera.far=尺寸*100;
this.camera.updateProjectMatrix();
这个。相机。位置。复制(中心);
这个.camera.position.x+=size/2.0;
此.camera.position.y+=size/5.0;
这个.camera.position.z+=size/2.0;
这个。摄像机。注视(中心);
this.gltf=object.scene;
this.scene.add(this.gltf);
},
这是一个很好的例子,
这是gltfLoadErr);

作为记录,我使用的是Three.js的最新版本,它是
0.110.0

这里似乎发生了错误:

const-box=new THREE.Box3().setFromObject(object);
其中
object
是从调用返回的对象

根据文档,
对象
不是
对象3D
(这是预期的)

相反,
object
是一个JSON结构,包含关于GLTF数据的信息。three.js示例建议
object.scene
将是一个可渲染实体(如果存在)

查看
GLTFLoader
示例的代码。将其与您的实现进行比较。您还可以调试代码,以准确查看
对象
包含的内容。一旦你解决了这个问题,如果你仍然有问题,回来问更多的问题