第一种方法:
拿到相机 然后监控watch 更改:
详见:https://gitee.com/ice-gl/icegl-three-vue-tres/blob/master/src/plugins/digitalCity/pages/depthBufferDiffuse.vue
第二种方法:
通过默认相机 监听 详见:
1、https://gitee.com/ice-gl/icegl-three-vue-tres/blob/master/src/plugins/simpleGIS/pages/cloundSate.vue
给TresPerspectiveCamera 增加 makeDefault 默认属性
2、https://gitee.com/ice-gl/icegl-three-vue-tres/blob/master/src/plugins/simpleGIS/components/forThreeTile/mapBoxShow2.vue
const { camera, controls, scene, renderer } = useTresContext()
//通过controls来控制摄像头位置
watch(
() => controls.value,
(value: any) => {
if (value) {
value.target.copy(centerPostion)
}
},
)
这样写好像都直接报错
您这个思路的话 应该是这样哈
但是 在修改tres.js的 PerspectiveCamera对象时,可能出现问题 因为会关联控制器
所以赋值时都尽量在controls上进行动态修改
:position=“[...creamPosition]”
报错是没加引号吗creamPosition得是个数组