|
@@ -350,9 +350,9 @@
|
|
|
}
|
|
|
function attendEvent () {
|
|
|
window.addEventListener('resize', onWindowResize);
|
|
|
- renderer.domElement.addEventListener('touchstart', onPointerStart, false);
|
|
|
- renderer.domElement.addEventListener('touchmove', onPointerMove, false);
|
|
|
- renderer.domElement.addEventListener('touchend', onPointerUp, false);
|
|
|
+ // renderer.domElement.addEventListener('touchstart', onPointerStart, false);
|
|
|
+ // renderer.domElement.addEventListener('touchmove', onPointerMove, false);
|
|
|
+ // renderer.domElement.addEventListener('touchend', onPointerUp, false);
|
|
|
}
|
|
|
function tweenCameraAnmaChange (value) {
|
|
|
tweenCameraAnma = value
|
|
@@ -363,9 +363,9 @@
|
|
|
//取消事件监听-避免二次进入时触发多次事件
|
|
|
function clearEvent(){
|
|
|
console.warn("**clearEvent****")
|
|
|
- renderer && renderer.domElement && renderer.domElement.removeEventListener('touchstart', onPointerStart);
|
|
|
- renderer && renderer.domElement && renderer.domElement.removeEventListener('touchmove', onPointerMove );
|
|
|
- renderer && renderer.domElement && renderer.domElement.removeEventListener('touchend', onPointerUp );
|
|
|
+ // renderer && renderer.domElement && renderer.domElement.removeEventListener('touchstart', onPointerStart);
|
|
|
+ // renderer && renderer.domElement && renderer.domElement.removeEventListener('touchmove', onPointerMove );
|
|
|
+ // renderer && renderer.domElement && renderer.domElement.removeEventListener('touchend', onPointerUp );
|
|
|
}
|
|
|
// 手指移动开始
|
|
|
function onPointerStart(event){
|
|
@@ -522,6 +522,7 @@
|
|
|
|
|
|
// that.showLables = false;
|
|
|
// let canvas_webgl = document.getElementById('canvas_webgl');
|
|
|
+ console.log("相机变化1:", camera.position.y);
|
|
|
var tween = new TWEEN.Tween({
|
|
|
h1: _jisua,
|
|
|
})
|
|
@@ -537,12 +538,20 @@
|
|
|
camera.top = frustumSize / 2;
|
|
|
camera.bottom = frustumSize / -2;
|
|
|
camera.updateProjectionMatrix();
|
|
|
- // that.canvasHeight = object.h1;
|
|
|
}
|
|
|
else if(camera.isPerspectiveCamera){//透视相机
|
|
|
camera.aspect = screenWidth / object.h1;
|
|
|
camera.updateProjectionMatrix();
|
|
|
renderer.setSize( screenWidth, object.h1 );
|
|
|
+ let step = 0.12;//每次缩放放大的尺度
|
|
|
+ let _juli = step * Math.tan(Math.PI / 8);//由于观测点和相机存在角度,所以要计算每次变化尺度产生的Z轴变化量
|
|
|
+ if(_height>0){
|
|
|
+ camera.position.y = camera.position.y + step;
|
|
|
+ camera.position.z = camera.position.z + _juli;
|
|
|
+ }else{
|
|
|
+ camera.position.y = camera.position.y - step;
|
|
|
+ camera.position.z = camera.position.z - _juli;
|
|
|
+ }
|
|
|
// that.canvasHeight = object.h1;
|
|
|
}
|
|
|
}).onComplete(()=>{
|
|
@@ -550,6 +559,7 @@
|
|
|
camera.updateProjectionMatrix();
|
|
|
renderer.setSize(screenWidth, that.canvasHeight );
|
|
|
tweenCameraAnma = false;
|
|
|
+ console.log("相机变化2:", camera.position.y);
|
|
|
// that.showLables = true;
|
|
|
// updateLables();//更新lable
|
|
|
});
|
|
@@ -1556,37 +1566,6 @@
|
|
|
this.currentChangeSpaceId = null;//变化结束后
|
|
|
console.warn("***curLayoutStruct-updataPageData***",this.changeArea,this.sumArea,this.curHouseFloor,this.curHouseObj)
|
|
|
},
|
|
|
- // //户型大类发生了变更
|
|
|
- // curHouseTypeChange(item){
|
|
|
- // this.curHouseType = item.spaceStructure;//当前选中的户型类型-传递给子组件触发具体的户型数据选取
|
|
|
- // this.curHouseName = item.spaceName;//当前选中的户型类型名称
|
|
|
- // //获取当前户型大类下的所有户型信息-用于用户提交
|
|
|
- // this.curLayoutStruct = this.houseList.find(it=>it.spaceStructure == this.curHouseType).layoutStruct;
|
|
|
- // this.curLayoutStruct.forEach(it=>{
|
|
|
- // this.layoutArea += it.houseArea
|
|
|
- // })
|
|
|
- // console.warn("***curLayoutStruct***",this.curLayoutStruct)
|
|
|
- // },
|
|
|
- // //户型楼层发生了变更
|
|
|
- // curHouseFloorChange(item){
|
|
|
- // let that = this;
|
|
|
- // this.curHouseFloor = item.houseFloor;//当前选中的户型楼层
|
|
|
- // this.curHouseObj = item;//更新当前具体的户型数据
|
|
|
- // this.id = this.curHouseObj.id;
|
|
|
- // // 遍历场景中的所有子对象,找到类型为Mesh的对象并移除
|
|
|
- // let deleList = that.scene && that.scene.children.filter(object=>{
|
|
|
- // if(object.userType=="mesh" || object.userType=="layoutMesh"){
|
|
|
- // return object
|
|
|
- // }
|
|
|
- // })
|
|
|
- // // console.warn("***deleList***",deleList)
|
|
|
- // if(deleList && deleList.length>0){
|
|
|
- // that.showLables = false;//隐藏lable
|
|
|
- // that.scene.remove(...deleList);
|
|
|
- // }
|
|
|
- // this.houseInit()
|
|
|
-
|
|
|
- // },
|
|
|
//当前户型初始化
|
|
|
houseInit(item){
|
|
|
this.gltfWalls = [];
|
|
@@ -1599,8 +1578,7 @@
|
|
|
this.instancedFurList = [];
|
|
|
this.wallList = [];
|
|
|
this.changeArea = 0;
|
|
|
- //恢复初始视角
|
|
|
- this.cameraInit();
|
|
|
+ // this.cameraInit();
|
|
|
this.resetControl();
|
|
|
setTimeout(()=>{
|
|
|
this.loadSpace();
|
|
@@ -1612,6 +1590,12 @@
|
|
|
this.sumArea = this.curHouseObj.houseArea;
|
|
|
this.fixedArea = this.curHouseObj.houseArea;
|
|
|
this.curHouseName = this.curHouseObj.name;
|
|
|
+ if(this.curHouseObj.houseArea<=100){//面积小于100平米,则摄像头靠近一点
|
|
|
+ this.cameraStarPosition.y = 20;
|
|
|
+ }else if(this.curHouseObj.houseArea>100){
|
|
|
+ this.cameraStarPosition.y = 30;
|
|
|
+ }
|
|
|
+ this.cameraInit();
|
|
|
},
|
|
|
// async getInitData(){
|
|
|
// let parmas = {
|