|  | @@ -439,6 +439,7 @@
 | 
												
													
														
															|  |  				let targetNewPosition = obj.targetNewPosition;
 |  |  				let targetNewPosition = obj.targetNewPosition;
 | 
												
													
														
															|  |  				let oldUp = {x:0,y:1,z:0};	//俯视
 |  |  				let oldUp = {x:0,y:1,z:0};	//俯视
 | 
												
													
														
															|  |  				let newUp = {x:0,y:1,z:0};	//正视
 |  |  				let newUp = {x:0,y:1,z:0};	//正视
 | 
												
													
														
															|  | 
 |  | +				moveTip(cameraNewPosition);
 | 
												
													
														
															|  |  				console.warn("**moveActor***",JSON.stringify(cameraNewPosition),JSON.stringify(targetNewPosition))
 |  |  				console.warn("**moveActor***",JSON.stringify(cameraNewPosition),JSON.stringify(targetNewPosition))
 | 
												
													
														
															|  |  				tweenCamera(camera.position,controls.target,cameraNewPosition,targetNewPosition,oldUp,newUp,2000);
 |  |  				tweenCamera(camera.position,controls.target,cameraNewPosition,targetNewPosition,oldUp,newUp,2000);
 | 
												
													
														
															|  |  				lon = 0;
 |  |  				lon = 0;
 | 
												
											
												
													
														
															|  | @@ -479,20 +480,20 @@
 | 
												
													
														
															|  |  					let _actorTransform = actor.actorTransform.split(',');//旋转角度,取第三个值
 |  |  					let _actorTransform = actor.actorTransform.split(',');//旋转角度,取第三个值
 | 
												
													
														
															|  |  					let _hd = THREE.MathUtils.degToRad(parseInt(_actorTransform[2]));//将度转化为弧度。
 |  |  					let _hd = THREE.MathUtils.degToRad(parseInt(_actorTransform[2]));//将度转化为弧度。
 | 
												
													
														
															|  |  					let _hdY = THREE.MathUtils.degToRad(parseInt(_actorTransform[1]));//Y轴方向上将度转化为弧度。
 |  |  					let _hdY = THREE.MathUtils.degToRad(parseInt(_actorTransform[1]));//Y轴方向上将度转化为弧度。
 | 
												
													
														
															|  | -					if(parseInt(_actorLoaction[1])==0){//X轴
 |  | 
 | 
												
													
														
															|  | -						_actorLoaction[1] = spaceObj.centerX;
 |  | 
 | 
												
													
														
															|  | -					}
 |  | 
 | 
												
													
														
															|  | -					if(parseInt(_actorLoaction[0])==0){//Y轴
 |  | 
 | 
												
													
														
															|  | -						_actorLoaction[0] = spaceObj.centerY;
 |  | 
 | 
												
													
														
															|  | -					}
 |  | 
 | 
												
													
														
															|  | -					let X_C = _actorLoaction[0] - spaceObj.centerY;//X轴偏移量
 |  | 
 | 
												
													
														
															|  | -					let Y_C = _actorLoaction[1] - spaceObj.centerX;//Y轴偏移量
 |  | 
 | 
												
													
														
															|  | 
 |  | +					// if(parseInt(_actorLoaction[1])==0){//X轴
 | 
												
													
														
															|  | 
 |  | +					// 	_actorLoaction[1] = spaceObj.centerX;
 | 
												
													
														
															|  | 
 |  | +					// }
 | 
												
													
														
															|  | 
 |  | +					// if(parseInt(_actorLoaction[0])==0){//Y轴
 | 
												
													
														
															|  | 
 |  | +					// 	_actorLoaction[0] = spaceObj.centerY;
 | 
												
													
														
															|  | 
 |  | +					// }
 | 
												
													
														
															|  | 
 |  | +					let X_C = parseInt(_actorLoaction[0]);//X轴偏移量-UE原因
 | 
												
													
														
															|  | 
 |  | +					let Y_C = parseInt(_actorLoaction[1]);//Y轴偏移量-对应Three.js 的Z轴
 | 
												
													
														
															|  |  					let px = spaceObj.centerX + X_C;
 |  |  					let px = spaceObj.centerX + X_C;
 | 
												
													
														
															|  | -					let py = spaceObj.centerY + Y_C;
 |  | 
 | 
												
													
														
															|  | 
 |  | +					let py = -spaceObj.centerY + Y_C;//UE里面的值跟Three.js Y轴相反
 | 
												
													
														
															|  |  					let position = {
 |  |  					let position = {
 | 
												
													
														
															|  |  						x:(parseInt(px))/100,
 |  |  						x:(parseInt(px))/100,
 | 
												
													
														
															|  |  						y:1.5, 
 |  |  						y:1.5, 
 | 
												
													
														
															|  | -						z:-(parseInt(py))/100,//模型Y轴坐标系正负值跟webglZ轴是相反的
 |  | 
 | 
												
													
														
															|  | 
 |  | +						z:(parseInt(py))/100,//模型Y轴坐标系正负值跟webglZ轴是相反的
 | 
												
													
														
															|  |  					}
 |  |  					}
 | 
												
													
														
															|  |  					//新的观察点的位置-取模型的中心点坐标,加上高度,由于模型都是贴地的,所以高度设置为1.5
 |  |  					//新的观察点的位置-取模型的中心点坐标,加上高度,由于模型都是贴地的,所以高度设置为1.5
 | 
												
													
														
															|  |  					let targetNewPosition = {
 |  |  					let targetNewPosition = {
 | 
												
											
												
													
														
															|  | @@ -543,21 +544,21 @@
 | 
												
													
														
															|  |  				let _actorTransform = defaultActor.actorTransform.split(',');//旋转角度,取第三个值
 |  |  				let _actorTransform = defaultActor.actorTransform.split(',');//旋转角度,取第三个值
 | 
												
													
														
															|  |  				let _hd = THREE.MathUtils.degToRad(parseInt(_actorTransform[2]) + lon);//将度转化为弧度。
 |  |  				let _hd = THREE.MathUtils.degToRad(parseInt(_actorTransform[2]) + lon);//将度转化为弧度。
 | 
												
													
														
															|  |  				let _hdY = THREE.MathUtils.degToRad(parseInt(_actorTransform[1]));//Y轴方向上将度转化为弧度。
 |  |  				let _hdY = THREE.MathUtils.degToRad(parseInt(_actorTransform[1]));//Y轴方向上将度转化为弧度。
 | 
												
													
														
															|  | -				if(parseInt(_actorLoaction[1])==0){//X轴
 |  | 
 | 
												
													
														
															|  | -					_actorLoaction[1] = spaceObj.centerX;
 |  | 
 | 
												
													
														
															|  | -				}
 |  | 
 | 
												
													
														
															|  | -				if(parseInt(_actorLoaction[0])==0){//Y轴
 |  | 
 | 
												
													
														
															|  | -					_actorLoaction[0] = spaceObj.centerY;
 |  | 
 | 
												
													
														
															|  | -				}
 |  | 
 | 
												
													
														
															|  | -				let X_C = _actorLoaction[0] - spaceObj.centerY;//X轴偏移量
 |  | 
 | 
												
													
														
															|  | -				let Y_C = _actorLoaction[1] - spaceObj.centerX;//Y轴偏移
 |  | 
 | 
												
													
														
															|  | 
 |  | +				// if(parseInt(_actorLoaction[1])==0){//X轴
 | 
												
													
														
															|  | 
 |  | +				// 	_actorLoaction[1] = spaceObj.centerX;
 | 
												
													
														
															|  | 
 |  | +				// }
 | 
												
													
														
															|  | 
 |  | +				// if(parseInt(_actorLoaction[0])==0){//Y轴
 | 
												
													
														
															|  | 
 |  | +				// 	_actorLoaction[0] = spaceObj.centerY;
 | 
												
													
														
															|  | 
 |  | +				// }
 | 
												
													
														
															|  | 
 |  | +				let X_C = parseInt(_actorLoaction[0]);//X轴偏移量-UE原因
 | 
												
													
														
															|  | 
 |  | +				let Y_C = parseInt(_actorLoaction[1]);//Y轴偏移量-向
 | 
												
													
														
															|  |  				let px = spaceObj.centerX + X_C;
 |  |  				let px = spaceObj.centerX + X_C;
 | 
												
													
														
															|  | -				let py = spaceObj.centerY + Y_C;
 |  | 
 | 
												
													
														
															|  | 
 |  | +				let py = -spaceObj.centerY + Y_C;
 | 
												
													
														
															|  |  				//新的摄像机的位置-新的摄像机角度是倾斜角度,所以z值需要计算,高度设置为模型高度的2倍
 |  |  				//新的摄像机的位置-新的摄像机角度是倾斜角度,所以z值需要计算,高度设置为模型高度的2倍
 | 
												
													
														
															|  |  				let cameraNewPosition = {
 |  |  				let cameraNewPosition = {
 | 
												
													
														
															|  |  					x:(parseInt(px))/100,
 |  |  					x:(parseInt(px))/100,
 | 
												
													
														
															|  |  					y:1.5, 
 |  |  					y:1.5, 
 | 
												
													
														
															|  | -					z:-(parseInt(py))/100,//模型Y轴坐标系正负值跟webglZ轴是相反的
 |  | 
 | 
												
													
														
															|  | 
 |  | +					z:(parseInt(py))/100,//模型Y轴坐标系正负值跟webglZ轴是相反的
 | 
												
													
														
															|  |  				}
 |  |  				}
 | 
												
													
														
															|  |  				if(cameraNewPosition){
 |  |  				if(cameraNewPosition){
 | 
												
													
														
															|  |  					let minX = 0,maxX = 0,minY = 0,maxY = 0;//0.1 是模型墙壁厚度
 |  |  					let minX = 0,maxX = 0,minY = 0,maxY = 0;//0.1 是模型墙壁厚度
 | 
												
											
												
													
														
															|  | @@ -822,15 +823,15 @@
 | 
												
													
														
															|  |  						}
 |  |  						}
 | 
												
													
														
															|  |  						element.actors.forEach(actor=>{
 |  |  						element.actors.forEach(actor=>{
 | 
												
													
														
															|  |  							let _actorLoaction = actor.actorLocation.split(',');//x y z
 |  |  							let _actorLoaction = actor.actorLocation.split(',');//x y z
 | 
												
													
														
															|  | -							let X_C = (parseInt(_actorLoaction[0]) || element.centerY) - element.centerY;//X轴偏移量-UE原因
 |  | 
 | 
												
													
														
															|  | -							let Y_C = (parseInt(_actorLoaction[1]) || element.centerX) - element.centerX;//Y轴偏移量-向量
 |  | 
 | 
												
													
														
															|  | 
 |  | +							let X_C = parseInt(_actorLoaction[0]);//X轴偏移量-UE原因
 | 
												
													
														
															|  | 
 |  | +							let Y_C = parseInt(_actorLoaction[1]);//Y轴偏移量-向量
 | 
												
													
														
															|  |  							let _x = element.centerX + X_C;
 |  |  							let _x = element.centerX + X_C;
 | 
												
													
														
															|  | -							let _z = element.centerY + Y_C;
 |  | 
 | 
												
													
														
															|  | 
 |  | +							let _z = -element.centerY + Y_C;//centerY 要取反,因为UE里面是反向的
 | 
												
													
														
															|  |  							
 |  |  							
 | 
												
													
														
															|  |  							// let _x = parseInt(_actorLoaction[1]) || element.centerX;//观察点 X轴坐标 
 |  |  							// let _x = parseInt(_actorLoaction[1]) || element.centerX;//观察点 X轴坐标 
 | 
												
													
														
															|  |  							// let _z = parseInt(_actorLoaction[0]) || element.centerY;//观察点 Z轴坐标
 |  |  							// let _z = parseInt(_actorLoaction[0]) || element.centerY;//观察点 Z轴坐标
 | 
												
													
														
															|  |  							let _presentX = (_x - element.centerX)/((element.spaceWidth/2) - 10);//10是墙壁厚度-单位cm
 |  |  							let _presentX = (_x - element.centerX)/((element.spaceWidth/2) - 10);//10是墙壁厚度-单位cm
 | 
												
													
														
															|  | -							let _presentY = (_z - element.centerY)/((element.spaceHeight/2) - 10);
 |  | 
 | 
												
													
														
															|  | 
 |  | +							let _presentY = (_z + element.centerY)/((element.spaceHeight/2) - 10);
 | 
												
													
														
															|  |  							//注意如果一开始就设置大超过空间大小,则处理成贴近空间边界
 |  |  							//注意如果一开始就设置大超过空间大小,则处理成贴近空间边界
 | 
												
													
														
															|  |  							actor.presentX = Math.abs(_presentX)>1 ? (_presentX>1?1:-1) : _presentX;//观察点跟空间中心原点的距离比例
 |  |  							actor.presentX = Math.abs(_presentX)>1 ? (_presentX>1?1:-1) : _presentX;//观察点跟空间中心原点的距离比例
 | 
												
													
														
															|  |  							actor.presentY = Math.abs(_presentY)>1 ? (_presentY>1?1:-1) : _presentY;
 |  |  							actor.presentY = Math.abs(_presentY)>1 ? (_presentY>1?1:-1) : _presentY;
 |