fl-web-component 2.0.10 → 2.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -46,6 +46,10 @@ Vue.use(FlWebComponent)
46
46
  欢迎贡献代码和问题反馈。
47
47
 
48
48
  ## 更新日志
49
+ - 2.0.11 2026年5月28日
50
+ - 处理校审bug
51
+ - 2.0.10 2026年5月27日
52
+ - 处理校审bug
49
53
  - 2.0.9 2026年5月26日
50
54
  - 处理测量容器偏移计算问题
51
55
  - 2.0.8 2026年5月25日
@@ -202,6 +202,13 @@ module.exports =
202
202
  /************************************************************************/
203
203
  /******/ ({
204
204
 
205
+ /***/ "039b":
206
+ /***/ (function(module, exports, __webpack_require__) {
207
+
208
+ // extracted by mini-css-extract-plugin
209
+
210
+ /***/ }),
211
+
205
212
  /***/ "03d6":
206
213
  /***/ (function(module, exports, __webpack_require__) {
207
214
 
@@ -56489,7 +56496,7 @@ module.exports = document && document.documentElement;
56489
56496
  /***/ "9224":
56490
56497
  /***/ (function(module) {
56491
56498
 
56492
- module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.0.10\",\"scripts\":{\"postinstall\":\"patch-package\",\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch\",\"watch\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"publish:beta:base\":\"npm run build && npm publish --tag beta --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【测试版执行publish:beta】【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:beta\":\"npm version prerelease --preid=beta && npm run publish:beta:base\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"fflate\":\"^0.8.2\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.12\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/plugin-proposal-nullish-coalescing-operator\":\"^7.18.6\",\"@babel/plugin-proposal-optional-chaining\":\"^7.21.0\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-config-prettier\":\"^6.15.0\",\"eslint-plugin-prettier\":\"^3.4.1\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"prettier\":\"^2.8.8\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\",\"worker-loader\":\"^3.0.8\"},\"browserslist\":[\"> 1%\",\"last 2 versions\"]}");
56499
+ module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.0.12\",\"scripts\":{\"postinstall\":\"patch-package\",\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch\",\"watch\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"publish:beta:base\":\"npm run build && npm publish --tag beta --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【测试版执行publish:beta】【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:beta\":\"npm version prerelease --preid=beta && npm run publish:beta:base\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"fflate\":\"^0.8.2\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.12\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/plugin-proposal-nullish-coalescing-operator\":\"^7.18.6\",\"@babel/plugin-proposal-optional-chaining\":\"^7.21.0\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-config-prettier\":\"^6.15.0\",\"eslint-plugin-prettier\":\"^3.4.1\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"prettier\":\"^2.8.8\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\",\"worker-loader\":\"^3.0.8\"},\"browserslist\":[\"> 1%\",\"last 2 versions\"]}");
56493
56500
 
56494
56501
  /***/ }),
56495
56502
 
@@ -56610,6 +56617,17 @@ function mergeFn(a, b) {
56610
56617
  };
56611
56618
  }
56612
56619
 
56620
+ /***/ }),
56621
+
56622
+ /***/ "933d":
56623
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
56624
+
56625
+ "use strict";
56626
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_18f6bdf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("039b");
56627
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_18f6bdf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_18f6bdf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
56628
+ /* unused harmony reexport * */
56629
+
56630
+
56613
56631
  /***/ }),
56614
56632
 
56615
56633
  /***/ "9470":
@@ -70513,6 +70531,13 @@ module.exports = normalizeWheel;
70513
70531
 
70514
70532
  /***/ }),
70515
70533
 
70534
+ /***/ "d58d":
70535
+ /***/ (function(module, exports, __webpack_require__) {
70536
+
70537
+ // extracted by mini-css-extract-plugin
70538
+
70539
+ /***/ }),
70540
+
70516
70541
  /***/ "d777":
70517
70542
  /***/ (function(module, exports, __webpack_require__) {
70518
70543
 
@@ -72336,13 +72361,6 @@ module.exports = function (name) {
72336
72361
 
72337
72362
  /***/ }),
72338
72363
 
72339
- /***/ "e2af":
72340
- /***/ (function(module, exports, __webpack_require__) {
72341
-
72342
- // extracted by mini-css-extract-plugin
72343
-
72344
- /***/ }),
72345
-
72346
72364
  /***/ "e34a":
72347
72365
  /***/ (function(module, exports, __webpack_require__) {
72348
72366
 
@@ -74607,6 +74625,17 @@ Factory_1.Factory.addGetterSetter(Container, 'clipWidth', undefined, (0, Validat
74607
74625
  Factory_1.Factory.addGetterSetter(Container, 'clipHeight', undefined, (0, Validators_1.getNumberValidator)());
74608
74626
  Factory_1.Factory.addGetterSetter(Container, 'clipFunc');
74609
74627
 
74628
+ /***/ }),
74629
+
74630
+ /***/ "eb5f":
74631
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
74632
+
74633
+ "use strict";
74634
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_18f6bdf0_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d58d");
74635
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_18f6bdf0_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_18f6bdf0_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
74636
+ /* unused harmony reexport * */
74637
+
74638
+
74610
74639
  /***/ }),
74611
74640
 
74612
74641
  /***/ "eba4":
@@ -76063,13 +76092,6 @@ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
76063
76092
 
76064
76093
  /***/ }),
76065
76094
 
76066
- /***/ "efb3":
76067
- /***/ (function(module, exports, __webpack_require__) {
76068
-
76069
- // extracted by mini-css-extract-plugin
76070
-
76071
- /***/ }),
76072
-
76073
76095
  /***/ "f0b4":
76074
76096
  /***/ (function(module, exports, __webpack_require__) {
76075
76097
 
@@ -76336,17 +76358,6 @@ exports.default = {
76336
76358
  }
76337
76359
  };
76338
76360
 
76339
- /***/ }),
76340
-
76341
- /***/ "f2c8":
76342
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
76343
-
76344
- "use strict";
76345
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_482a990d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("efb3");
76346
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_482a990d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_482a990d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
76347
- /* unused harmony reexport * */
76348
-
76349
-
76350
76361
  /***/ }),
76351
76362
 
76352
76363
  /***/ "f35c":
@@ -77279,17 +77290,6 @@ module.exports = /******/function (modules) {
77279
77290
  /******/
77280
77291
  });
77281
77292
 
77282
- /***/ }),
77283
-
77284
- /***/ "f478":
77285
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
77286
-
77287
- "use strict";
77288
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_482a990d_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e2af");
77289
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_482a990d_prod_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_482a990d_prod_lang_css__WEBPACK_IMPORTED_MODULE_0__);
77290
- /* unused harmony reexport * */
77291
-
77292
-
77293
77293
  /***/ }),
77294
77294
 
77295
77295
  /***/ "f494":
@@ -78641,8 +78641,8 @@ if (typeof window !== 'undefined') {
78641
78641
  // Indicate to webpack that this file can be concatenated
78642
78642
  /* harmony default export */ var setPublicPath = (null);
78643
78643
 
78644
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"25a2ae8c-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=482a990d&scoped=true
78645
- var com_graphicsvue_type_template_id_482a990d_scoped_true_render = function render() {
78644
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7cf1c011-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=18f6bdf0&scoped=true
78645
+ var com_graphicsvue_type_template_id_18f6bdf0_scoped_true_render = function render() {
78646
78646
  var _vm = this,
78647
78647
  _c = _vm._self._c;
78648
78648
  return _c('div', {
@@ -78654,7 +78654,7 @@ var com_graphicsvue_type_template_id_482a990d_scoped_true_render = function rend
78654
78654
  };
78655
78655
  var staticRenderFns = [];
78656
78656
 
78657
- // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=482a990d&scoped=true
78657
+ // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=18f6bdf0&scoped=true
78658
78658
 
78659
78659
  // CONCATENATED MODULE: ./node_modules/camera-controls/dist/camera-controls.module.js
78660
78660
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
@@ -121351,6 +121351,9 @@ var isDebug = false || false === true;
121351
121351
  var modelIds = new Set();
121352
121352
  for (var i = 0; i < arr.length; i++) {
121353
121353
  var it = arr[i];
121354
+ if (it.obb.length == 0) {
121355
+ continue;
121356
+ }
121354
121357
 
121355
121358
  // 使用新的 min/max 数据结构
121356
121359
  var min = new this.THREE.Vector3(it.min[0], it.min[1], it.min[2]);
@@ -125053,19 +125056,44 @@ var isDebug = false || false === true;
125053
125056
  },
125054
125057
  getFirstPersonMoveSpeed: function getFirstPersonMoveSpeed(customMoveSpeed) {
125055
125058
  var defaultMoveSpeed = 800;
125056
- var minMoveSpeed = 300;
125057
- var maxMoveSpeed = 2500;
125058
125059
  var optionMoveSpeed = Number.isFinite(customMoveSpeed) && customMoveSpeed > 0 ? customMoveSpeed : defaultMoveSpeed;
125059
- var nextMoveSpeed = defaultMoveSpeed;
125060
+ var minMoveSpeed = Math.max(450, optionMoveSpeed * 0.1);
125061
+ var maxMoveSpeed = Math.max(16000, optionMoveSpeed * 2);
125062
+ var nextMoveSpeed = optionMoveSpeed;
125060
125063
  if (this.sceneBoundingBox && this.sceneBoundingBox.isBox3 && !this.sceneBoundingBox.isEmpty()) {
125061
125064
  var size = this.sceneBoundingBox.getSize(new this.THREE.Vector3());
125062
125065
  var horizontalSpan = Math.max(size.x, size.z);
125063
125066
  if (Number.isFinite(horizontalSpan) && horizontalSpan > 0) {
125064
- // 第一视角主要在水平面移动,优先使用场景水平范围估算移动速度
125065
- nextMoveSpeed = horizontalSpan * 0.8;
125067
+ var moveScale = Math.sqrt(horizontalSpan / 2500);
125068
+ // 使用平方根缩放,避免小场景过快,同时让大场景提升更明显
125069
+ nextMoveSpeed = optionMoveSpeed * Math.min(Math.max(moveScale, 0.1), 2);
125066
125070
  }
125067
125071
  }
125068
- return Math.min(Math.max(nextMoveSpeed, minMoveSpeed), Math.min(maxMoveSpeed, optionMoveSpeed));
125072
+ return Math.min(Math.max(nextMoveSpeed, minMoveSpeed), maxMoveSpeed);
125073
+ },
125074
+ getFirstPersonJumpConfig: function getFirstPersonJumpConfig(customJumpSpeed) {
125075
+ var defaultJumpSpeed = 350;
125076
+ var optionJumpSpeed = Number.isFinite(customJumpSpeed) && customJumpSpeed > 0 ? customJumpSpeed : defaultJumpSpeed;
125077
+ var minJumpSpeed = Math.max(220, optionJumpSpeed * 0.45);
125078
+ var maxJumpSpeed = Math.max(1800, optionJumpSpeed * 3.6);
125079
+ var defaultGravity = 980;
125080
+ var nextJumpSpeed = optionJumpSpeed;
125081
+ if (this.sceneBoundingBox && this.sceneBoundingBox.isBox3 && !this.sceneBoundingBox.isEmpty()) {
125082
+ var size = this.sceneBoundingBox.getSize(new this.THREE.Vector3());
125083
+ var verticalSpan = size.y;
125084
+ var horizontalSpan = Math.max(size.x, size.z);
125085
+ var dominantSpan = Math.max(verticalSpan, horizontalSpan * 0.5);
125086
+ if (Number.isFinite(dominantSpan) && dominantSpan > 0) {
125087
+ var jumpScale = Math.sqrt(dominantSpan / 1000);
125088
+ // 跳跃也按场景尺寸平滑缩放,避免小场景过高、大场景过低
125089
+ nextJumpSpeed = optionJumpSpeed * Math.min(Math.max(jumpScale, 0.45), 3.6);
125090
+ }
125091
+ }
125092
+ nextJumpSpeed = Math.min(Math.max(nextJumpSpeed, minJumpSpeed), maxJumpSpeed);
125093
+ return {
125094
+ jumpSpeed: nextJumpSpeed,
125095
+ gravity: Math.max(nextJumpSpeed * 2.2, defaultGravity)
125096
+ };
125069
125097
  },
125070
125098
  // 开启第一视角
125071
125099
  startFirstPer: function startFirstPer(options) {
@@ -125075,7 +125103,9 @@ var isDebug = false || false === true;
125075
125103
  _ref5$jumpSpeed = _ref5.jumpSpeed,
125076
125104
  jumpSpeed = _ref5$jumpSpeed === void 0 ? 200 : _ref5$jumpSpeed;
125077
125105
  this.removeSpeed = this.getFirstPersonMoveSpeed(moveSpeed);
125078
- this.upSpeed = jumpSpeed;
125106
+ var jumpConfig = this.getFirstPersonJumpConfig(jumpSpeed);
125107
+ this.upSpeed = jumpConfig.jumpSpeed;
125108
+ this.firstPersonGravity = jumpConfig.gravity;
125079
125109
  this.clock = new this.THREE.Clock();
125080
125110
  this.downRaycaster = new this.THREE.Raycaster(new this.THREE.Vector3(), new this.THREE.Vector3(0, -1, 0), 0, 10);
125081
125111
  this.velocity = new this.THREE.Vector3(); //移动速度变量
@@ -125106,7 +125136,9 @@ var isDebug = false || false === true;
125106
125136
  // 锁定
125107
125137
  _this46.pointControls.addEventListener('lock', function () {
125108
125138
  _this46.detachTransformControls();
125109
- _this46.cameraControls.enabled = false;
125139
+ if (_this46.cameraControls) {
125140
+ _this46.cameraControls.enabled = false;
125141
+ }
125110
125142
  window.addEventListener('keydown', _this46.onKeyDown, false);
125111
125143
  window.addEventListener('keyup', _this46.onKeyUp, false);
125112
125144
  _this46.unbindScenePointerEvents();
@@ -125117,10 +125149,13 @@ var isDebug = false || false === true;
125117
125149
  // 解锁
125118
125150
  _this46.pointControls.addEventListener('unlock', function () {
125119
125151
  _this46.firstPerSign = false;
125120
- _this46.cameraControls.enabled = true;
125121
- console.log(_this46.cameraControls);
125152
+ if (_this46.cameraControls) {
125153
+ _this46.cameraControls.enabled = true;
125154
+ }
125122
125155
  // 返回初始视角
125123
- _this46.home();
125156
+ if (_this46.cameraControls && _this46.camera && _this46.sceneBoundingBox) {
125157
+ _this46.home();
125158
+ }
125124
125159
  try {
125125
125160
  if (_this46._onFirstPersonChange && _this46.pointControls) {
125126
125161
  _this46.pointControls.removeEventListener('change', _this46._onFirstPersonChange);
@@ -125132,8 +125167,12 @@ var isDebug = false || false === true;
125132
125167
  setTimeout(function () {
125133
125168
  window.removeEventListener('keydown', _this46.onKeyDown);
125134
125169
  window.removeEventListener('keyup', _this46.onKeyUp);
125135
- _this46.bindScenePointerEvents();
125136
- _this46.ensureTransformSelectionValid();
125170
+ if (_this46.renderer && _this46.renderer.domElement) {
125171
+ _this46.bindScenePointerEvents();
125172
+ }
125173
+ if (_this46.scene) {
125174
+ _this46.ensureTransformSelectionValid();
125175
+ }
125137
125176
  // this.timeRender()
125138
125177
  }, 0);
125139
125178
  if (typeof _this46._cameraChangeObserver === 'function') {
@@ -125150,16 +125189,17 @@ var isDebug = false || false === true;
125150
125189
  var control = this.pointControls.object;
125151
125190
  // 获取刷新时间
125152
125191
  var delta = this.clock.getDelta();
125192
+ var forwardMoveScale = 0.35;
125153
125193
  // velocity每次的速度,为了保证有过渡
125154
125194
  this.velocity.x -= this.velocity.x * 10.0 * delta;
125155
125195
  this.velocity.z -= this.velocity.z * 10.0 * delta;
125156
- this.velocity.y -= 9.8 * 100.0 * delta; // 默认下降的速度
125196
+ this.velocity.y -= (this.firstPersonGravity || 9.8 * 100.0) * delta; // 默认下降的速度
125157
125197
  // 获取当前按键的方向并获取朝哪个方向移动
125158
125198
  this.direction.z = Number(this.moveForward) - Number(this.moveBackward);
125159
125199
  this.direction.x = Number(this.moveRight) - Number(this.moveLeft);
125160
125200
  // 将法向量的值归一化
125161
125201
  this.direction.normalize();
125162
- if (this.moveForward || this.moveBackward) this.velocity.z -= this.direction.z * this.removeSpeed * delta;
125202
+ if (this.moveForward || this.moveBackward) this.velocity.z -= this.direction.z * this.removeSpeed * forwardMoveScale * delta;
125163
125203
  if (this.moveLeft || this.moveRight) this.velocity.x -= this.direction.x * this.removeSpeed * delta;
125164
125204
  // }
125165
125205
  // 复制相机的位置
@@ -126377,11 +126417,11 @@ var isDebug = false || false === true;
126377
126417
  });
126378
126418
  // CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=script&lang=js
126379
126419
  /* harmony default export */ var components_com_graphicsvue_type_script_lang_js = (com_graphicsvue_type_script_lang_js);
126380
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=482a990d&prod&lang=scss&scoped=true
126381
- var com_graphicsvue_type_style_index_0_id_482a990d_prod_lang_scss_scoped_true = __webpack_require__("f2c8");
126420
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=18f6bdf0&prod&lang=scss&scoped=true
126421
+ var com_graphicsvue_type_style_index_0_id_18f6bdf0_prod_lang_scss_scoped_true = __webpack_require__("933d");
126382
126422
 
126383
- // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=482a990d&prod&lang=css
126384
- var com_graphicsvue_type_style_index_1_id_482a990d_prod_lang_css = __webpack_require__("f478");
126423
+ // EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=1&id=18f6bdf0&prod&lang=css
126424
+ var com_graphicsvue_type_style_index_1_id_18f6bdf0_prod_lang_css = __webpack_require__("eb5f");
126385
126425
 
126386
126426
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
126387
126427
  /* globals __VUE_SSR_CONTEXT__ */
@@ -126493,17 +126533,17 @@ function normalizeComponent(
126493
126533
 
126494
126534
  var component = normalizeComponent(
126495
126535
  components_com_graphicsvue_type_script_lang_js,
126496
- com_graphicsvue_type_template_id_482a990d_scoped_true_render,
126536
+ com_graphicsvue_type_template_id_18f6bdf0_scoped_true_render,
126497
126537
  staticRenderFns,
126498
126538
  false,
126499
126539
  null,
126500
- "482a990d",
126540
+ "18f6bdf0",
126501
126541
  null
126502
126542
 
126503
126543
  )
126504
126544
 
126505
126545
  /* harmony default export */ var com_graphics = (component.exports);
126506
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"25a2ae8c-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=21bcf2d9&scoped=true
126546
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7cf1c011-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=21bcf2d9&scoped=true
126507
126547
  var com_flcanvasvue_type_template_id_21bcf2d9_scoped_true_render = function render() {
126508
126548
  var _vm = this,
126509
126549
  _c = _vm._self._c;
@@ -130423,7 +130463,7 @@ var com_flcanvas_component = normalizeComponent(
130423
130463
  )
130424
130464
 
130425
130465
  /* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
130426
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"25a2ae8c-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
130466
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7cf1c011-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
130427
130467
  var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
130428
130468
  var _vm = this,
130429
130469
  _c = _vm._self._c;
@@ -130531,7 +130571,7 @@ var per_control_component = normalizeComponent(
130531
130571
  )
130532
130572
 
130533
130573
  /* harmony default export */ var per_control = (per_control_component.exports);
130534
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"25a2ae8c-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=2572c0e2&scoped=true
130574
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7cf1c011-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=2572c0e2&scoped=true
130535
130575
  var pidvue_type_template_id_2572c0e2_scoped_true_render = function render() {
130536
130576
  var _vm = this,
130537
130577
  _c = _vm._self._c;
@@ -130578,7 +130618,7 @@ var browserify_default = /*#__PURE__*/__webpack_require__.n(browserify);
130578
130618
  var html2canvas = __webpack_require__("c0e9");
130579
130619
  var html2canvas_default = /*#__PURE__*/__webpack_require__.n(html2canvas);
130580
130620
 
130581
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"25a2ae8c-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/component/ann-tool.vue?vue&type=template&id=4b17bce0&scoped=true
130621
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7cf1c011-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/component/ann-tool.vue?vue&type=template&id=4b17bce0&scoped=true
130582
130622
  var ann_toolvue_type_template_id_4b17bce0_scoped_true_render = function render() {
130583
130623
  var _vm = this,
130584
130624
  _c = _vm._self._c;