|
@@ -49,9 +49,10 @@ class Label2D extends THREE.EventDispatcher {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
- update(e = {}) {
|
|
|
|
- if (!this.position || !this.visible) return
|
|
|
|
|
|
+
|
|
|
|
+ update(e={}) {
|
|
|
|
+ if (!this.position || !this.visible || !e.changeSlightly && this.sheltered) return
|
|
|
|
+
|
|
|
|
|
|
var p = convertTool.getPos2d(this.position, viewer.camera, $("#player")[0]);
|
|
var p = convertTool.getPos2d(this.position, viewer.camera, $("#player")[0]);
|
|
if (!p || !p.trueSide) {
|
|
if (!p || !p.trueSide) {
|
|
@@ -62,7 +63,10 @@ class Label2D extends THREE.EventDispatcher {
|
|
|
|
|
|
if (e.changeSlightly) {//防卡: 画面要停止转动时才执行
|
|
if (e.changeSlightly) {//防卡: 画面要停止转动时才执行
|
|
if (this.shelterByModel && convertTool.ifShelter(this.position, p.vector, viewer.camera, viewer.model.children, 0.05)) {
|
|
if (this.shelterByModel && convertTool.ifShelter(this.position, p.vector, viewer.camera, viewer.model.children, 0.05)) {
|
|
|
|
+ this.sheltered = true
|
|
this.elem.css('display', 'none'); return;
|
|
this.elem.css('display', 'none'); return;
|
|
|
|
+ }else{
|
|
|
|
+ this.sheltered = false
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
//console.log('!changeSlightly')
|
|
//console.log('!changeSlightly')
|