|
|
@ -157,7 +157,8 @@ QMUtil = function () { |
|
|
inArea: false, //点击后是否聚焦到店铺
|
|
|
inArea: false, //点击后是否聚焦到店铺
|
|
|
camZoom: 3, //设置我的方向状态地图放大倍数
|
|
|
camZoom: 3, //设置我的方向状态地图放大倍数
|
|
|
boxShop: [], //设置box上显示的文字(过滤指),可点击触发onlyShop
|
|
|
boxShop: [], //设置box上显示的文字(过滤指),可点击触发onlyShop
|
|
|
deviceAng: false //地图初始化方向是否使用设备角度
|
|
|
|
|
|
|
|
|
deviceAng: false, //地图初始化方向是否使用设备角度
|
|
|
|
|
|
facSize: 20 //设施大小
|
|
|
} |
|
|
} |
|
|
this.lightOptions = { |
|
|
this.lightOptions = { |
|
|
d_col: '#ffffff', |
|
|
d_col: '#ffffff', |
|
|
@ -1329,7 +1330,6 @@ MainMap_QM = function (callBack, options) { |
|
|
this.backObj = { code: 200, msg: '加载成功', data: [] } |
|
|
this.backObj = { code: 200, msg: '加载成功', data: [] } |
|
|
this.scene = new THREE.Scene() |
|
|
this.scene = new THREE.Scene() |
|
|
this.scene.name = 'scene' |
|
|
this.scene.name = 'scene' |
|
|
this.scene.fog = new THREE.Fog(0xe5e5e5, this.util.options.maxDis, this.util.options.maxDis + 500) |
|
|
|
|
|
this.aspect = this.w / this.h |
|
|
this.aspect = this.w / this.h |
|
|
this.cameraPerspective = new THREE.PerspectiveCamera(45, this.aspect, 10, 10000) |
|
|
this.cameraPerspective = new THREE.PerspectiveCamera(45, this.aspect, 10, 10000) |
|
|
this.cameraPerspective.position.set(this.util.guiOptions.cameraX, this.util.guiOptions.cameraY, this.util.guiOptions.cameraZ) //x 水平 y 垂直旋转 z 展示大小
|
|
|
this.cameraPerspective.position.set(this.util.guiOptions.cameraX, this.util.guiOptions.cameraY, this.util.guiOptions.cameraZ) //x 水平 y 垂直旋转 z 展示大小
|
|
|
@ -1457,7 +1457,6 @@ MainMap_QM.prototype = { |
|
|
try { |
|
|
try { |
|
|
_space.util.allMap = JSON.parse(LZString.decompressFromBase64(res.data.mapData)) |
|
|
_space.util.allMap = JSON.parse(LZString.decompressFromBase64(res.data.mapData)) |
|
|
console.log('地图数据更新时间: ' + res.data.updateTime) |
|
|
console.log('地图数据更新时间: ' + res.data.updateTime) |
|
|
_space.initOptions(options) |
|
|
|
|
|
} catch (e) { |
|
|
} catch (e) { |
|
|
_space.backObj.code = 404 |
|
|
_space.backObj.code = 404 |
|
|
_space.backObj.msg = '地图数据JSON格式错误' |
|
|
_space.backObj.msg = '地图数据JSON格式错误' |
|
|
@ -1487,19 +1486,10 @@ MainMap_QM.prototype = { |
|
|
_space.backObj.code = 500 |
|
|
_space.backObj.code = 500 |
|
|
_space.backObj.msg = '店铺数据解析失败' |
|
|
_space.backObj.msg = '店铺数据解析失败' |
|
|
} |
|
|
} |
|
|
_space.initOutModel() |
|
|
|
|
|
|
|
|
_space.initOptions(options); |
|
|
}, |
|
|
}, |
|
|
fail: () => { |
|
|
fail: () => { |
|
|
try { |
|
|
|
|
|
_space.initOutModel() |
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
_space.backObj.code = 404 |
|
|
|
|
|
_space.backObj.msg = '地图数据解析失败' |
|
|
|
|
|
} |
|
|
|
|
|
if (_space.backObj.code == 404) { |
|
|
|
|
|
_space.callBackLoadOver(_space.backObj) |
|
|
|
|
|
_space.callBackLoadOver = null |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
_space.initOptions(options); |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
} else { |
|
|
} else { |
|
|
@ -1526,13 +1516,13 @@ MainMap_QM.prototype = { |
|
|
_space.util.allMap = JSON.parse(LZString.decompressFromBase64(options.mapData.mapData)) |
|
|
_space.util.allMap = JSON.parse(LZString.decompressFromBase64(options.mapData.mapData)) |
|
|
} |
|
|
} |
|
|
console.log('地图数据更新时间: ' + options.mapData.updateTime) |
|
|
console.log('地图数据更新时间: ' + options.mapData.updateTime) |
|
|
_space.initOptions(options) |
|
|
|
|
|
} catch (e) { |
|
|
} catch (e) { |
|
|
console.log(e) |
|
|
console.log(e) |
|
|
backObj.code = 404 |
|
|
backObj.code = 404 |
|
|
backObj.msg = '地图数据JSON格式错误' |
|
|
backObj.msg = '地图数据JSON格式错误' |
|
|
callBack(backObj) |
|
|
callBack(backObj) |
|
|
callBack = null |
|
|
callBack = null |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
_space.util.shopData = options.shopData |
|
|
_space.util.shopData = options.shopData |
|
|
let backObj = { code: 200, msg: '加载成功', data: [] } |
|
|
let backObj = { code: 200, msg: '加载成功', data: [] } |
|
|
@ -1542,13 +1532,7 @@ MainMap_QM.prototype = { |
|
|
backObj.code = 500 |
|
|
backObj.code = 500 |
|
|
backObj.msg = '店铺数据错误' |
|
|
backObj.msg = '店铺数据错误' |
|
|
} |
|
|
} |
|
|
try { |
|
|
|
|
|
_space.initOutModel() |
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
console.log(e) |
|
|
|
|
|
_space.callBackLoadOver({ code: 404, msg: '地图数据解析失败' }) |
|
|
|
|
|
_space.callBackLoadOver = null |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
_space.initOptions(options) |
|
|
} else { |
|
|
} else { |
|
|
_space.util.readTextFile(_space.util.beforPath + _space.util.mapServerInfo, function (res) { |
|
|
_space.util.readTextFile(_space.util.beforPath + _space.util.mapServerInfo, function (res) { |
|
|
try { |
|
|
try { |
|
|
@ -1558,13 +1542,13 @@ MainMap_QM.prototype = { |
|
|
_space.util.allMap = JSON.parse(LZString.decompressFromBase64(res.data.mapData)) |
|
|
_space.util.allMap = JSON.parse(LZString.decompressFromBase64(res.data.mapData)) |
|
|
} |
|
|
} |
|
|
console.log('地图数据更新时间: ' + res.data.updateTime) |
|
|
console.log('地图数据更新时间: ' + res.data.updateTime) |
|
|
_space.initOptions(options) |
|
|
|
|
|
} catch (e) { |
|
|
} catch (e) { |
|
|
console.log(e) |
|
|
console.log(e) |
|
|
_space.backObj.code = 404 |
|
|
_space.backObj.code = 404 |
|
|
_space.backObj.msg = '地图数据JSON格式错误' |
|
|
_space.backObj.msg = '地图数据JSON格式错误' |
|
|
_space.callBackLoadOver(_space.backObj) |
|
|
_space.callBackLoadOver(_space.backObj) |
|
|
_space.callBackLoadOver = null |
|
|
_space.callBackLoadOver = null |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_space.util.readTextFile(_space.util.beforPath + _space.util.shopServerInfo, function (res) { |
|
|
_space.util.readTextFile(_space.util.beforPath + _space.util.shopServerInfo, function (res) { |
|
|
@ -1581,12 +1565,7 @@ MainMap_QM.prototype = { |
|
|
_space.callBackLoadOver(backObj) |
|
|
_space.callBackLoadOver(backObj) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
try { |
|
|
|
|
|
_space.initOutModel() |
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
_space.callBackLoadOver({ code: 404, msg: '地图数据解析失败' }) |
|
|
|
|
|
_space.callBackLoadOver = null |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
_space.initOptions(options); |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -1604,14 +1583,16 @@ MainMap_QM.prototype = { |
|
|
initOptions: function (options) { |
|
|
initOptions: function (options) { |
|
|
//初始化参数
|
|
|
//初始化参数
|
|
|
if (this.util.allMap[this.util.selectBuild].playSpeed) { |
|
|
if (this.util.allMap[this.util.selectBuild].playSpeed) { |
|
|
this.util.options.mapScale = this.util.allMap[this.util.selectBuild].hasOwnProperty('scale') ? parseInt(this.util.allMap[this.util.selectBuild].scale) : 18 |
|
|
|
|
|
this.util.options.playSpeed = this.util.allMap[this.util.selectBuild].hasOwnProperty('playSpeed') ? parseInt(this.util.allMap[this.util.selectBuild].playSpeed) : 6 |
|
|
|
|
|
this.util.options.collision = this.util.allMap[this.util.selectBuild].hasOwnProperty('collision') ? this.util.allMap[this.util.selectBuild].collision : true |
|
|
|
|
|
this.util.options.navColor = this.util.allMap[this.util.selectBuild].hasOwnProperty('navColor') ? this.util.allMap[this.util.selectBuild].navColor : 0xee6a50 |
|
|
|
|
|
this.util.options.aRadius = this.util.allMap[this.util.selectBuild].hasOwnProperty('aRadius') ? parseInt(this.util.allMap[this.util.selectBuild].aRadius) : 2 |
|
|
|
|
|
this.util.options.boxShop = this.util.allMap[this.util.selectBuild].hasOwnProperty('boxShop') ? this.util.allMap[this.util.selectBuild].boxShop.split(',') : [] |
|
|
|
|
|
this.util.options.shopStyle = this.util.allMap[this.util.selectBuild].hasOwnProperty('shopStyle') ? this.util.allMap[this.util.selectBuild].shopStyle : 'shopName' |
|
|
|
|
|
this.util.options.modelIcon = this.util.allMap[this.util.selectBuild].hasOwnProperty('modelIcon') ? this.util.allMap[this.util.selectBuild].modelIcon : true |
|
|
|
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("scale") && (this.util.options.mapScale = parseInt(this.util.allMap[this.util.selectBuild].scale)); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("playSpeed") && (this.util.options.playSpeed = parseInt(this.util.allMap[this.util.selectBuild].playSpeed)); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("collision") && (this.util.options.collision = this.util.allMap[this.util.selectBuild].collision); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("navColor") && (this.util.options.navColor = this.util.allMap[this.util.selectBuild].navColor); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("aRadius") && (this.util.options.aRadius = parseInt(this.util.allMap[this.util.selectBuild].aRadius)); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("boxShop") && (this.util.options.boxShop = this.util.allMap[this.util.selectBuild].boxShop.split(",")); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("shopStyle") && (this.util.options.shopStyle = this.util.allMap[this.util.selectBuild].shopStyle); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("modelIcon") && (this.util.options.modelIcon = this.util.allMap[this.util.selectBuild].modelIcon); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("facSize") && (this.util.options.facSize = this.util.allMap[this.util.selectBuild].facSize); |
|
|
|
|
|
this.util.allMap[this.util.selectBuild].hasOwnProperty("m_scale") && (this.util.sceneGap.scale = this.util.allMap[this.util.selectBuild].m_scale); |
|
|
|
|
|
|
|
|
this.hemiLight.color = new THREE.Color(this.util.allMap[this.util.selectBuild].s_col || '#fffff0') |
|
|
this.hemiLight.color = new THREE.Color(this.util.allMap[this.util.selectBuild].s_col || '#fffff0') |
|
|
this.hemiLight.groundColor = new THREE.Color(this.util.allMap[this.util.selectBuild].g_col || '#ffffff') |
|
|
this.hemiLight.groundColor = new THREE.Color(this.util.allMap[this.util.selectBuild].g_col || '#ffffff') |
|
|
@ -1619,16 +1600,22 @@ MainMap_QM.prototype = { |
|
|
this.shawLight.color = new THREE.Color(this.util.allMap[this.util.selectBuild].d_col || '#ffffff') |
|
|
this.shawLight.color = new THREE.Color(this.util.allMap[this.util.selectBuild].d_col || '#ffffff') |
|
|
this.shawLight.intensity = this.util.allMap[this.util.selectBuild].d_int || 0.1 |
|
|
this.shawLight.intensity = this.util.allMap[this.util.selectBuild].d_int || 0.1 |
|
|
|
|
|
|
|
|
if (this.util.allMap[this.util.selectBuild].c_site && this.util.allMap[this.util.selectBuild].c_site.split(',')) { |
|
|
|
|
|
this.util.guiOptions.cameraX = this.util.allMap[this.util.selectBuild].c_site.split(',')[0] || 0 |
|
|
|
|
|
this.util.guiOptions.cameraY = this.util.allMap[this.util.selectBuild].c_site.split(',')[1] ?? 220 |
|
|
|
|
|
this.util.guiOptions.cameraZ = this.util.allMap[this.util.selectBuild].c_site.split(',')[2] ?? 220 |
|
|
|
|
|
} |
|
|
|
|
|
if (this.util.allMap[this.util.selectBuild].m_site && this.util.allMap[this.util.selectBuild].m_site.split(',')) { |
|
|
|
|
|
this.util.guiOptions.targatX = this.util.allMap[this.util.selectBuild].m_site.split(',')[0] || 0 |
|
|
|
|
|
this.util.guiOptions.targatY = this.util.allMap[this.util.selectBuild].m_site.split(',')[1] || 0 |
|
|
|
|
|
this.util.guiOptions.targatZ = this.util.allMap[this.util.selectBuild].m_site.split(',')[2] || 0 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (this.util.allMap[this.util.selectBuild].c_site && this.util.allMap[this.util.selectBuild].c_site.split(",")) { |
|
|
|
|
|
this.util.guiOptions.cameraX = parseInt(this.util.allMap[this.util.selectBuild].c_site.split(",")[0]) || this.util.guiOptions.cameraX; |
|
|
|
|
|
this.util.guiOptions.cameraY = parseInt(this.util.allMap[this.util.selectBuild].c_site.split(",")[1]) || this.util.guiOptions.cameraY; |
|
|
|
|
|
this.util.guiOptions.cameraZ = parseInt(this.util.allMap[this.util.selectBuild].c_site.split(",")[2]) || this.util.guiOptions.cameraZ; |
|
|
|
|
|
this.controls.object.position.x = this.util.guiOptions.cameraX; |
|
|
|
|
|
this.controls.object.position.y = this.util.guiOptions.cameraY; |
|
|
|
|
|
this.controls.object.position.z = this.util.guiOptions.cameraZ; |
|
|
|
|
|
} |
|
|
|
|
|
if (this.util.allMap[this.util.selectBuild].m_site && this.util.allMap[this.util.selectBuild].m_site.split(",")) { |
|
|
|
|
|
this.util.guiOptions.targatX = parseInt(this.util.allMap[this.util.selectBuild].m_site.split(",")[0]) || this.util.guiOptions.targatX; |
|
|
|
|
|
this.util.guiOptions.targatY = parseInt(this.util.allMap[this.util.selectBuild].m_site.split(",")[1]) || this.util.guiOptions.targatY; |
|
|
|
|
|
this.util.guiOptions.targatZ = parseInt(this.util.allMap[this.util.selectBuild].m_site.split(",")[2]) || this.util.guiOptions.targatZ; |
|
|
|
|
|
this.controls.target.x = this.util.guiOptions.targatX; |
|
|
|
|
|
this.controls.target.y = this.util.guiOptions.targatY; |
|
|
|
|
|
this.controls.target.z = this.util.guiOptions.targatZ; |
|
|
|
|
|
} |
|
|
if (this.util.allMap[this.util.selectBuild].m_zoom) { |
|
|
if (this.util.allMap[this.util.selectBuild].m_zoom) { |
|
|
this.util.m_zoom = this.util.allMap[this.util.selectBuild].m_zoom |
|
|
this.util.m_zoom = this.util.allMap[this.util.selectBuild].m_zoom |
|
|
} |
|
|
} |
|
|
@ -1678,6 +1665,12 @@ MainMap_QM.prototype = { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
try { |
|
|
|
|
|
this.initOutModel(); |
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
this.callBackLoadOver({ "code": 404, "msg": "地图数据解析失败" }) |
|
|
|
|
|
this.callBackLoadOver = null; |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
//加载全局模型
|
|
|
//加载全局模型
|
|
|
initOutModel: function () { |
|
|
initOutModel: function () { |
|
|
@ -1800,53 +1793,21 @@ MainMap_QM.prototype = { |
|
|
if (_this.util.options.modelIcon) { |
|
|
if (_this.util.options.modelIcon) { |
|
|
let loader = new THREE.GLTFLoader() |
|
|
let loader = new THREE.GLTFLoader() |
|
|
loader.load(_this.util.beforPath + 'static/img/elevator.gltf', function (collada) { |
|
|
loader.load(_this.util.beforPath + 'static/img/elevator.gltf', function (collada) { |
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = 15 |
|
|
|
|
|
|
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = _this.util.options.facSize || 20; |
|
|
collada.scene.rotation.x = (-90 * Math.PI) / -180 |
|
|
collada.scene.rotation.x = (-90 * Math.PI) / -180 |
|
|
collada.scene.renderOrder = 300 |
|
|
collada.scene.renderOrder = 300 |
|
|
_this.util.pathStateObj.elevator = collada.scene |
|
|
_this.util.pathStateObj.elevator = collada.scene |
|
|
collada.scene.children[0].traverse(function (child) { |
|
|
|
|
|
if (child.isMesh && child.name == 'boli2') { |
|
|
|
|
|
child.material.color = new THREE.Color(0xffffff) |
|
|
|
|
|
child.material.opacity = 0.8 |
|
|
|
|
|
} |
|
|
|
|
|
if (child.isMesh && child.name == 'pidai') { |
|
|
|
|
|
child.material.color = new THREE.Color(0xffffff) |
|
|
|
|
|
child.material.opacity = 0.8 |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
new THREE.GLTFLoader().load(_this.util.beforPath + 'static/img/elevatorDown.gltf', function (collada) { |
|
|
new THREE.GLTFLoader().load(_this.util.beforPath + 'static/img/elevatorDown.gltf', function (collada) { |
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = 15 |
|
|
|
|
|
|
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = _this.util.options.facSize || 20; |
|
|
collada.scene.rotation.x = (-90 * Math.PI) / -180 |
|
|
collada.scene.rotation.x = (-90 * Math.PI) / -180 |
|
|
collada.scene.renderOrder = 300 |
|
|
collada.scene.renderOrder = 300 |
|
|
_this.util.pathStateObj.elevatorDown = collada.scene |
|
|
_this.util.pathStateObj.elevatorDown = collada.scene |
|
|
collada.scene.traverse(function (child) { |
|
|
|
|
|
if (child.isMesh && child.name == 'boli1') { |
|
|
|
|
|
child.material.color = new THREE.Color(0xffffff) |
|
|
|
|
|
child.material.opacity = 0.8 |
|
|
|
|
|
} |
|
|
|
|
|
if (child.isMesh && child.name == 'pidai') { |
|
|
|
|
|
child.material.color = new THREE.Color(0xffffff) |
|
|
|
|
|
child.material.opacity = 0.8 |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
new THREE.GLTFLoader().load(_this.util.beforPath + 'static/img/dt.gltf', function (collada) { |
|
|
new THREE.GLTFLoader().load(_this.util.beforPath + 'static/img/dt.gltf', function (collada) { |
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = 15 |
|
|
|
|
|
|
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = _this.util.options.facSize || 20; |
|
|
collada.scene.rotation.x = (-90 * Math.PI) / -180 |
|
|
collada.scene.rotation.x = (-90 * Math.PI) / -180 |
|
|
collada.scene.renderOrder = 300 |
|
|
collada.scene.renderOrder = 300 |
|
|
_this.util.pathStateObj.straight = collada.scene |
|
|
_this.util.pathStateObj.straight = collada.scene |
|
|
//console.log(Map_QM.util.pathStateObj.straight);
|
|
|
|
|
|
_this.util.pathStateObj.straight.traverse(function (child) { |
|
|
|
|
|
if (child.isMesh && child.name == 'zhitiboli') { |
|
|
|
|
|
child.material.color = new THREE.Color(0xffffff) |
|
|
|
|
|
child.material.opacity = 0.6 |
|
|
|
|
|
child.material.side = 1 |
|
|
|
|
|
} |
|
|
|
|
|
if (child.isMesh && child.name == 'zhitijiegou') { |
|
|
|
|
|
child.material.color = new THREE.Color(0xffffff) |
|
|
|
|
|
child.material.opacity = 0.8 |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
_this.index = 0 |
|
|
_this.index = 0 |
|
|
_this.initTreeModel() |
|
|
_this.initTreeModel() |
|
|
}) |
|
|
}) |
|
|
@ -2026,7 +1987,7 @@ MainMap_QM.prototype = { |
|
|
}, 50) |
|
|
}, 50) |
|
|
}, |
|
|
}, |
|
|
initTreeModel: function () { |
|
|
initTreeModel: function () { |
|
|
let url = Map_QM.util.beforPath + Map_QM.util.modelStr[this.index].url |
|
|
|
|
|
|
|
|
let url = Map_QM.util.beforPath + this.util.modelStr[this.index].url |
|
|
this.gltfLoad(url) |
|
|
this.gltfLoad(url) |
|
|
}, |
|
|
}, |
|
|
gltfLoad: function (url) { |
|
|
gltfLoad: function (url) { |
|
|
@ -2035,31 +1996,32 @@ MainMap_QM.prototype = { |
|
|
//加载路径fbx文件
|
|
|
//加载路径fbx文件
|
|
|
object.scene.traverse(function (child) { |
|
|
object.scene.traverse(function (child) { |
|
|
if (child.type === 'Mesh') { |
|
|
if (child.type === 'Mesh') { |
|
|
child.castShadow = Map_QM.util.options.shadow |
|
|
|
|
|
child.receiveShadow = Map_QM.util.options.shadow |
|
|
|
|
|
|
|
|
child.castShadow = sopce.util.options.shadow |
|
|
|
|
|
child.receiveShadow = sopce.util.options.shadow |
|
|
if (child.material.map) { |
|
|
if (child.material.map) { |
|
|
child.material.map.encoding = THREE.LinearEncoding //贴图需要转换成 线性编码
|
|
|
child.material.map.encoding = THREE.LinearEncoding //贴图需要转换成 线性编码
|
|
|
} |
|
|
} |
|
|
if (Map_QM.util.modelStr[sopce.index].colorModel === 'gama') { |
|
|
|
|
|
|
|
|
if (sopce.util.modelStr[sopce.index].colorModel === 'gama') { |
|
|
child.material.color.convertGammaToLinear(0.6) |
|
|
child.material.color.convertGammaToLinear(0.6) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
object.scene.children[0].scale.set(Map_QM.util.modelStr[sopce.index].size.x, Map_QM.util.modelStr[sopce.index].size.y, Map_QM.util.modelStr[sopce.index].size.z) |
|
|
|
|
|
Map_QM.util.fbxModels.push({ key: Map_QM.util.modelStr[sopce.index].key, obj: object.scene, operation: Map_QM.util.modelStr[sopce.index] }) |
|
|
|
|
|
if (sopce.index < Map_QM.util.modelStr.length - 1) { |
|
|
|
|
|
|
|
|
object.scene.children[0].scale.set(sopce.util.modelStr[sopce.index].size.x, sopce.util.modelStr[sopce.index].size.y, Map_QM.util.modelStr[sopce.index].size.z) |
|
|
|
|
|
sopce.util.fbxModels.push({ key: sopce.util.modelStr[sopce.index].key, obj: object.scene, operation: Map_QM.util.modelStr[sopce.index] }) |
|
|
|
|
|
if (sopce.index < sopce.util.modelStr.length - 1) { |
|
|
sopce.index++ |
|
|
sopce.index++ |
|
|
sopce.initTreeModel() |
|
|
sopce.initTreeModel() |
|
|
} else { |
|
|
} else { |
|
|
if (Map_QM.util.allMap && Map_QM.util.allMap.length > 0) { |
|
|
|
|
|
Map_QM.loaderOver() |
|
|
|
|
|
|
|
|
if (sopce.util.allMap && sopce.util.allMap.length > 0) { |
|
|
|
|
|
sopce.loaderOver() |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
initGuide: function () { |
|
|
initGuide: function () { |
|
|
new THREE.GLTFLoader().load(Map_QM.util.beforPath + 'static/img/runman.gltf', function (obj) { |
|
|
|
|
|
obj.scene.scale.x = obj.scene.scale.y = obj.scene.scale.z = 15 |
|
|
|
|
|
|
|
|
let _this = this; |
|
|
|
|
|
new THREE.GLTFLoader().load(_this.util.beforPath + 'static/img/runman.gltf', function (obj) { |
|
|
|
|
|
obj.scene.scale.x = obj.scene.scale.y = obj.scene.scale.z = _this.util.options.facSize || 20; |
|
|
obj.scene.children[0].children[1].children[0].material.color = new THREE.Color(0xfe9219) |
|
|
obj.scene.children[0].children[1].children[0].material.color = new THREE.Color(0xfe9219) |
|
|
Map_QM.sceneGap.add(obj.scene) |
|
|
Map_QM.sceneGap.add(obj.scene) |
|
|
obj.scene.visible = false |
|
|
obj.scene.visible = false |
|
|
@ -2075,7 +2037,7 @@ MainMap_QM.prototype = { |
|
|
Map_QM.guide = Map_QM.man_3d |
|
|
Map_QM.guide = Map_QM.man_3d |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
new THREE.TextureLoader().load(Map_QM.util.beforPath + 'static/img/guide.png', textu => { |
|
|
|
|
|
|
|
|
new THREE.TextureLoader().load(_this.util.beforPath + 'static/img/guide.png', textu => { |
|
|
let planeMaterial = new THREE.MeshPhongMaterial({ |
|
|
let planeMaterial = new THREE.MeshPhongMaterial({ |
|
|
map: textu, |
|
|
map: textu, |
|
|
depthTest: true, |
|
|
depthTest: true, |
|
|
@ -2090,15 +2052,15 @@ MainMap_QM.prototype = { |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
initFloor: function () { |
|
|
initFloor: function () { |
|
|
if (Map_QM.util.initModelArr && Map_QM.util.initModelArr.length > 0) { |
|
|
|
|
|
|
|
|
if (this.util.initModelArr && this.util.initModelArr.length > 0) { |
|
|
this.buildObj.visible = false |
|
|
this.buildObj.visible = false |
|
|
} |
|
|
} |
|
|
Map_QM.changeBuild(Map_QM.util.deviceObj.build, Map_QM.util.deviceObj.floor) |
|
|
|
|
|
Map_QM.controls.target.set(Map_QM.util.guiOptions.targatX, Map_QM.util.guiOptions.targatY, Map_QM.util.guiOptions.targatZ) |
|
|
|
|
|
|
|
|
this.changeBuild(this.util.deviceObj.build, this.util.deviceObj.floor) |
|
|
|
|
|
this.controls.target.set(this.util.guiOptions.targatX, this.util.guiOptions.targatY, this.util.guiOptions.targatZ) |
|
|
//初始化方向为第一人称方向
|
|
|
//初始化方向为第一人称方向
|
|
|
let angle = Map_QM.util.options.deviceAng ? Map_QM.util.deviceObj.angle : 0 |
|
|
|
|
|
Map_QM.rotationAngle(angle) |
|
|
|
|
|
Map_QM.startRender() |
|
|
|
|
|
|
|
|
let angle = this.util.options.deviceAng ? this.util.deviceObj.angle : 0 |
|
|
|
|
|
this.rotationAngle(angle) |
|
|
|
|
|
this.startRender() |
|
|
setTimeout(() => { |
|
|
setTimeout(() => { |
|
|
Map_QM.cameraPerspective.position.set(parseInt(Map_QM.util.guiOptions.cameraX), parseInt(Map_QM.util.guiOptions.cameraY), parseInt(Map_QM.util.guiOptions.cameraZ)) |
|
|
Map_QM.cameraPerspective.position.set(parseInt(Map_QM.util.guiOptions.cameraX), parseInt(Map_QM.util.guiOptions.cameraY), parseInt(Map_QM.util.guiOptions.cameraZ)) |
|
|
Map_QM.cameraPerspective.updateProjectionMatrix() //必须update
|
|
|
Map_QM.cameraPerspective.updateProjectionMatrix() //必须update
|
|
|
@ -2120,7 +2082,7 @@ MainMap_QM.prototype = { |
|
|
pathData.nodes.sort(this.util.sortNode) |
|
|
pathData.nodes.sort(this.util.sortNode) |
|
|
for (let i = 0; i < pathData.nodes.length; i++) { |
|
|
for (let i = 0; i < pathData.nodes.length; i++) { |
|
|
let a = pathData.nodes[i].id |
|
|
let a = pathData.nodes[i].id |
|
|
Map_QM.util.pathStateObj.basePath += '"' + buildOrder + '_' + floorOrder + '_' + a + '":{' |
|
|
|
|
|
|
|
|
this.util.pathStateObj.basePath += '"' + buildOrder + '_' + floorOrder + '_' + a + '":{' |
|
|
for (let n = 0; n < pathData.nodes[i]['list'].length; n++) { |
|
|
for (let n = 0; n < pathData.nodes[i]['list'].length; n++) { |
|
|
let b |
|
|
let b |
|
|
if (pathData.nodes[i]['list'][n].id || pathData.nodes[i]['list'][n].id == '0') { |
|
|
if (pathData.nodes[i]['list'][n].id || pathData.nodes[i]['list'][n].id == '0') { |
|
|
@ -2128,12 +2090,12 @@ MainMap_QM.prototype = { |
|
|
} else { |
|
|
} else { |
|
|
b = a == pathData.nodes[i]['list'][n].selfNode.id ? pathData.nodes[i]['list'][n].nextNode.id : pathData.nodes[i]['list'][n].selfNode.id |
|
|
b = a == pathData.nodes[i]['list'][n].selfNode.id ? pathData.nodes[i]['list'][n].nextNode.id : pathData.nodes[i]['list'][n].selfNode.id |
|
|
} |
|
|
} |
|
|
Map_QM.util.pathStateObj.basePath += '"' + buildOrder + '_' + floorOrder + '_' + b + '":' + pathData.nodes[i]['list'][n].cost + ',' |
|
|
|
|
|
|
|
|
this.util.pathStateObj.basePath += '"' + buildOrder + '_' + floorOrder + '_' + b + '":' + pathData.nodes[i]['list'][n].cost + ',' |
|
|
} |
|
|
} |
|
|
if (pathData.nodes[i]['list'].length > 0) { |
|
|
if (pathData.nodes[i]['list'].length > 0) { |
|
|
Map_QM.util.pathStateObj.basePath = Map_QM.util.pathStateObj.basePath.substr(0, Map_QM.util.pathStateObj.basePath.length - 1) |
|
|
|
|
|
|
|
|
this.util.pathStateObj.basePath = this.util.pathStateObj.basePath.substr(0, this.util.pathStateObj.basePath.length - 1) |
|
|
} |
|
|
} |
|
|
Map_QM.util.pathStateObj.basePath += '},' |
|
|
|
|
|
|
|
|
this.util.pathStateObj.basePath += '},' |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -2141,43 +2103,42 @@ MainMap_QM.prototype = { |
|
|
minupft = -1, |
|
|
minupft = -1, |
|
|
mindownft = -1 ///Map_QM.util.pathStateObj.selupftFacNo, Map_QM.util.pathStateObj.seldownftFacNo,
|
|
|
mindownft = -1 ///Map_QM.util.pathStateObj.selupftFacNo, Map_QM.util.pathStateObj.seldownftFacNo,
|
|
|
if (buildOrder == this.util.deviceObj.build && floorOrder == this.util.deviceObj.floor) { |
|
|
if (buildOrder == this.util.deviceObj.build && floorOrder == this.util.deviceObj.floor) { |
|
|
if (pathData && !this.util.deviceObj.xaxis && pathData.nodes.length > parseInt(this.util.deviceObj.node)) { |
|
|
|
|
|
|
|
|
if (pathData && !this.util.deviceObj.xaxis && pathData.nodes.length > parseInt(this.util.deviceObj.node) && parseInt(this.util.deviceObj.node)>0) { |
|
|
this.util.deviceObj.xaxis = pathData.nodes[parseInt(this.util.deviceObj.node)].x |
|
|
this.util.deviceObj.xaxis = pathData.nodes[parseInt(this.util.deviceObj.node)].x |
|
|
this.util.deviceObj.yaxis = pathData.nodes[parseInt(this.util.deviceObj.node)].y |
|
|
this.util.deviceObj.yaxis = pathData.nodes[parseInt(this.util.deviceObj.node)].y |
|
|
} |
|
|
} |
|
|
for (let h = 0; h < mapData.stairs.length; h++) { |
|
|
for (let h = 0; h < mapData.stairs.length; h++) { |
|
|
if (mapData.stairs[h].state && mapData.stairs[h].no != '') { |
|
|
|
|
|
let ms = |
|
|
|
|
|
Math.abs(parseInt(mapData.stairs[h].x) - parseInt(this.util.deviceObj.xaxis)) + Math.abs(parseInt(mapData.stairs[h].y) - parseInt(this.util.deviceObj.yaxis)) |
|
|
|
|
|
|
|
|
if (mapData.stairs[h].state && mapData.stairs[h].no != '' && parseInt(mapData.stairs[h].navCode) > 0) { |
|
|
|
|
|
let ms = Math.abs(parseInt(mapData.stairs[h].x) - parseInt(this.util.deviceObj.xaxis)) + Math.abs(parseInt(mapData.stairs[h].y) - parseInt(this.util.deviceObj.yaxis)) |
|
|
if (mapData.stairs[h].facCode == 'dt') { |
|
|
if (mapData.stairs[h].facCode == 'dt') { |
|
|
if (mindt == -1) { |
|
|
if (mindt == -1) { |
|
|
mindt = ms |
|
|
mindt = ms |
|
|
Map_QM.util.pathStateObj.seldtFacNo = mapData.stairs[h].no |
|
|
|
|
|
|
|
|
this.util.pathStateObj.seldtFacNo = mapData.stairs[h].no |
|
|
} else { |
|
|
} else { |
|
|
if (mindt > ms) { |
|
|
if (mindt > ms) { |
|
|
mindt = ms |
|
|
mindt = ms |
|
|
Map_QM.util.pathStateObj.seldtFacNo = mapData.stairs[h].no |
|
|
|
|
|
|
|
|
this.util.pathStateObj.seldtFacNo = mapData.stairs[h].no |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} else if (mapData.stairs[h].facCode == 'upft' || mapData.stairs[h].downState) { |
|
|
} else if (mapData.stairs[h].facCode == 'upft' || mapData.stairs[h].downState) { |
|
|
//上扶梯
|
|
|
//上扶梯
|
|
|
if (minupft == -1) { |
|
|
if (minupft == -1) { |
|
|
minupft = ms |
|
|
minupft = ms |
|
|
Map_QM.util.pathStateObj.selupftFacNo = mapData.stairs[h].no |
|
|
|
|
|
|
|
|
this.util.pathStateObj.selupftFacNo = mapData.stairs[h].no |
|
|
} else { |
|
|
} else { |
|
|
if (minupft > ms) { |
|
|
if (minupft > ms) { |
|
|
minupft = ms |
|
|
minupft = ms |
|
|
Map_QM.util.pathStateObj.selupftFacNo = mapData.stairs[h].no |
|
|
|
|
|
|
|
|
this.util.pathStateObj.selupftFacNo = mapData.stairs[h].no |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} else if (mapData.stairs[h].facCode == 'upft' || mapData.stairs[h].downState) { |
|
|
} else if (mapData.stairs[h].facCode == 'upft' || mapData.stairs[h].downState) { |
|
|
if (mindownft == -1) { |
|
|
if (mindownft == -1) { |
|
|
mindownft = ms |
|
|
mindownft = ms |
|
|
Map_QM.util.pathStateObj.seldownftFacNo = mapData.stairs[h].no |
|
|
|
|
|
|
|
|
this.util.pathStateObj.seldownftFacNo = mapData.stairs[h].no |
|
|
} else { |
|
|
} else { |
|
|
if (mindownft > ms) { |
|
|
if (mindownft > ms) { |
|
|
mindownft = ms |
|
|
mindownft = ms |
|
|
Map_QM.util.pathStateObj.seldownftFacNo = mapData.stairs[h].no |
|
|
|
|
|
|
|
|
this.util.pathStateObj.seldownftFacNo = mapData.stairs[h].no |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -2187,24 +2148,23 @@ MainMap_QM.prototype = { |
|
|
|
|
|
|
|
|
let noHas |
|
|
let noHas |
|
|
for (let j = 0; j < mapData.stairs.length; j++) { |
|
|
for (let j = 0; j < mapData.stairs.length; j++) { |
|
|
if ((mapData.stairs[j].hasOwnProperty('state') && mapData.stairs[j].state) || !mapData.stairs[j].state) { |
|
|
|
|
|
//排除禁用的设施
|
|
|
|
|
|
|
|
|
if (parseInt(mapData.stairs[j].navCode) > 0 && mapData.stairs[j].state) { |
|
|
noHas = true |
|
|
noHas = true |
|
|
for (let k = 0; k < Map_QM.util.pathStateObj.facAllArr.length; k++) { |
|
|
|
|
|
|
|
|
for (let k = 0; k < this.util.pathStateObj.facAllArr.length; k++) { |
|
|
//Map_QM.util.pathStateObj.facAllArr 记录遍历结果
|
|
|
//Map_QM.util.pathStateObj.facAllArr 记录遍历结果
|
|
|
if ( |
|
|
if ( |
|
|
Map_QM.util.pathStateObj.facAllArr[k][0].no != '' && |
|
|
|
|
|
Map_QM.util.pathStateObj.facAllArr[k][0].navCode != '' && |
|
|
|
|
|
Map_QM.util.pathStateObj.facAllArr[k][0].no == mapData.stairs[j].no |
|
|
|
|
|
|
|
|
this.util.pathStateObj.facAllArr[k][0].no != '' && |
|
|
|
|
|
this.util.pathStateObj.facAllArr[k][0].navCode != '' && |
|
|
|
|
|
this.util.pathStateObj.facAllArr[k][0].no == mapData.stairs[j].no |
|
|
) { |
|
|
) { |
|
|
if ( |
|
|
if ( |
|
|
Map_QM.util.pathStateObj.facAllArr[k][0].facCode == mapData.stairs[j].facCode || |
|
|
|
|
|
(Map_QM.util.pathStateObj.facAllArr[k][0].facCode.search('ft') != -1 && mapData.stairs[j].facCode.search('ft') != -1) |
|
|
|
|
|
|
|
|
this.util.pathStateObj.facAllArr[k][0].facCode == mapData.stairs[j].facCode || |
|
|
|
|
|
(this.util.pathStateObj.facAllArr[k][0].facCode.search('ft') != -1 && mapData.stairs[j].facCode.search('ft') != -1) |
|
|
) { |
|
|
) { |
|
|
noHas = false |
|
|
noHas = false |
|
|
mapData.stairs[j].floorOrder = floorOrder |
|
|
mapData.stairs[j].floorOrder = floorOrder |
|
|
mapData.stairs[j].buildOrder = buildOrder |
|
|
mapData.stairs[j].buildOrder = buildOrder |
|
|
Map_QM.util.pathStateObj.facAllArr[k].push(mapData.stairs[j]) |
|
|
|
|
|
|
|
|
this.util.pathStateObj.facAllArr[k].push(mapData.stairs[j]) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -2212,7 +2172,7 @@ MainMap_QM.prototype = { |
|
|
mapData.stairs[j].buildOrder = buildOrder |
|
|
mapData.stairs[j].buildOrder = buildOrder |
|
|
mapData.stairs[j].floorOrder = floorOrder |
|
|
mapData.stairs[j].floorOrder = floorOrder |
|
|
let array = [mapData.stairs[j]] |
|
|
let array = [mapData.stairs[j]] |
|
|
Map_QM.util.pathStateObj.facAllArr.push(array) |
|
|
|
|
|
|
|
|
this.util.pathStateObj.facAllArr.push(array) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -2338,6 +2298,7 @@ MainMap_QM.prototype = { |
|
|
* |
|
|
* |
|
|
*/ |
|
|
*/ |
|
|
showFloor: function (fIndex = -1, callBack = undefined) { |
|
|
showFloor: function (fIndex = -1, callBack = undefined) { |
|
|
|
|
|
Map_QM.changeMapModel("3D"); |
|
|
Map_QM.resetFloorState() |
|
|
Map_QM.resetFloorState() |
|
|
Map_QM.clearFloor(fIndex) |
|
|
Map_QM.clearFloor(fIndex) |
|
|
if (fIndex != -1) { |
|
|
if (fIndex != -1) { |
|
|
@ -2522,13 +2483,17 @@ MainMap_QM.prototype = { |
|
|
changeMapModel: function (model) { |
|
|
changeMapModel: function (model) { |
|
|
if (model == '2D') { |
|
|
if (model == '2D') { |
|
|
Map_QM.util.setModelState('2d') |
|
|
Map_QM.util.setModelState('2d') |
|
|
|
|
|
Map_QM.controls.maxPolarAngle = 0; |
|
|
Map_QM.camera = Map_QM.cameraOrtho |
|
|
Map_QM.camera = Map_QM.cameraOrtho |
|
|
Map_QM.controls.object = Map_QM.camera |
|
|
Map_QM.controls.object = Map_QM.camera |
|
|
|
|
|
Map_QM.camera.updateProjectionMatrix(); |
|
|
Map_QM.shawLight.castShadow = false |
|
|
Map_QM.shawLight.castShadow = false |
|
|
} else { |
|
|
} else { |
|
|
Map_QM.util.setModelState('3d') |
|
|
Map_QM.util.setModelState('3d') |
|
|
Map_QM.camera = Map_QM.cameraPerspective |
|
|
Map_QM.camera = Map_QM.cameraPerspective |
|
|
Map_QM.controls.object = Map_QM.camera |
|
|
Map_QM.controls.object = Map_QM.camera |
|
|
|
|
|
Map_QM.controls.maxPolarAngle = Math.PI / 2 - 0.02 |
|
|
|
|
|
Map_QM.camera.updateProjectionMatrix() |
|
|
Map_QM.shawLight.castShadow = Map_QM.util.options.shadow |
|
|
Map_QM.shawLight.castShadow = Map_QM.util.options.shadow |
|
|
Map_QM.controls.reset() |
|
|
Map_QM.controls.reset() |
|
|
} |
|
|
} |
|
|
@ -2550,28 +2515,21 @@ MainMap_QM.prototype = { |
|
|
* |
|
|
* |
|
|
*/ |
|
|
*/ |
|
|
onShowLocalSite: function (centerPoint, zoom = 1) { |
|
|
onShowLocalSite: function (centerPoint, zoom = 1) { |
|
|
if (Map_QM.util.initModelArr.length > 0 && Map_QM.util.changeDist.inner > Map_QM.util.options.minDis) { |
|
|
|
|
|
Map_QM.controls.maxDistance = Map_QM.util.changeDist.inner |
|
|
|
|
|
} |
|
|
|
|
|
if (Map_QM.camera == Map_QM.cameraOrtho) { |
|
|
|
|
|
Map_QM.util.setModelState('3d') |
|
|
|
|
|
Map_QM.camera = Map_QM.cameraPerspective |
|
|
|
|
|
Map_QM.controls.setZoom(zoom) |
|
|
|
|
|
Map_QM.shawLight.castShadow = Map_QM.util.options.shadow |
|
|
|
|
|
Map_QM.controls.object = Map_QM.camera |
|
|
|
|
|
Map_QM.controls.enabled = true |
|
|
|
|
|
Map_QM.controls.enableRotate = true |
|
|
|
|
|
} |
|
|
|
|
|
let vat = Map_QM.mapBackToWorld(centerPoint.x, centerPoint.y, 0) |
|
|
|
|
|
TweenMax.to(Map_QM.controls.object.position, 0.1, { |
|
|
|
|
|
x: vat.x, |
|
|
|
|
|
delay: 0.1, |
|
|
|
|
|
onComplete: function () { |
|
|
|
|
|
Map_QM.controls.maxDistance = Map_QM.util.options.maxDis |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
TweenMax.to(Map_QM.controls.target, 0.1, { x: vat.x, y: vat.y, z: vat.z }) |
|
|
|
|
|
isJUZ = true |
|
|
|
|
|
|
|
|
Map_QM.controls.setZoom(1) |
|
|
|
|
|
Map_QM.controls.reset() |
|
|
|
|
|
Map_QM.util.options.deviceAng && Map_QM.rotationAngle(Map_QM.util.deviceObj.angle) |
|
|
|
|
|
if (Map_QM.util.initModelArr.length > 0 && Map_QM.util.changeDist.inner > Map_QM.util.options.minDis) { |
|
|
|
|
|
Map_QM.controls.maxDistance = Map_QM.util.changeDist.inner; |
|
|
|
|
|
} |
|
|
|
|
|
Map_QM.controls.setZoom(zoom) |
|
|
|
|
|
let vat = Map_QM.mapBackToWorld(centerPoint.x, centerPoint.y, 0); |
|
|
|
|
|
TweenMax.to(Map_QM.controls.object.position, 0.1, { |
|
|
|
|
|
x: vat.x, delay: 0.1, onComplete: function () { |
|
|
|
|
|
Map_QM.controls.maxDistance = Map_QM.util.options.maxDis; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
TweenMax.to(Map_QM.controls.target, 0.1, { x: vat.x, y: vat.y, z: vat.z }); |
|
|
|
|
|
isJUZ = true; |
|
|
}, |
|
|
}, |
|
|
//底图二维坐标转 3D模型三维坐标
|
|
|
//底图二维坐标转 3D模型三维坐标
|
|
|
mapBackToWorld: function (mapX, mapY, mapZ) { |
|
|
mapBackToWorld: function (mapX, mapY, mapZ) { |
|
|
@ -5664,7 +5622,6 @@ FloorMap_QM.prototype = { |
|
|
setOverSite: function (shopX, shopY, shopZ) { |
|
|
setOverSite: function (shopX, shopY, shopZ) { |
|
|
if (Map_QM.endModel) { |
|
|
if (Map_QM.endModel) { |
|
|
Map_QM.endModel.visible = pathCameraState == '2D' ? false : true |
|
|
Map_QM.endModel.visible = pathCameraState == '2D' ? false : true |
|
|
Map_QM.endModel.scale.x = Map_QM.endModel.scale.y = Map_QM.endModel.scale.z = 100 |
|
|
|
|
|
Map_QM.endModel.position.set(shopX, shopZ, shopY) //x,z,y
|
|
|
Map_QM.endModel.position.set(shopX, shopZ, shopY) //x,z,y
|
|
|
Map_QM.endModel.applyMatrix4(Map_QM.sceneGap.matrix) |
|
|
Map_QM.endModel.applyMatrix4(Map_QM.sceneGap.matrix) |
|
|
if (Map_QM.endIcon) { |
|
|
if (Map_QM.endIcon) { |
|
|
@ -5704,7 +5661,7 @@ FloorMap_QM.prototype = { |
|
|
child2.material = new THREE.MeshBasicMaterial({ color: 0xffffff, transparent: true }) |
|
|
child2.material = new THREE.MeshBasicMaterial({ color: 0xffffff, transparent: true }) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
collada2.scene.scale.x = collada2.scene.scale.y = collada2.scene.scale.z = 100 |
|
|
|
|
|
|
|
|
collada2.scene.scale.x = collada2.scene.scale.y = collada2.scene.scale.z = Map_QM.util.options.facSize*6; |
|
|
if (shopX != 0 && shopY != 0) { |
|
|
if (shopX != 0 && shopY != 0) { |
|
|
collada2.scene.position.set(shopX, shopZ, shopY) //x,z,y
|
|
|
collada2.scene.position.set(shopX, shopZ, shopY) //x,z,y
|
|
|
} |
|
|
} |
|
|
@ -5756,7 +5713,7 @@ FloorMap_QM.prototype = { |
|
|
child.material = new THREE.MeshBasicMaterial({ color: 0xffffff, transparent: true }) |
|
|
child.material = new THREE.MeshBasicMaterial({ color: 0xffffff, transparent: true }) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = 100 |
|
|
|
|
|
|
|
|
collada.scene.scale.x = collada.scene.scale.y = collada.scene.scale.z = Map_QM.util.options.facSize*6; |
|
|
collada.scene.rotateX(Math.PI / 2) |
|
|
collada.scene.rotateX(Math.PI / 2) |
|
|
if (shopX != 0 && shopY != 0) { |
|
|
if (shopX != 0 && shopY != 0) { |
|
|
collada.scene.position.set(shopX, -1 * shopY, parseInt(Map_QM.util.buildHeight) + 5) //x,z,y
|
|
|
collada.scene.position.set(shopX, -1 * shopY, parseInt(Map_QM.util.buildHeight) + 5) //x,z,y
|
|
|
|