Vue3 + Three.js 报错如下:

'get' on proxy: property 'modelViewMatrix' is a read-only and non-configurable data property on the proxy target but the proxy did not return its actual value (expected '#<Matrix4>' but got '#<Matrix4>')

在网上查了很多是说 将scene变量声明为全局变量https://blog.csdn.net/u010568976/article/details/121898487

但是我的情况有点不一样,场景的操作是另外封装的方法,所以以上办法并不能解决我的问题。

但是原因是一样的,由于我把模型的对象存储在vue页面的变量里,再回传给场景,这样会导致回传的模型变量变成了proxy对象.

解决方案:

将模型对象用ObjectLoader转换一下就可以啦。

const loader = new THREE.ObjectLoader();
// object 指 场景中的某个模型对象
loader.parse(object.toJSON())

Logo

前往低代码交流专区

更多推荐