|
@@ -235,17 +235,17 @@
|
|
|
// controls.target.copy(camera.position);
|
|
|
// controls.update();
|
|
|
// 监听相机移动事件-限制只能在当前空间范围内移动
|
|
|
- // controls.addEventListener('change', () => {
|
|
|
- // // 检查相机位置是否超出边界框
|
|
|
- // if (boundary && !boundary.containsPoint(camera.position)) {
|
|
|
- // let clampedPosition = new THREE.Vector3( );
|
|
|
- // boundary.clampPoint(camera.position,clampedPosition);
|
|
|
- // if(clampedPosition){
|
|
|
- // camera.position.copy(clampedPosition);
|
|
|
- // // controls.target.copy(clampedPosition);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // });
|
|
|
+ controls.addEventListener('change', () => {
|
|
|
+ // 检查相机位置是否超出边界框
|
|
|
+ if (boundary && !boundary.containsPoint(camera.position)) {
|
|
|
+ let clampedPosition = new THREE.Vector3( );
|
|
|
+ boundary.clampPoint(camera.position,clampedPosition);
|
|
|
+ if(clampedPosition){
|
|
|
+ camera.position.copy(clampedPosition);
|
|
|
+ // controls.target.copy(clampedPosition);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
// controls.target = new THREE.Vector3( );;
|
|
|
// camera.lookAt(that.controlStarPosition.x,that.controlStarPosition.y,that.controlStarPosition.z);
|
|
|
raycaster = new THREE.Raycaster();
|
|
@@ -346,11 +346,11 @@
|
|
|
// let spaceId = that.gltfSpaces[index].spaceId;//获取选中实例的空间id
|
|
|
console.warn("***checkIntersection-地板***",mesh,floor,index,spaceId,that.spaceId)
|
|
|
//当前拾取到的是本空间的底部-意味着用户点击了地板
|
|
|
- // if(floor && spaceId == that.spaceId){
|
|
|
+ if(floor && spaceId == that.spaceId){
|
|
|
// console.warn("***checkIntersection-地板***",mesh,floor)
|
|
|
moveCarmer(mesh.point);
|
|
|
return false;
|
|
|
- // }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -389,6 +389,9 @@
|
|
|
moveTip(cameraNewPosition)
|
|
|
// console.warn("**moveCarmer***",lon,JSON.stringify(cameraNewPosition),JSON.stringify(targetNewPosition))
|
|
|
tweenCamera(camera.position,controls.target,cameraNewPosition,targetNewPosition,oldUp,newUp,2000);
|
|
|
+ setTimeout(()=> {
|
|
|
+ that.circleGroup.visible = false;
|
|
|
+ }, 2000);
|
|
|
}
|
|
|
//创建地标
|
|
|
function creatMoveTip(position){
|
|
@@ -410,6 +413,7 @@
|
|
|
});
|
|
|
that.circleGroup.add(circle);
|
|
|
scene.add(that.circleGroup);
|
|
|
+ that.circleGroup.visible = false;
|
|
|
}
|
|
|
}
|
|
|
//移动地标
|
|
@@ -427,6 +431,7 @@
|
|
|
that.circleGroup.add(circle);
|
|
|
scene.add(that.circleGroup);
|
|
|
}else{
|
|
|
+ that.circleGroup.visible = true;
|
|
|
that.circleGroup.children[0].position.set(position.x,0.01,position.z);
|
|
|
}
|
|
|
}
|
|
@@ -439,12 +444,13 @@
|
|
|
let targetNewPosition = obj.targetNewPosition;
|
|
|
let oldUp = {x:0,y:1,z:0}; //俯视
|
|
|
let newUp = {x:0,y:1,z:0}; //正视
|
|
|
- moveTip(cameraNewPosition);
|
|
|
+ // moveTip(cameraNewPosition);
|
|
|
console.warn("**moveActor***",JSON.stringify(cameraNewPosition),JSON.stringify(targetNewPosition))
|
|
|
tweenCamera(camera.position,controls.target,cameraNewPosition,targetNewPosition,oldUp,newUp,2000);
|
|
|
lon = 0;
|
|
|
setTimeout(()=> {
|
|
|
attendEvent()
|
|
|
+ // that.circleGroup.visible = false;
|
|
|
}, 2000);
|
|
|
}
|
|
|
//初始化点位视角
|