|
@@ -7,6 +7,7 @@ import dsWindRect from './duishe.threejs';
|
|
|
import lmWindRectSide from './longmenSide.threejs';
|
|
|
import useEvent from '../../../../utils/threejs/useEvent';
|
|
|
import gsap from 'gsap';
|
|
|
+import ddWindRect from './dantou.threejs';
|
|
|
// import * as dat from 'dat.gui';
|
|
|
// const gui = new dat.GUI();
|
|
|
// gui.domElement.style = 'position:absolute;top:100px;left:10px;z-index:99999999999999';
|
|
@@ -18,6 +19,7 @@ let model, //
|
|
|
zdWindRectObj,
|
|
|
dsWindRectObj,
|
|
|
lmWindRectSideObj,
|
|
|
+ ddWindRectObj,
|
|
|
windRectType = 'lmWindRect';
|
|
|
|
|
|
const { mouseDownFn } = useEvent();
|
|
@@ -37,6 +39,8 @@ const startAnimation = () => {
|
|
|
dsWindRectObj.mouseUpModel.call(dsWindRectObj);
|
|
|
} else if (windRectType === 'lmWindSide') {
|
|
|
lmWindRectSideObj.mouseUpModel.call(lmWindRectSideObj);
|
|
|
+ } else if (windRectType === 'ddWindSide') {
|
|
|
+ ddWindRectObj.mouseUpModel.call(ddWindRectObj);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
@@ -52,6 +56,8 @@ const mouseEvent = (event) => {
|
|
|
dsWindRectObj.mousedownModel.call(dsWindRectObj, intersects);
|
|
|
} else if (windRectType === 'lmWindSide') {
|
|
|
lmWindRectSideObj.mousedownModel.call(lmWindRectSideObj, intersects);
|
|
|
+ } else if (windRectType === 'ddWindSide') {
|
|
|
+ ddWindRectObj.mousedownModel.call(ddWindRectObj, intersects);
|
|
|
}
|
|
|
});
|
|
|
console.log('摄像头控制信息', model.orbitControls, model.camera);
|
|
@@ -66,7 +72,9 @@ export const addFmText = (selectData) => {
|
|
|
} else if (windRectType.startsWith('dsWindRect')) {
|
|
|
return dsWindRectObj.addFmText.call(dsWindRectObj, selectData);
|
|
|
} else if (windRectType === 'lmWindSide') {
|
|
|
- lmWindRectSideObj.addFmText.call(lmWindRectSideObj, selectData);
|
|
|
+ return lmWindRectSideObj.addFmText.call(lmWindRectSideObj, selectData);
|
|
|
+ } else if (windRectType === 'ddWindSide') {
|
|
|
+ return ddWindRectObj.addFmText.call(ddWindRectObj, selectData);
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -122,6 +130,9 @@ export const setModelType = (type) => {
|
|
|
if (model.scene.getObjectByName('lmcfSide')) {
|
|
|
model.scene.remove(lmWindRectSideObj.group);
|
|
|
}
|
|
|
+ if (model.scene.getObjectByName('ddcf')) {
|
|
|
+ model.scene.remove(ddWindRectObj.group);
|
|
|
+ }
|
|
|
const oldCameraPosition = { x: -1000, y: 100, z: 500 };
|
|
|
model.scene.add(lmWindRectObj.group);
|
|
|
setTimeout(async () => {
|
|
@@ -151,6 +162,9 @@ export const setModelType = (type) => {
|
|
|
if (model.scene.getObjectByName('lmcfSide')) {
|
|
|
model.scene.remove(lmWindRectSideObj.group);
|
|
|
}
|
|
|
+ if (model.scene.getObjectByName('ddcf')) {
|
|
|
+ model.scene.remove(ddWindRectObj.group);
|
|
|
+ }
|
|
|
model.scene.add(zdWindRectObj.group);
|
|
|
const oldCameraPosition = { x: -1000, y: 100, z: 500 };
|
|
|
setTimeout(async () => {
|
|
@@ -185,11 +199,21 @@ export const setModelType = (type) => {
|
|
|
if (model.scene.getObjectByName('lmcfSide')) {
|
|
|
model.scene.remove(lmWindRectSideObj.group);
|
|
|
}
|
|
|
+ if (model.scene.getObjectByName('ddcf')) {
|
|
|
+ model.scene.remove(ddWindRectObj.group);
|
|
|
+ }
|
|
|
model.scene.add(dsWindRectObj.group);
|
|
|
setTimeout(async () => {
|
|
|
resolve(null);
|
|
|
const oldCameraPosition = { x: -1020, y: 100, z: 500 };
|
|
|
- await animateCamera(oldCameraPosition, { x: 0, y: 0, z: 0 }, { x: 46.257, y: 57.539, z: 104.313 }, { x: 1.84, y: 0.98, z: -1.44 }, model, 0.8);
|
|
|
+ await animateCamera(
|
|
|
+ oldCameraPosition,
|
|
|
+ { x: 0, y: 0, z: 0 },
|
|
|
+ { x: 46.257, y: 57.539, z: 104.313 },
|
|
|
+ { x: 1.84, y: 0.98, z: -1.44 },
|
|
|
+ model,
|
|
|
+ 0.8
|
|
|
+ );
|
|
|
}, 300);
|
|
|
} else if (windRectType === 'lmWindSide') {
|
|
|
model.startAnimation = lmWindRectSideObj.render.bind(lmWindRectSideObj);
|
|
@@ -206,6 +230,9 @@ export const setModelType = (type) => {
|
|
|
if (model.scene.getObjectByName('dscf')) {
|
|
|
model.scene.remove(dsWindRectObj.group);
|
|
|
}
|
|
|
+ if (model.scene.getObjectByName('ddcf')) {
|
|
|
+ model.scene.remove(ddWindRectObj.group);
|
|
|
+ }
|
|
|
const oldCameraPosition = { x: -1000, y: 100, z: 500 };
|
|
|
model.scene.add(lmWindRectSideObj.group);
|
|
|
setTimeout(async () => {
|
|
@@ -223,6 +250,35 @@ export const setModelType = (type) => {
|
|
|
);
|
|
|
// lmWindRectSideObj.playCamera(true);
|
|
|
}, 300);
|
|
|
+ } else if (windRectType.startsWith('ddWindSide')) {
|
|
|
+ model.startAnimation = ddWindRectObj.render.bind(ddWindRectObj);
|
|
|
+ group = ddWindRectObj.group;
|
|
|
+
|
|
|
+ if (model.scene.getObjectByName('lmcf')) {
|
|
|
+ model.scene.remove(lmWindRectObj.group);
|
|
|
+ }
|
|
|
+ if (model.scene.getObjectByName('zdcf')) {
|
|
|
+ model.scene.remove(zdWindRectObj.group);
|
|
|
+ }
|
|
|
+ if (model.scene.getObjectByName('lmcfSide')) {
|
|
|
+ model.scene.remove(lmWindRectSideObj.group);
|
|
|
+ }
|
|
|
+ if (model.scene.getObjectByName('dscf')) {
|
|
|
+ model.scene.remove(dsWindRectObj.group);
|
|
|
+ }
|
|
|
+ model.scene.add(ddWindRectObj.group);
|
|
|
+ setTimeout(async () => {
|
|
|
+ resolve(null);
|
|
|
+ const oldCameraPosition = { x: -1020, y: 100, z: 500 };
|
|
|
+ await animateCamera(
|
|
|
+ oldCameraPosition,
|
|
|
+ { x: 0, y: 0, z: 0 },
|
|
|
+ { x: 46.257, y: 57.539, z: 104.313 },
|
|
|
+ { x: 1.84, y: 0.98, z: -1.44 },
|
|
|
+ model,
|
|
|
+ 0.8
|
|
|
+ );
|
|
|
+ }, 300);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
@@ -241,6 +297,8 @@ export const mountedThree = (playerVal1, playerVal2) => {
|
|
|
await dsWindRectObj.mountedThree();
|
|
|
lmWindRectSideObj = new lmWindRectSide(model, playerVal1, playerVal2);
|
|
|
await lmWindRectSideObj.mountedThree();
|
|
|
+ ddWindRectObj = new ddWindRect(model);
|
|
|
+ await ddWindRectObj.mountedThree();
|
|
|
|
|
|
resolve(null);
|
|
|
model.animate();
|