threejs在vue3中报错【TypeError: '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 ...】

1. 将scene定义成全局变量.

app.config.globalProperties.$scene = ''             //mainjs中定义
import { getCurrentInstance } from 'vue'
const { proxy } = getCurrentInstance()

proxy.$scene = new THREE.Scene()          //页面中使用

 

2.不用ref定义scene

let scene

scene = new THREE.Scene()

#补充#

如果requestAnimationFrame()无法让场景旋转,可以使用

复制代码
let scene

let camera = ref(null)
let renderer = ref(null)
scene = new THREE.Scene()  //创建场景
//创建相机
const k = window.innerWidth / window.innerHeight camera.value = new THREE.PerspectiveCamera(45,k,0.1,30000)
//创建渲染器 const element
= document.getElementById('container') renderer.value = new THREE.WebGLRenderer({ antialias: true, alpha: true }) const controls = new OrbitControls(camera.value, renderer.value.domElement) controls.addEventListener('change', () => { renderer.value.render(scene, camera.value) })
复制代码

 =========================2024-01-23===============================

最近在使用vue3.3时候 又报这个错 

把three相关的值全都去掉ref定义

let camera = null  //相机
let scene = null //场景
let particles = null //粒子
let renderer = null //渲染器
问题解决
posted @   环岛公路  阅读(3115)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示