|
@@ -2109,7 +2109,7 @@ function initByTHREE(THREE){
|
|
|
} */
|
|
|
initRouteArrow()
|
|
|
|
|
|
- browser.urlHasValue('panoLabel') && player.model.panos.forEach(p=>p.addLabel())
|
|
|
+ browser.urlHasValue('panoLabel') && player.model.panos.forEach(p=>p.addTextSprite())
|
|
|
if(settings.extractFloor){
|
|
|
let data = settings.extractFloor[number]
|
|
|
if(data){
|
|
@@ -2466,13 +2466,35 @@ Manage.prototype.switchBgmState = function(state){//按钮的状态完全代表
|
|
|
g_bgAudio.pauseByTour = false */
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
var manage = new Manage();
|
|
|
|
|
|
-
|
|
|
+manage.initMapPanoPos = function(width,height){
|
|
|
+ let bounding = new THREE.Box3 //不包含pano的bound
|
|
|
+ player.model.floors.list.forEach(floor=>{
|
|
|
+ bounding.union(floor.conservativeBoundingBox)
|
|
|
+ })
|
|
|
+ let boundSize = bounding.getSize(new THREE.Vector3)
|
|
|
+ let data = {}
|
|
|
+
|
|
|
+ let imgSize = new THREE.Vector2(width,height)
|
|
|
+ let bound2dSize = new THREE.Vector2(boundSize.x,boundSize.z)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ player.model.panos.forEach(pano=>{
|
|
|
+ let panoPos = new THREE.Vector2(pano.position.x, pano.position.z);
|
|
|
+ let boundMin = new THREE.Vector2(bounding.min.x, bounding.min.z);
|
|
|
+ let diff = new THREE.Vector2().subVectors(panoPos, boundMin)
|
|
|
+ diff.divide(bound2dSize).multiply(imgSize)
|
|
|
+ data[pano.id] = diff
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ return data
|
|
|
+}
|
|
|
|
|
|
|
|
|
//处理cursor优先级
|