|
@@ -8,6 +8,7 @@
|
|
|
import { DragControls } from 'three/addons/controls/DragControls.js';
|
|
|
import {getStorage} from '@/utils/localStorage';
|
|
|
import { Toast } from 'mint-ui';
|
|
|
+ import { Range } from 'mint-ui';
|
|
|
var requestId = "";
|
|
|
const util = require('@/utils/util.js').default;
|
|
|
import viewAI from '@/components/newBottomCom/viewAI/viewAI.vue';
|
|
@@ -66,6 +67,7 @@
|
|
|
isIOS: false,
|
|
|
muted: true,
|
|
|
hasOneTouch: false,
|
|
|
+ rangeValue:50,
|
|
|
}
|
|
|
},
|
|
|
beforeDestroy() {
|
|
@@ -140,6 +142,7 @@
|
|
|
// let lineMesh = null;
|
|
|
let radius = 50; //全景图半径-全景图是个球体
|
|
|
let fingerCount = 0;
|
|
|
+ let lastPosition = new THREE.Vector3(0, -10, -10);
|
|
|
init();
|
|
|
// this.clearEvent = clearEvent;
|
|
|
// this.attendEvent = attendEvent;
|
|
@@ -147,6 +150,7 @@
|
|
|
this.stopRender = stopRender; //对外暴露停止渲染的方法
|
|
|
this.videoHandle = videoHandle; //视频处理方法
|
|
|
this.getVideoPosition = getVideoPosition; //获取视频位置信息
|
|
|
+ this.videoMeshChange = videoMeshChange; //数字人缩放方法
|
|
|
if(window.__wxjs_environment === 'miniprogram'){
|
|
|
this.navbar.showCapsule = 0;
|
|
|
}
|
|
@@ -452,10 +456,11 @@
|
|
|
let geometry = new THREE.PlaneGeometry(9, 16);
|
|
|
// 应用绿幕材质到对象上
|
|
|
let mesh = new THREE.Mesh(geometry, greenScreenMaterial);
|
|
|
- mesh.position.set(0, -10, -10);//设置视频位置
|
|
|
+ mesh.position.copy(lastPosition);//设置视频位置
|
|
|
// mesh.lookAt(camera.position);
|
|
|
scene.add(mesh);
|
|
|
videoMesh = mesh;
|
|
|
+ videoMeshChange(that.rangeValue);//同步数字人模型的缩放程度
|
|
|
// 设置物体的起始位置
|
|
|
// mesh.userData.startPosition = new THREE.Vector3(0, -10, 0);
|
|
|
// 创建一个球体几何体
|
|
@@ -480,6 +485,7 @@
|
|
|
});
|
|
|
dragControls.addEventListener('dragend', function ( event ) {
|
|
|
controls.enabled = true;
|
|
|
+ lastPosition.copy(videoMesh.position);
|
|
|
});
|
|
|
// 创建一个PlaneGeometry
|
|
|
// var planeGeometry = new THREE.PlaneGeometry(9, 16);
|
|
@@ -501,7 +507,14 @@
|
|
|
let _position = JSON.stringify(videoMesh.position);
|
|
|
return _position;
|
|
|
}
|
|
|
-
|
|
|
+ function videoMeshChange(data = 50) {
|
|
|
+ if(!videoMesh){
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ let sca = (data - 50)/50 + 1;
|
|
|
+ videoMesh.scale.x = sca
|
|
|
+ videoMesh.scale.y = sca
|
|
|
+ }
|
|
|
function stopRender() {
|
|
|
needRender = false;
|
|
|
}
|
|
@@ -513,7 +526,7 @@
|
|
|
needRender = true;
|
|
|
render(); //开始渲染
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
function render() {
|
|
|
if (needRender == false) {
|
|
|
return false;
|
|
@@ -531,6 +544,9 @@
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
+ rangeChange(e){
|
|
|
+ this.videoMeshChange(this.rangeValue)
|
|
|
+ },
|
|
|
navbarBackClk() {
|
|
|
|
|
|
},
|