|  | @@ -145,8 +145,7 @@
 | 
	
		
			
				|  |  |  			this.resetControl = resetControl;
 | 
	
		
			
				|  |  |  			function init() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                scene.background = new THREE.Color("#F2F2F2");
 | 
	
		
			
				|  |  | -                scene.environment = new THREE.Color("#F2F2F2");
 | 
	
		
			
				|  |  | +                scene.background = new THREE.Color("#FFFFFF");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				// 创建相机位置
 | 
	
		
			
				|  |  |  				camera = new THREE.PerspectiveCamera( 80, window.screen.width / window.screen.height, 0.1, 10000 );
 | 
	
	
		
			
				|  | @@ -155,19 +154,34 @@
 | 
	
		
			
				|  |  |                  that.camera = camera;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  // 环境光会均匀的照亮场景中的所有物体
 | 
	
		
			
				|  |  | -                const ambientLight = new THREE.AmbientLight(0xFFEFE0, 1.48 );
 | 
	
		
			
				|  |  | -                scene.add( ambientLight );
 | 
	
		
			
				|  |  | +                const ambientLight = new THREE.AmbientLight(0xFFEFE0, 3);
 | 
	
		
			
				|  |  | +                scene.add(ambientLight);
 | 
	
		
			
				|  |  |                  //平行光
 | 
	
		
			
				|  |  | -                const light = new THREE.DirectionalLight(0xFFF8E5, 1.96 );
 | 
	
		
			
				|  |  | -                light.position.set(-14.8, 9.188, -7.448); //default; light shining from top
 | 
	
		
			
				|  |  | +                const light = new THREE.DirectionalLight(0xFFF8E5, 3);
 | 
	
		
			
				|  |  | +                light.position.set(-3, 9, 3); //default; light shining from top
 | 
	
		
			
				|  |  | +                light.castShadow = true; // default false
 | 
	
		
			
				|  |  | +                // 默认情况下光投影相机区域是一个长宽高为10x10x500的长方体区域,光源投射方向为通过坐标原点
 | 
	
		
			
				|  |  | +                light.shadow.camera.left = -100; // default
 | 
	
		
			
				|  |  | +                light.shadow.camera.right  = 100; // default
 | 
	
		
			
				|  |  | +                light.shadow.camera.top  = 100; // default
 | 
	
		
			
				|  |  | +                light.shadow.camera.bottom  = -100; // default
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                light.shadow.mapSize.width = 8192; // default
 | 
	
		
			
				|  |  | +                light.shadow.mapSize.height = 8192; // default
 | 
	
		
			
				|  |  | +                // light.shadow.camera.near = 0.1; // default
 | 
	
		
			
				|  |  | +                // light.shadow.camera.far = 500; // default
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                // light.shadow.bias = -0.01;
 | 
	
		
			
				|  |  | +                // light.shadow.radius = 1;
 | 
	
		
			
				|  |  | +                // light.shadow.darkness = 1; // 设置阴影强度为0.5
 | 
	
		
			
				|  |  |                  scene.add(light);
 | 
	
		
			
				|  |  |  				//antialias 这个值得设置为false,不然IOS上截图会失效
 | 
	
		
			
				|  |  |                  renderer = that.renderer = new THREE.WebGLRenderer({
 | 
	
		
			
				|  |  |  					canvas:canvas3d, 
 | 
	
		
			
				|  |  |  					alpha: true,
 | 
	
		
			
				|  |  | -					// 如果想保存three.js canvas画布上的信息,注意设置preserveDrawingBuffer
 | 
	
		
			
				|  |  | -					preserveDrawingBuffer: true,
 | 
	
		
			
				|  |  |  				});
 | 
	
		
			
				|  |  | +				renderer.shadowMap.enabled = true;//产生阴影
 | 
	
		
			
				|  |  | +				renderer.shadowMap.type = THREE.PCFSoftShadowMap; // 阴影属性
 | 
	
		
			
				|  |  |                  renderer.outputEncoding = THREE.sRGBEncoding;
 | 
	
		
			
				|  |  |                  renderer.outputColorSpace = THREE.SRGBColorSpace;
 | 
	
		
			
				|  |  |                  // renderer.toneMappingExposure = 0.1;//色调映射的曝光级别。默认是1
 | 
	
	
		
			
				|  | @@ -518,7 +532,7 @@
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |                  if(this.curHouseObj){
 | 
	
		
			
				|  |  |                      const spaceDetail = this.curHouseObj;
 | 
	
		
			
				|  |  | -                    const spaceList =spaceDetail.houseJson;
 | 
	
		
			
				|  |  | +                    const spaceList = spaceDetail.houseJson;
 | 
	
		
			
				|  |  |                      // 交换centerX, centerY;上一页面已经处理过了,这里不在需要处理
 | 
	
		
			
				|  |  |                      for (let index = 0; index < spaceList.length; index++) {
 | 
	
		
			
				|  |  |                          var element = spaceList[index];
 | 
	
	
		
			
				|  | @@ -536,6 +550,7 @@
 | 
	
		
			
				|  |  |  						element.wallMoveValue = "[0,0,0,0]"
 | 
	
		
			
				|  |  |                          this.spaceList.push(element);
 | 
	
		
			
				|  |  |                          this.wallIds.push(element.wallId);
 | 
	
		
			
				|  |  | +						this.wallList.push(JSON.parse(element.wallList));
 | 
	
		
			
				|  |  |  						if(element.isSelected){ // 默认选中空间
 | 
	
		
			
				|  |  |  						    this.curSpaceObj = element;
 | 
	
		
			
				|  |  |  						}
 | 
	
	
		
			
				|  | @@ -552,13 +567,24 @@
 | 
	
		
			
				|  |  |              },
 | 
	
		
			
				|  |  |              // 获取墙体数据
 | 
	
		
			
				|  |  |              async getHouseTypeSpaceWalls(){
 | 
	
		
			
				|  |  | -                let data = {id:this.wallIds}
 | 
	
		
			
				|  |  | -                const res = await requestConfig('getHouseTypeSpaceWalls', data, true);
 | 
	
		
			
				|  |  | -                console.log("墙体数据:", res.list)
 | 
	
		
			
				|  |  | -                let wallList = [];
 | 
	
		
			
				|  |  | -                if(res.success){
 | 
	
		
			
				|  |  | -                    wallList = this.wallList = res.list;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +                // let data = {id:this.wallIds}
 | 
	
		
			
				|  |  | +                // const res = await requestConfig('getHouseTypeSpaceWalls', data, true);
 | 
	
		
			
				|  |  | +                // console.log("墙体数据:", res.list)
 | 
	
		
			
				|  |  | +                // let wallList = [];
 | 
	
		
			
				|  |  | +                // if(res.success){
 | 
	
		
			
				|  |  | +                //     wallList = this.wallList = res.list;
 | 
	
		
			
				|  |  | +                // }
 | 
	
		
			
				|  |  | +				let wallList = [];
 | 
	
		
			
				|  |  | +				if(this.wallList && this.wallList.length>0){
 | 
	
		
			
				|  |  | +					wallList = this.wallList;
 | 
	
		
			
				|  |  | +				}else{
 | 
	
		
			
				|  |  | +					let data = {id:this.wallIds}
 | 
	
		
			
				|  |  | +					const res = await requestConfig('getHouseTypeSpaceWalls', data, true);
 | 
	
		
			
				|  |  | +					console.log("墙体数据:", res.list)
 | 
	
		
			
				|  |  | +					if(res.success){
 | 
	
		
			
				|  |  | +					    wallList = this.wallList = res.list;
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |                  let wallArr = []
 | 
	
		
			
				|  |  |                  for (let index = 0; index < wallList.length; index++) {//每个空间对应一个数据
 | 
	
		
			
				|  |  |                      let element = JSON.parse(wallList[index].wallJson);
 |