@anov/3d-ability 0.0.140 → 0.0.142

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.
Files changed (266) hide show
  1. package/dist/business/Animation/motion/index.js +35 -56
  2. package/dist/business/Animation/motion/index.js.map +1 -1
  3. package/dist/business/Animation/type.js +2 -2
  4. package/dist/business/Area/Fence/FenceBase.js +146 -187
  5. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  6. package/dist/business/Area/Fence/fence_base_01.js +120 -112
  7. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  8. package/dist/business/Area/Fence/fence_feeting_01.js +218 -130
  9. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  10. package/dist/business/Area/Fence/fence_roll_01.js +140 -130
  11. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  12. package/dist/business/Area/FillArea/FillAreaBase.js +87 -126
  13. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  14. package/dist/business/Area/FillArea/fillArea_face_01.js +72 -98
  15. package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
  16. package/dist/business/Area/FillArea/fillArea_line_01.js +66 -94
  17. package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
  18. package/dist/business/Area/index.js +267 -483
  19. package/dist/business/Area/index.js.map +1 -1
  20. package/dist/business/Area/tool.js +14 -26
  21. package/dist/business/Area/tool.js.map +1 -1
  22. package/dist/business/Base/ObjectLayer.js +21 -46
  23. package/dist/business/Base/ObjectLayer.js.map +1 -1
  24. package/dist/business/Batch/index.js +189 -234
  25. package/dist/business/Batch/index.js.map +1 -1
  26. package/dist/business/Box/index.js +52 -81
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Cylinder/index.js +51 -79
  29. package/dist/business/Cylinder/index.js.map +1 -1
  30. package/dist/business/Flyline/bubble/CircleBubble.js +1 -9
  31. package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
  32. package/dist/business/Flyline/bubble/index.js +7 -21
  33. package/dist/business/Flyline/bubble/index.js.map +1 -1
  34. package/dist/business/Flyline/index.js +96 -162
  35. package/dist/business/Flyline/index.js.map +1 -1
  36. package/dist/business/Flyline/line/ArcLine.js +208 -291
  37. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  38. package/dist/business/Flyline/line/index.js +8 -22
  39. package/dist/business/Flyline/line/index.js.map +1 -1
  40. package/dist/business/HeatMap/HeatMap.js +380 -467
  41. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  42. package/dist/business/HeatMap/core.js +405 -525
  43. package/dist/business/HeatMap/core.js.map +1 -1
  44. package/dist/business/HeatMap/shader.js +69 -3
  45. package/dist/business/HeatMap/shader.js.map +1 -1
  46. package/dist/business/InfoPanel/index.js +201 -242
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/Line/index.js +55 -88
  49. package/dist/business/Line/index.js.map +1 -1
  50. package/dist/business/Mark/KeyframeAnimation.js +145 -176
  51. package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
  52. package/dist/business/Mark/index.js +196 -294
  53. package/dist/business/Mark/index.js.map +1 -1
  54. package/dist/business/Mark/shader/tanhao.js +36 -3
  55. package/dist/business/Mark/shader/tanhao.js.map +1 -1
  56. package/dist/business/Mark/type.js +1 -1
  57. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +377 -551
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  59. package/dist/business/MaterialSwitch/inject.js +92 -58
  60. package/dist/business/MaterialSwitch/inject.js.map +1 -1
  61. package/dist/business/MaterialSwitch/shader/finalFade.js +74 -2
  62. package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
  63. package/dist/business/MaterialSwitch/shader/ground.js +95 -16
  64. package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
  65. package/dist/business/MaterialSwitch/shader/groundBase64.js +9 -3
  66. package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
  67. package/dist/business/MaterialSwitch/shader/realFade.js +48 -9
  68. package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
  69. package/dist/business/Plane/index.js +51 -78
  70. package/dist/business/Plane/index.js.map +1 -1
  71. package/dist/business/Poi/index.d.ts +5 -0
  72. package/dist/business/Poi/index.js +256 -295
  73. package/dist/business/Poi/index.js.map +1 -1
  74. package/dist/business/Poi/link/Cylinder.js +56 -89
  75. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  76. package/dist/business/Poi/link/Pyramid.js +104 -165
  77. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  78. package/dist/business/Poi/link/index.d.ts +1 -1
  79. package/dist/business/Poi/link/index.js +54 -114
  80. package/dist/business/Poi/link/index.js.map +1 -1
  81. package/dist/business/Poi/panel/index.d.ts +124 -0
  82. package/dist/business/Poi/panel/index.js +474 -0
  83. package/dist/business/Poi/panel/index.js.map +1 -0
  84. package/dist/business/Poi/panel/interfaces.d.ts +67 -0
  85. package/dist/business/Poi/panel/interfaces.js +2 -0
  86. package/dist/business/Poi/panel/interfaces.js.map +1 -0
  87. package/dist/business/Poi/panel/utils.d.ts +72 -0
  88. package/dist/business/Poi/panel/utils.js +126 -0
  89. package/dist/business/Poi/panel/utils.js.map +1 -0
  90. package/dist/business/Poi/particle/DoubleCircle.js +71 -107
  91. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  92. package/dist/business/Poi/particle/DynamicCircle.js +75 -111
  93. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  94. package/dist/business/Poi/particle/SingleCircle.js +62 -98
  95. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  96. package/dist/business/Poi/particle/index.js +49 -117
  97. package/dist/business/Poi/particle/index.js.map +1 -1
  98. package/dist/business/Poi/shader/circle.js +31 -3
  99. package/dist/business/Poi/shader/circle.js.map +1 -1
  100. package/dist/business/Poi/shader/cylinder.js +37 -3
  101. package/dist/business/Poi/shader/cylinder.js.map +1 -1
  102. package/dist/business/Poi/shader/doubleCircle.js +55 -3
  103. package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
  104. package/dist/business/Poi/shader/dynamicCircle.js +67 -3
  105. package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
  106. package/dist/business/Poi/title/Border.js +7 -27
  107. package/dist/business/Poi/title/Border.js.map +1 -1
  108. package/dist/business/Poi/title/Ellipse.js +7 -27
  109. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  110. package/dist/business/Poi/title/index.js +208 -292
  111. package/dist/business/Poi/title/index.js.map +1 -1
  112. package/dist/business/Poi/tools.js +22 -19
  113. package/dist/business/Poi/tools.js.map +1 -1
  114. package/dist/business/Poi/types.d.ts +3 -0
  115. package/dist/business/Poi/types.js.map +1 -1
  116. package/dist/business/Sphere/index.js +47 -72
  117. package/dist/business/Sphere/index.js.map +1 -1
  118. package/dist/business/Spline/index.js +190 -245
  119. package/dist/business/Spline/index.js.map +1 -1
  120. package/dist/business/SplitBuilding/index.js +327 -536
  121. package/dist/business/SplitBuilding/index.js.map +1 -1
  122. package/dist/business/SplitBuilding/type.js +2 -2
  123. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +218 -275
  124. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  125. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +132 -177
  126. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  127. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +51 -1
  128. package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
  129. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +6 -1
  130. package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
  131. package/dist/business/TrafficComponents/base.js +32 -55
  132. package/dist/business/TrafficComponents/base.js.map +1 -1
  133. package/dist/business/TrafficComponents/utils.d.ts +1 -1
  134. package/dist/business/TrafficComponents/utils.js +26 -25
  135. package/dist/business/TrafficComponents/utils.js.map +1 -1
  136. package/dist/business/Utils/Curve.js +40 -56
  137. package/dist/business/Utils/Curve.js.map +1 -1
  138. package/dist/business/Utils/constant.js +1 -1
  139. package/dist/business/Utils/constant.js.map +1 -1
  140. package/dist/business/Utils/defineProps.js +13 -14
  141. package/dist/business/Utils/defineProps.js.map +1 -1
  142. package/dist/business/Utils/round-curve.js +127 -153
  143. package/dist/business/Utils/round-curve.js.map +1 -1
  144. package/dist/business/VideoPanel/index.js +258 -319
  145. package/dist/business/VideoPanel/index.js.map +1 -1
  146. package/dist/business/Water/index.js +78 -108
  147. package/dist/business/Water/index.js.map +1 -1
  148. package/dist/business/Water/types.js +1 -1
  149. package/dist/business/Water/types.js.map +1 -1
  150. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +383 -449
  151. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  152. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +107 -142
  153. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
  154. package/dist/core/Controls/FirstViewControl/index.js +84 -96
  155. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  156. package/dist/core/Controls/ThirdViewControl/action/input.js +77 -98
  157. package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
  158. package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
  159. package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
  160. package/dist/core/Controls/ThirdViewControl/index.js +19 -28
  161. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  162. package/dist/core/Controls/ThirdViewControl/player/animation.js +126 -155
  163. package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
  164. package/dist/core/Controls/ThirdViewControl/player/camera.js +47 -63
  165. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  166. package/dist/core/Controls/ThirdViewControl/player/control.js +39 -49
  167. package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
  168. package/dist/core/Controls/ThirdViewControl/player.js +66 -91
  169. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  170. package/dist/core/Controls/base.js +14 -30
  171. package/dist/core/Controls/base.js.map +1 -1
  172. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +92 -131
  173. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
  174. package/dist/core/Debug/PerformanceInfo/Performance.js +22 -47
  175. package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
  176. package/dist/core/Light/PointLight/PointLightExt.js +4 -21
  177. package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
  178. package/dist/core/Material/FinirMaterial/FinirMaterial.js +37 -57
  179. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  180. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +116 -153
  181. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
  182. package/dist/core/Material/PristineGridMaterial/shader/fragment.js +95 -1
  183. package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
  184. package/dist/core/Material/PristineGridMaterial/shader/vertex.js +26 -1
  185. package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
  186. package/dist/core/Material/SurfaceMaterial/index.js +76 -172
  187. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  188. package/dist/core/Material/decorators.js +6 -11
  189. package/dist/core/Material/decorators.js.map +1 -1
  190. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +16 -12
  191. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  192. package/dist/core/PostEffects/addBrightnessContrastPass.js +17 -13
  193. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  194. package/dist/core/PostEffects/bloomPass.js +17 -10
  195. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  196. package/dist/core/PostEffects/bloomSelect.js +60 -43
  197. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  198. package/dist/core/PostEffects/colorifyPass.js +17 -13
  199. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  200. package/dist/core/PostEffects/index.js +28 -22
  201. package/dist/core/PostEffects/index.js.map +1 -1
  202. package/dist/core/PostEffects/outlinePass.js +37 -50
  203. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  204. package/dist/core/PostEffects/postprocessing.js +14 -12
  205. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  206. package/dist/core/PostEffects/saoPass.js +15 -10
  207. package/dist/core/PostEffects/saoPass.js.map +1 -1
  208. package/dist/core/PostEffects/shader/colorify.js +22 -3
  209. package/dist/core/PostEffects/shader/colorify.js.map +1 -1
  210. package/dist/core/PostEffects/shader/gammaCorrectionShader.js +27 -3
  211. package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
  212. package/dist/core/PostEffects/shader/mapping.js +66 -3
  213. package/dist/core/PostEffects/shader/mapping.js.map +1 -1
  214. package/dist/core/PostEffects/shader/thermalMaging.js +28 -3
  215. package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
  216. package/dist/core/SceneEffect/grow/grow.js +85 -101
  217. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  218. package/dist/core/SceneEffect/grow/style_down.js +60 -77
  219. package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
  220. package/dist/core/SceneEffect/grow/style_up.js +64 -81
  221. package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
  222. package/dist/core/SceneEffect/grow/type.js +2 -2
  223. package/dist/core/SceneEffect/grow/type.js.map +1 -1
  224. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +51 -76
  225. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  226. package/dist/core/WeatherSystem/hdr/index.js +69 -105
  227. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  228. package/dist/core/WeatherSystem/index.js +77 -124
  229. package/dist/core/WeatherSystem/index.js.map +1 -1
  230. package/dist/core/WeatherSystem/objects/fog/index.js +52 -80
  231. package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
  232. package/dist/core/WeatherSystem/objects/rain/index.js +72 -84
  233. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  234. package/dist/core/WeatherSystem/objects/rain/lineRain.js +88 -118
  235. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  236. package/dist/core/WeatherSystem/objects/rain/plane.js +116 -146
  237. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  238. package/dist/core/WeatherSystem/objects/rain/point.js +100 -148
  239. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  240. package/dist/core/WeatherSystem/objects/sky/cloud.js +71 -104
  241. package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
  242. package/dist/core/WeatherSystem/objects/sky/index.js +66 -84
  243. package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
  244. package/dist/core/WeatherSystem/objects/sky/outline.js +25 -45
  245. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  246. package/dist/core/WeatherSystem/shaders/cloud.js +74 -3
  247. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  248. package/dist/core/WeatherSystem/shaders/fog.js +103 -3
  249. package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
  250. package/dist/core/WeatherSystem/shaders/rain.js +206 -7
  251. package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
  252. package/dist/core/WeatherSystem/shaders/sky.js +87 -3
  253. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  254. package/dist/core/WeatherSystem/sky/index.js +104 -135
  255. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  256. package/dist/core/WeatherSystem/utils/constant.js +44 -38
  257. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  258. package/dist/core/WeatherSystem/utils/math.js +18 -25
  259. package/dist/core/WeatherSystem/utils/math.js.map +1 -1
  260. package/dist/core/WeatherSystem/utils/type.js +1 -1
  261. package/dist/core/WeatherSystem/utils/type.js.map +1 -1
  262. package/dist/core/WeatherSystem/weather/index.js +96 -141
  263. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  264. package/dist/utils/index.js +1 -1
  265. package/dist/utils/index.js.map +1 -1
  266. package/package.json +3 -3
@@ -1,23 +1,14 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
1
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
2
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
6
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
8
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
11
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
12
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
14
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
6
  import { DirectionalLight, MathUtils, Object3D, Vector3, lib } from '@anov/3d-core';
18
7
  import { getSunPosition } from "../utils/math";
19
- var Sky = lib.Sky;
20
- var effectController = {
8
+ const {
9
+ Sky
10
+ } = lib;
11
+ const effectController = {
21
12
  turbidity: 10,
22
13
  rayleigh: 3,
23
14
  mieCoefficient: 0.005,
@@ -30,138 +21,116 @@ var effectController = {
30
21
  /**
31
22
  * 天空——时间系统
32
23
  */
33
- export var SkySystem = /*#__PURE__*/function (_Object3D) {
34
- _inherits(SkySystem, _Object3D);
35
- var _super = _createSuper(SkySystem);
36
- function SkySystem(options) {
37
- var _this;
38
- _classCallCheck(this, SkySystem);
39
- _this = _super.call(this);
40
- _defineProperty(_assertThisInitialized(_this), "_size", 450000);
41
- _defineProperty(_assertThisInitialized(_this), "_sky", void 0);
42
- _defineProperty(_assertThisInitialized(_this), "_effectController", effectController);
43
- _defineProperty(_assertThisInitialized(_this), "_latitude", 40);
44
- _defineProperty(_assertThisInitialized(_this), "_longitude", 116);
45
- _defineProperty(_assertThisInitialized(_this), "_sunHeight", 10000);
46
- _defineProperty(_assertThisInitialized(_this), "_sun", void 0);
47
- _this._effectController = _objectSpread(_objectSpread({}, effectController), options !== null && options !== void 0 ? options : {});
48
- _this.createSky();
49
- _this.createSun();
50
- _this.combination();
51
- return _this;
24
+ export class SkySystem extends Object3D {
25
+ get size() {
26
+ return this.size;
27
+ }
28
+ set size(size) {
29
+ this._size = size;
30
+ this._sky.scale.setScalar(this._size);
31
+ }
32
+ get sunHeight() {
33
+ return this._sunHeight;
34
+ }
35
+ set sunHeight(height) {
36
+ this._sunHeight = height;
37
+ }
38
+ constructor(options) {
39
+ super();
40
+ _defineProperty(this, "_size", 450000);
41
+ _defineProperty(this, "_sky", void 0);
42
+ _defineProperty(this, "_effectController", effectController);
43
+ _defineProperty(this, "_latitude", 40);
44
+ _defineProperty(this, "_longitude", 116);
45
+ _defineProperty(this, "_sunHeight", 10000);
46
+ _defineProperty(this, "_sun", void 0);
47
+ this._effectController = _objectSpread(_objectSpread({}, effectController), options !== null && options !== void 0 ? options : {});
48
+ this.createSky();
49
+ this.createSun();
50
+ this.combination();
52
51
  }
53
52
 
54
53
  /**
55
54
  * create sky
56
55
  * @returns
57
56
  */
58
- _createClass(SkySystem, [{
59
- key: "size",
60
- get: function get() {
61
- return this.size;
62
- },
63
- set: function set(size) {
64
- this._size = size;
65
- this._sky.scale.setScalar(this._size);
66
- }
67
- }, {
68
- key: "sunHeight",
69
- get: function get() {
70
- return this._sunHeight;
71
- },
72
- set: function set(height) {
73
- this._sunHeight = height;
74
- }
75
- }, {
76
- key: "createSky",
77
- value: function createSky() {
78
- this._sky = new Sky();
79
- this._sky.scale.setScalar(this._size);
80
- var position = new Vector3();
81
- var uniforms = this._sky.material.uniforms;
82
- var phi = MathUtils.degToRad(90 - this._effectController.elevation);
83
- var theta = MathUtils.degToRad(this._effectController.azimuth);
84
- uniforms.turbidity.value = this._effectController.turbidity;
85
- uniforms.rayleigh.value = this._effectController.rayleigh;
86
- uniforms.mieCoefficient.value = this._effectController.mieCoefficient;
87
- uniforms.mieDirectionalG.value = this._effectController.mieDirectionalG;
88
- position.setFromSphericalCoords(1, phi, theta);
89
- uniforms.sunPosition.value.copy(position);
90
- return this._sky;
91
- }
57
+ createSky() {
58
+ this._sky = new Sky();
59
+ this._sky.scale.setScalar(this._size);
60
+ const position = new Vector3();
61
+ const uniforms = this._sky.material.uniforms;
62
+ const phi = MathUtils.degToRad(90 - this._effectController.elevation);
63
+ const theta = MathUtils.degToRad(this._effectController.azimuth);
64
+ uniforms.turbidity.value = this._effectController.turbidity;
65
+ uniforms.rayleigh.value = this._effectController.rayleigh;
66
+ uniforms.mieCoefficient.value = this._effectController.mieCoefficient;
67
+ uniforms.mieDirectionalG.value = this._effectController.mieDirectionalG;
68
+ position.setFromSphericalCoords(1, phi, theta);
69
+ uniforms.sunPosition.value.copy(position);
70
+ return this._sky;
71
+ }
92
72
 
93
- /**
94
- * create sun
95
- * @returns
96
- */
97
- }, {
98
- key: "createSun",
99
- value: function createSun() {
100
- var sunLight = new DirectionalLight('white', 1);
101
- sunLight.name = 'SYS_SUN';
102
- sunLight.castShadow = true;
103
- this._sun = sunLight;
73
+ /**
74
+ * create sun
75
+ * @returns
76
+ */
77
+ createSun() {
78
+ const sunLight = new DirectionalLight('white', 1);
79
+ sunLight.name = 'SYS_SUN';
80
+ sunLight.castShadow = true;
81
+ this._sun = sunLight;
104
82
 
105
- // 添加帮助
106
- // const helper = new DirectionalLightHelper(sunLight, 200)
107
- // this.add(helper)
83
+ // 添加帮助
84
+ // const helper = new DirectionalLightHelper(sunLight, 200)
85
+ // this.add(helper)
108
86
 
109
- return sunLight;
110
- }
111
- }, {
112
- key: "combination",
113
- value: function combination() {
114
- this.setTime(new Date());
115
- this.add(this._sky);
116
- this.add(this._sun);
117
- }
87
+ return sunLight;
88
+ }
89
+ combination() {
90
+ this.setTime(new Date());
91
+ this.add(this._sky);
92
+ this.add(this._sun);
93
+ }
118
94
 
119
- /**
120
- * 设置天空中的太阳位置
121
- * @param position
122
- */
123
- }, {
124
- key: "setSunPositin",
125
- value: function setSunPositin(position) {
126
- var uniforms = this._sky.material.uniforms;
127
- uniforms.sunPosition.value.copy(position);
128
- }
95
+ /**
96
+ * 设置天空中的太阳位置
97
+ * @param position
98
+ */
99
+ setSunPositin(position) {
100
+ const uniforms = this._sky.material.uniforms;
101
+ uniforms.sunPosition.value.copy(position);
102
+ }
129
103
 
130
- /**
131
- * 设置时间
132
- * @param currentDate
133
- */
134
- }, {
135
- key: "setTime",
136
- value: function setTime(currentDate) {
137
- // 根据时间、经纬度获取太阳的高度角(altitude)、方位角(azimuth)
138
- var _getSunPosition = getSunPosition(currentDate, this._latitude, this._longitude),
139
- altitude = _getSunPosition.altitude,
140
- azimuth = _getSunPosition.azimuth;
141
- var uniforms = this._sky.material.uniforms;
104
+ /**
105
+ * 设置时间
106
+ * @param currentDate
107
+ */
108
+ setTime(currentDate) {
109
+ // 根据时间、经纬度获取太阳的高度角(altitude)、方位角(azimuth)
110
+ const {
111
+ altitude,
112
+ azimuth
113
+ } = getSunPosition(currentDate, this._latitude, this._longitude);
114
+ const uniforms = this._sky.material.uniforms;
142
115
 
143
- // 转换为 Three.js setFromSphericalCoords 参数
144
- var phi = Math.PI / 2 - altitude; // SunCalc的高度角转换为Three.js的phi
145
- var theta = azimuth + Math.PI; // SunCalc的方位角转换为Three.js的theta
146
- var sunPosition = new Vector3().setFromSphericalCoords(1, phi, theta);
147
- uniforms.sunPosition.value.copy(sunPosition);
116
+ // 转换为 Three.js setFromSphericalCoords 参数
117
+ const phi = Math.PI / 2 - altitude; // SunCalc的高度角转换为Three.js的phi
118
+ const theta = azimuth + Math.PI; // SunCalc的方位角转换为Three.js的theta
119
+ const sunPosition = new Vector3().setFromSphericalCoords(1, phi, theta);
120
+ uniforms.sunPosition.value.copy(sunPosition);
148
121
 
149
- // 缩放向量使光源足够远但不超出场景有效范围
150
- var scaledPosition = sunPosition.clone().multiplyScalar(this._sunHeight);
151
- this._sun.position.copy(scaledPosition);
122
+ // 缩放向量使光源足够远但不超出场景有效范围
123
+ const scaledPosition = sunPosition.clone().multiplyScalar(this._sunHeight);
124
+ this._sun.position.copy(scaledPosition);
152
125
 
153
- // uniforms.sunPosition.value.copy(new Vector3().setFromSphericalCoords(this._sunHeight, MathUtils.degToRad(90 - MathUtils.radToDeg(altitude)), azimuth))
154
- // const x = this._sunHeight * (Math.cos(altitude)) * (Math.cos(azimuth))
155
- // const z = this._sunHeight * (Math.cos(altitude)) * (Math.sin(azimuth))
156
- // const y = this._sunHeight * (Math.sin(altitude))
157
- // this._sun.position.copy(new Vector3(x, y, z))
158
- }
159
- }, {
160
- key: "updateSky",
161
- value: function updateSky(camera) {
162
- if (this._sky) this._sky.position.copy(camera.position);
163
- }
164
- }]);
165
- return SkySystem;
166
- }(Object3D);
126
+ // uniforms.sunPosition.value.copy(new Vector3().setFromSphericalCoords(this._sunHeight, MathUtils.degToRad(90 - MathUtils.radToDeg(altitude)), azimuth))
127
+ // const x = this._sunHeight * (Math.cos(altitude)) * (Math.cos(azimuth))
128
+ // const z = this._sunHeight * (Math.cos(altitude)) * (Math.sin(azimuth))
129
+ // const y = this._sunHeight * (Math.sin(altitude))
130
+ // this._sun.position.copy(new Vector3(x, y, z))
131
+ }
132
+ updateSky(camera) {
133
+ if (this._sky) this._sky.position.copy(camera.position);
134
+ }
135
+ }
167
136
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DirectionalLight","MathUtils","Object3D","Vector3","lib","getSunPosition","Sky","effectController","turbidity","rayleigh","mieCoefficient","mieDirectionalG","elevation","azimuth","exposure","SkySystem","_Object3D","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","_effectController","_objectSpread","createSky","createSun","combination","_createClass","key","get","size","set","_size","_sky","scale","setScalar","_sunHeight","height","value","position","uniforms","material","phi","degToRad","theta","setFromSphericalCoords","sunPosition","copy","sunLight","name","castShadow","_sun","setTime","Date","add","setSunPositin","currentDate","_getSunPosition","_latitude","_longitude","altitude","Math","PI","scaledPosition","clone","multiplyScalar","updateSky","camera"],"sources":["../../../../src/core/WeatherSystem/sky/index.ts"],"sourcesContent":["import type { Light } from '@anov/3d-core'\nimport { AmbientLight, DirectionalLight, DirectionalLightHelper, MathUtils, Object3D, Vector3, lib } from '@anov/3d-core'\nimport { getSunPosition } from '../utils/math'\n\nconst { Sky } = lib\n\ntype SkySystemOption = {\n scalarCoefficient?: number\n turbidity?: number\n rayleigh?: number\n mieCoefficient?: number\n mieDirectionalG?: number\n elevation?: number\n azimuth?: number\n exposure?: number\n}\n\nconst effectController: SkySystemOption = {\n turbidity: 10,\n rayleigh: 3,\n mieCoefficient: 0.005,\n mieDirectionalG: 0.7,\n elevation: 2,\n azimuth: 180,\n exposure: 0.1,\n}\n\n/**\n * 天空——时间系统\n */\nexport class SkySystem extends Object3D {\n private _size = 450000\n private _sky: lib.Sky\n private _effectController: SkySystemOption = effectController\n private _latitude = 40\n private _longitude = 116\n private _sunHeight = 10000\n private _sun: Light\n\n public get size() {\n return this.size\n }\n\n public set size(size: number) {\n this._size = size\n this._sky.scale.setScalar(this._size)\n }\n\n public get sunHeight() {\n return this._sunHeight\n }\n\n public set sunHeight(height: number) {\n this._sunHeight = height\n }\n\n constructor(options?: SkySystemOption) {\n super()\n\n this._effectController = {\n ...effectController,\n ...options ?? {},\n }\n this.createSky()\n this.createSun()\n this.combination()\n }\n\n /**\n * create sky\n * @returns\n */\n private createSky() {\n this._sky = new Sky()\n this._sky.scale.setScalar(this._size)\n\n const position = new Vector3()\n const uniforms = (this._sky.material as any).uniforms\n const phi = MathUtils.degToRad(90 - this._effectController.elevation)\n const theta = MathUtils.degToRad(this._effectController.azimuth)\n\n uniforms.turbidity.value = this._effectController.turbidity\n uniforms.rayleigh.value = this._effectController.rayleigh\n uniforms.mieCoefficient.value = this._effectController.mieCoefficient\n uniforms.mieDirectionalG.value = this._effectController.mieDirectionalG\n\n position.setFromSphericalCoords(1, phi, theta)\n uniforms.sunPosition.value.copy(position)\n\n return this._sky\n }\n\n /**\n * create sun\n * @returns\n */\n private createSun() {\n const sunLight = new DirectionalLight('white', 1)\n sunLight.name = 'SYS_SUN'\n sunLight.castShadow = true\n this._sun = sunLight\n\n // 添加帮助\n // const helper = new DirectionalLightHelper(sunLight, 200)\n // this.add(helper)\n\n return sunLight\n }\n\n private combination() {\n this.setTime(new Date())\n this.add(this._sky)\n this.add(this._sun)\n }\n\n /**\n * 设置天空中的太阳位置\n * @param position\n */\n setSunPositin(position: Vector3) {\n const uniforms = (this._sky.material as any).uniforms\n uniforms.sunPosition.value.copy(position)\n }\n\n /**\n * 设置时间\n * @param currentDate\n */\n setTime(currentDate?: Date) {\n // 根据时间、经纬度获取太阳的高度角(altitude)、方位角(azimuth)\n const { altitude, azimuth } = getSunPosition(currentDate, this._latitude, this._longitude)\n const uniforms = (this._sky.material as any).uniforms\n\n // 转换为 Three.js setFromSphericalCoords 参数\n const phi = Math.PI / 2 - altitude // SunCalc的高度角转换为Three.js的phi\n const theta = azimuth + Math.PI // SunCalc的方位角转换为Three.js的theta\n const sunPosition = new Vector3().setFromSphericalCoords(1, phi, theta)\n uniforms.sunPosition.value.copy(sunPosition)\n\n // 缩放向量使光源足够远但不超出场景有效范围\n const scaledPosition = sunPosition.clone().multiplyScalar(this._sunHeight)\n this._sun.position.copy(scaledPosition)\n\n // uniforms.sunPosition.value.copy(new Vector3().setFromSphericalCoords(this._sunHeight, MathUtils.degToRad(90 - MathUtils.radToDeg(altitude)), azimuth))\n // const x = this._sunHeight * (Math.cos(altitude)) * (Math.cos(azimuth))\n // const z = this._sunHeight * (Math.cos(altitude)) * (Math.sin(azimuth))\n // const y = this._sunHeight * (Math.sin(altitude))\n // this._sun.position.copy(new Vector3(x, y, z))\n }\n\n public updateSky(camera) {\n if (this._sky)\n this._sky.position.copy(camera.position)\n }\n}"],"mappings":";;;;;;;;;;;;;;;;AACA,SAAuBA,gBAAgB,EAA0BC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,GAAG,QAAQ,eAAe;AACzH,SAASC,cAAc;AAEvB,IAAQC,GAAG,GAAKF,GAAG,CAAXE,GAAG;AAaX,IAAMC,gBAAiC,GAAG;EACxCC,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE,CAAC;EACXC,cAAc,EAAE,KAAK;EACrBC,eAAe,EAAE,GAAG;EACpBC,SAAS,EAAE,CAAC;EACZC,OAAO,EAAE,GAAG;EACZC,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA;AACA;AACA,WAAaC,SAAS,0BAAAC,SAAA;EAAAC,SAAA,CAAAF,SAAA,EAAAC,SAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,SAAA;EA0BpB,SAAAA,UAAYK,OAAyB,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAP,SAAA;IACrCM,KAAA,GAAAH,MAAA,CAAAK,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,YA1BO,MAAM;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,wBAEuBd,gBAAgB;IAAAiB,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,gBACzC,EAAE;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,iBACD,GAAG;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,iBACH,KAAK;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAuBxBA,KAAA,CAAKK,iBAAiB,GAAAC,aAAA,CAAAA,aAAA,KACjBpB,gBAAgB,GAChBa,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,CAAC,CAAC,CACjB;IACDC,KAAA,CAAKO,SAAS,CAAC,CAAC;IAChBP,KAAA,CAAKQ,SAAS,CAAC,CAAC;IAChBR,KAAA,CAAKS,WAAW,CAAC,CAAC;IAAA,OAAAT,KAAA;EACpB;;EAEA;AACF;AACA;AACA;EAHEU,YAAA,CAAAhB,SAAA;IAAAiB,GAAA;IAAAC,GAAA,EA7BA,SAAAA,IAAA,EAAkB;MAChB,OAAO,IAAI,CAACC,IAAI;IAClB,CAAC;IAAAC,GAAA,EAED,SAAAA,IAAgBD,IAAY,EAAE;MAC5B,IAAI,CAACE,KAAK,GAAGF,IAAI;MACjB,IAAI,CAACG,IAAI,CAACC,KAAK,CAACC,SAAS,CAAC,IAAI,CAACH,KAAK,CAAC;IACvC;EAAC;IAAAJ,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAuB;MACrB,OAAO,IAAI,CAACO,UAAU;IACxB,CAAC;IAAAL,GAAA,EAED,SAAAA,IAAqBM,MAAc,EAAE;MACnC,IAAI,CAACD,UAAU,GAAGC,MAAM;IAC1B;EAAC;IAAAT,GAAA;IAAAU,KAAA,EAkBD,SAAAd,UAAA,EAAoB;MAClB,IAAI,CAACS,IAAI,GAAG,IAAI/B,GAAG,CAAC,CAAC;MACrB,IAAI,CAAC+B,IAAI,CAACC,KAAK,CAACC,SAAS,CAAC,IAAI,CAACH,KAAK,CAAC;MAErC,IAAMO,QAAQ,GAAG,IAAIxC,OAAO,CAAC,CAAC;MAC9B,IAAMyC,QAAQ,GAAI,IAAI,CAACP,IAAI,CAACQ,QAAQ,CAASD,QAAQ;MACrD,IAAME,GAAG,GAAG7C,SAAS,CAAC8C,QAAQ,CAAC,EAAE,GAAG,IAAI,CAACrB,iBAAiB,CAACd,SAAS,CAAC;MACrE,IAAMoC,KAAK,GAAG/C,SAAS,CAAC8C,QAAQ,CAAC,IAAI,CAACrB,iBAAiB,CAACb,OAAO,CAAC;MAEhE+B,QAAQ,CAACpC,SAAS,CAACkC,KAAK,GAAG,IAAI,CAAChB,iBAAiB,CAAClB,SAAS;MAC3DoC,QAAQ,CAACnC,QAAQ,CAACiC,KAAK,GAAG,IAAI,CAAChB,iBAAiB,CAACjB,QAAQ;MACzDmC,QAAQ,CAAClC,cAAc,CAACgC,KAAK,GAAG,IAAI,CAAChB,iBAAiB,CAAChB,cAAc;MACrEkC,QAAQ,CAACjC,eAAe,CAAC+B,KAAK,GAAG,IAAI,CAAChB,iBAAiB,CAACf,eAAe;MAEvEgC,QAAQ,CAACM,sBAAsB,CAAC,CAAC,EAAEH,GAAG,EAAEE,KAAK,CAAC;MAC9CJ,QAAQ,CAACM,WAAW,CAACR,KAAK,CAACS,IAAI,CAACR,QAAQ,CAAC;MAEzC,OAAO,IAAI,CAACN,IAAI;IAClB;;IAEA;AACF;AACA;AACA;EAHE;IAAAL,GAAA;IAAAU,KAAA,EAIA,SAAAb,UAAA,EAAoB;MAClB,IAAMuB,QAAQ,GAAG,IAAIpD,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;MACjDoD,QAAQ,CAACC,IAAI,GAAG,SAAS;MACzBD,QAAQ,CAACE,UAAU,GAAG,IAAI;MAC1B,IAAI,CAACC,IAAI,GAAGH,QAAQ;;MAEpB;MACA;MACA;;MAEA,OAAOA,QAAQ;IACjB;EAAC;IAAApB,GAAA;IAAAU,KAAA,EAED,SAAAZ,YAAA,EAAsB;MACpB,IAAI,CAAC0B,OAAO,CAAC,IAAIC,IAAI,CAAC,CAAC,CAAC;MACxB,IAAI,CAACC,GAAG,CAAC,IAAI,CAACrB,IAAI,CAAC;MACnB,IAAI,CAACqB,GAAG,CAAC,IAAI,CAACH,IAAI,CAAC;IACrB;;IAEA;AACF;AACA;AACA;EAHE;IAAAvB,GAAA;IAAAU,KAAA,EAIA,SAAAiB,cAAchB,QAAiB,EAAE;MAC/B,IAAMC,QAAQ,GAAI,IAAI,CAACP,IAAI,CAACQ,QAAQ,CAASD,QAAQ;MACrDA,QAAQ,CAACM,WAAW,CAACR,KAAK,CAACS,IAAI,CAACR,QAAQ,CAAC;IAC3C;;IAEA;AACF;AACA;AACA;EAHE;IAAAX,GAAA;IAAAU,KAAA,EAIA,SAAAc,QAAQI,WAAkB,EAAE;MAC1B;MACA,IAAAC,eAAA,GAA8BxD,cAAc,CAACuD,WAAW,EAAE,IAAI,CAACE,SAAS,EAAE,IAAI,CAACC,UAAU,CAAC;QAAlFC,QAAQ,GAAAH,eAAA,CAARG,QAAQ;QAAEnD,OAAO,GAAAgD,eAAA,CAAPhD,OAAO;MACzB,IAAM+B,QAAQ,GAAI,IAAI,CAACP,IAAI,CAACQ,QAAQ,CAASD,QAAQ;;MAErD;MACA,IAAME,GAAG,GAAGmB,IAAI,CAACC,EAAE,GAAG,CAAC,GAAGF,QAAQ,EAAC;MACnC,IAAMhB,KAAK,GAAGnC,OAAO,GAAGoD,IAAI,CAACC,EAAE,EAAC;MAChC,IAAMhB,WAAW,GAAG,IAAI/C,OAAO,CAAC,CAAC,CAAC8C,sBAAsB,CAAC,CAAC,EAAEH,GAAG,EAAEE,KAAK,CAAC;MACvEJ,QAAQ,CAACM,WAAW,CAACR,KAAK,CAACS,IAAI,CAACD,WAAW,CAAC;;MAE5C;MACA,IAAMiB,cAAc,GAAGjB,WAAW,CAACkB,KAAK,CAAC,CAAC,CAACC,cAAc,CAAC,IAAI,CAAC7B,UAAU,CAAC;MAC1E,IAAI,CAACe,IAAI,CAACZ,QAAQ,CAACQ,IAAI,CAACgB,cAAc,CAAC;;MAEvC;MACA;MACA;MACA;MACA;IACF;EAAC;IAAAnC,GAAA;IAAAU,KAAA,EAED,SAAA4B,UAAiBC,MAAM,EAAE;MACvB,IAAI,IAAI,CAAClC,IAAI,EACX,IAAI,CAACA,IAAI,CAACM,QAAQ,CAACQ,IAAI,CAACoB,MAAM,CAAC5B,QAAQ,CAAC;IAC5C;EAAC;EAAA,OAAA5B,SAAA;AAAA,EA3H4Bb,QAAQ"}
1
+ {"version":3,"names":["DirectionalLight","MathUtils","Object3D","Vector3","lib","getSunPosition","Sky","effectController","turbidity","rayleigh","mieCoefficient","mieDirectionalG","elevation","azimuth","exposure","SkySystem","size","_size","_sky","scale","setScalar","sunHeight","_sunHeight","height","constructor","options","_defineProperty","_effectController","_objectSpread","createSky","createSun","combination","position","uniforms","material","phi","degToRad","theta","value","setFromSphericalCoords","sunPosition","copy","sunLight","name","castShadow","_sun","setTime","Date","add","setSunPositin","currentDate","altitude","_latitude","_longitude","Math","PI","scaledPosition","clone","multiplyScalar","updateSky","camera"],"sources":["../../../../src/core/WeatherSystem/sky/index.ts"],"sourcesContent":["import type { Light } from '@anov/3d-core'\nimport { AmbientLight, DirectionalLight, DirectionalLightHelper, MathUtils, Object3D, Vector3, lib } from '@anov/3d-core'\nimport { getSunPosition } from '../utils/math'\n\nconst { Sky } = lib\n\ntype SkySystemOption = {\n scalarCoefficient?: number\n turbidity?: number\n rayleigh?: number\n mieCoefficient?: number\n mieDirectionalG?: number\n elevation?: number\n azimuth?: number\n exposure?: number\n}\n\nconst effectController: SkySystemOption = {\n turbidity: 10,\n rayleigh: 3,\n mieCoefficient: 0.005,\n mieDirectionalG: 0.7,\n elevation: 2,\n azimuth: 180,\n exposure: 0.1,\n}\n\n/**\n * 天空——时间系统\n */\nexport class SkySystem extends Object3D {\n private _size = 450000\n private _sky: lib.Sky\n private _effectController: SkySystemOption = effectController\n private _latitude = 40\n private _longitude = 116\n private _sunHeight = 10000\n private _sun: Light\n\n public get size() {\n return this.size\n }\n\n public set size(size: number) {\n this._size = size\n this._sky.scale.setScalar(this._size)\n }\n\n public get sunHeight() {\n return this._sunHeight\n }\n\n public set sunHeight(height: number) {\n this._sunHeight = height\n }\n\n constructor(options?: SkySystemOption) {\n super()\n\n this._effectController = {\n ...effectController,\n ...options ?? {},\n }\n this.createSky()\n this.createSun()\n this.combination()\n }\n\n /**\n * create sky\n * @returns\n */\n private createSky() {\n this._sky = new Sky()\n this._sky.scale.setScalar(this._size)\n\n const position = new Vector3()\n const uniforms = (this._sky.material as any).uniforms\n const phi = MathUtils.degToRad(90 - this._effectController.elevation)\n const theta = MathUtils.degToRad(this._effectController.azimuth)\n\n uniforms.turbidity.value = this._effectController.turbidity\n uniforms.rayleigh.value = this._effectController.rayleigh\n uniforms.mieCoefficient.value = this._effectController.mieCoefficient\n uniforms.mieDirectionalG.value = this._effectController.mieDirectionalG\n\n position.setFromSphericalCoords(1, phi, theta)\n uniforms.sunPosition.value.copy(position)\n\n return this._sky\n }\n\n /**\n * create sun\n * @returns\n */\n private createSun() {\n const sunLight = new DirectionalLight('white', 1)\n sunLight.name = 'SYS_SUN'\n sunLight.castShadow = true\n this._sun = sunLight\n\n // 添加帮助\n // const helper = new DirectionalLightHelper(sunLight, 200)\n // this.add(helper)\n\n return sunLight\n }\n\n private combination() {\n this.setTime(new Date())\n this.add(this._sky)\n this.add(this._sun)\n }\n\n /**\n * 设置天空中的太阳位置\n * @param position\n */\n setSunPositin(position: Vector3) {\n const uniforms = (this._sky.material as any).uniforms\n uniforms.sunPosition.value.copy(position)\n }\n\n /**\n * 设置时间\n * @param currentDate\n */\n setTime(currentDate?: Date) {\n // 根据时间、经纬度获取太阳的高度角(altitude)、方位角(azimuth)\n const { altitude, azimuth } = getSunPosition(currentDate, this._latitude, this._longitude)\n const uniforms = (this._sky.material as any).uniforms\n\n // 转换为 Three.js setFromSphericalCoords 参数\n const phi = Math.PI / 2 - altitude // SunCalc的高度角转换为Three.js的phi\n const theta = azimuth + Math.PI // SunCalc的方位角转换为Three.js的theta\n const sunPosition = new Vector3().setFromSphericalCoords(1, phi, theta)\n uniforms.sunPosition.value.copy(sunPosition)\n\n // 缩放向量使光源足够远但不超出场景有效范围\n const scaledPosition = sunPosition.clone().multiplyScalar(this._sunHeight)\n this._sun.position.copy(scaledPosition)\n\n // uniforms.sunPosition.value.copy(new Vector3().setFromSphericalCoords(this._sunHeight, MathUtils.degToRad(90 - MathUtils.radToDeg(altitude)), azimuth))\n // const x = this._sunHeight * (Math.cos(altitude)) * (Math.cos(azimuth))\n // const z = this._sunHeight * (Math.cos(altitude)) * (Math.sin(azimuth))\n // const y = this._sunHeight * (Math.sin(altitude))\n // this._sun.position.copy(new Vector3(x, y, z))\n }\n\n public updateSky(camera) {\n if (this._sky)\n this._sky.position.copy(camera.position)\n }\n}"],"mappings":"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"}