@anov/3d-ability 0.0.140 → 0.0.141

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 (265) 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.js +25 -24
  134. package/dist/business/TrafficComponents/utils.js.map +1 -1
  135. package/dist/business/Utils/Curve.js +40 -56
  136. package/dist/business/Utils/Curve.js.map +1 -1
  137. package/dist/business/Utils/constant.js +1 -1
  138. package/dist/business/Utils/constant.js.map +1 -1
  139. package/dist/business/Utils/defineProps.js +13 -14
  140. package/dist/business/Utils/defineProps.js.map +1 -1
  141. package/dist/business/Utils/round-curve.js +127 -153
  142. package/dist/business/Utils/round-curve.js.map +1 -1
  143. package/dist/business/VideoPanel/index.js +258 -319
  144. package/dist/business/VideoPanel/index.js.map +1 -1
  145. package/dist/business/Water/index.js +78 -108
  146. package/dist/business/Water/index.js.map +1 -1
  147. package/dist/business/Water/types.js +1 -1
  148. package/dist/business/Water/types.js.map +1 -1
  149. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +383 -449
  150. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  151. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +107 -142
  152. package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
  153. package/dist/core/Controls/FirstViewControl/index.js +84 -96
  154. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  155. package/dist/core/Controls/ThirdViewControl/action/input.js +77 -98
  156. package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
  157. package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
  158. package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/index.js +19 -28
  160. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  161. package/dist/core/Controls/ThirdViewControl/player/animation.js +126 -155
  162. package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
  163. package/dist/core/Controls/ThirdViewControl/player/camera.js +47 -63
  164. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  165. package/dist/core/Controls/ThirdViewControl/player/control.js +39 -49
  166. package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
  167. package/dist/core/Controls/ThirdViewControl/player.js +66 -91
  168. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  169. package/dist/core/Controls/base.js +14 -30
  170. package/dist/core/Controls/base.js.map +1 -1
  171. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +92 -131
  172. package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
  173. package/dist/core/Debug/PerformanceInfo/Performance.js +22 -47
  174. package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
  175. package/dist/core/Light/PointLight/PointLightExt.js +4 -21
  176. package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
  177. package/dist/core/Material/FinirMaterial/FinirMaterial.js +37 -57
  178. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  179. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +116 -153
  180. package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
  181. package/dist/core/Material/PristineGridMaterial/shader/fragment.js +95 -1
  182. package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
  183. package/dist/core/Material/PristineGridMaterial/shader/vertex.js +26 -1
  184. package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
  185. package/dist/core/Material/SurfaceMaterial/index.js +76 -172
  186. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  187. package/dist/core/Material/decorators.js +6 -11
  188. package/dist/core/Material/decorators.js.map +1 -1
  189. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +16 -12
  190. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  191. package/dist/core/PostEffects/addBrightnessContrastPass.js +17 -13
  192. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  193. package/dist/core/PostEffects/bloomPass.js +17 -10
  194. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  195. package/dist/core/PostEffects/bloomSelect.js +60 -43
  196. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  197. package/dist/core/PostEffects/colorifyPass.js +17 -13
  198. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  199. package/dist/core/PostEffects/index.js +28 -22
  200. package/dist/core/PostEffects/index.js.map +1 -1
  201. package/dist/core/PostEffects/outlinePass.js +37 -50
  202. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  203. package/dist/core/PostEffects/postprocessing.js +14 -12
  204. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  205. package/dist/core/PostEffects/saoPass.js +15 -10
  206. package/dist/core/PostEffects/saoPass.js.map +1 -1
  207. package/dist/core/PostEffects/shader/colorify.js +22 -3
  208. package/dist/core/PostEffects/shader/colorify.js.map +1 -1
  209. package/dist/core/PostEffects/shader/gammaCorrectionShader.js +27 -3
  210. package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
  211. package/dist/core/PostEffects/shader/mapping.js +66 -3
  212. package/dist/core/PostEffects/shader/mapping.js.map +1 -1
  213. package/dist/core/PostEffects/shader/thermalMaging.js +28 -3
  214. package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
  215. package/dist/core/SceneEffect/grow/grow.js +85 -101
  216. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  217. package/dist/core/SceneEffect/grow/style_down.js +60 -77
  218. package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
  219. package/dist/core/SceneEffect/grow/style_up.js +64 -81
  220. package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
  221. package/dist/core/SceneEffect/grow/type.js +2 -2
  222. package/dist/core/SceneEffect/grow/type.js.map +1 -1
  223. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +51 -76
  224. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  225. package/dist/core/WeatherSystem/hdr/index.js +69 -105
  226. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  227. package/dist/core/WeatherSystem/index.js +77 -124
  228. package/dist/core/WeatherSystem/index.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/fog/index.js +52 -80
  230. package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
  231. package/dist/core/WeatherSystem/objects/rain/index.js +72 -84
  232. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  233. package/dist/core/WeatherSystem/objects/rain/lineRain.js +88 -118
  234. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  235. package/dist/core/WeatherSystem/objects/rain/plane.js +116 -146
  236. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  237. package/dist/core/WeatherSystem/objects/rain/point.js +100 -148
  238. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  239. package/dist/core/WeatherSystem/objects/sky/cloud.js +71 -104
  240. package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
  241. package/dist/core/WeatherSystem/objects/sky/index.js +66 -84
  242. package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
  243. package/dist/core/WeatherSystem/objects/sky/outline.js +25 -45
  244. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  245. package/dist/core/WeatherSystem/shaders/cloud.js +74 -3
  246. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  247. package/dist/core/WeatherSystem/shaders/fog.js +103 -3
  248. package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
  249. package/dist/core/WeatherSystem/shaders/rain.js +206 -7
  250. package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
  251. package/dist/core/WeatherSystem/shaders/sky.js +87 -3
  252. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  253. package/dist/core/WeatherSystem/sky/index.js +104 -135
  254. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  255. package/dist/core/WeatherSystem/utils/constant.js +44 -38
  256. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  257. package/dist/core/WeatherSystem/utils/math.js +18 -25
  258. package/dist/core/WeatherSystem/utils/math.js.map +1 -1
  259. package/dist/core/WeatherSystem/utils/type.js +1 -1
  260. package/dist/core/WeatherSystem/utils/type.js.map +1 -1
  261. package/dist/core/WeatherSystem/weather/index.js +96 -141
  262. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  263. package/dist/utils/index.js +1 -1
  264. package/dist/utils/index.js.map +1 -1
  265. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["Object3D","Vector3","use","EWeatherType","SkySystem","WeatherSystem","WeatherLayer","handleTimeString","DynamicWeatherSystem","_Object3D","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","skyLayer","weatherLayer","add","setTime","_time","setWeather","Sunny","split","map","Number","useframe","_use$useScene","useScene","camera","skyCenter","distance","position","distanceTo","minDistance","maxDistance","_weatherRoot","lerp","scale","setScalar","_createClass","key","get","set","time","_weather","weather","value"],"sources":["../../../src/core/WeatherSystem/DynamicWeatherSystem.ts"],"sourcesContent":["import { MathUtils, Object3D, Vector3, use } from '@anov/3d-core'\nimport { EWeatherType } from './utils/type'\nimport { SkySystem } from './sky'\nimport { WeatherSystem as WeatherLayer } from './weather'\nimport { handleTimeString } from './utils/math'\n\n/**\n * 天气时间系统\n * base version\n */\nexport class DynamicWeatherSystem extends Object3D {\n private _time = '08:00'\n private _weather: string\n\n public skyLayer: SkySystem\n public weatherLayer: WeatherLayer\n private _weatherRoot: Object3D = new Object3D()\n\n public get time() {\n return this._time\n }\n\n public set time(time: string) {\n this.setTime(time)\n }\n\n public get weather() {\n return this._weather\n }\n\n public set weather(weather: string) {\n this.setWeather(weather)\n }\n\n constructor() {\n super()\n\n this.skyLayer = new SkySystem()\n this.weatherLayer = new WeatherLayer()\n\n this.add(this.skyLayer)\n this.add(this.weatherLayer)\n\n this.skyLayer.setTime(handleTimeString(this._time))\n this.weatherLayer.setWeather(EWeatherType.Sunny, this._time.split(':').map(Number)[0])\n use.useframe(() => {\n const { camera } = use.useScene()\n\n // 假设天空中心在 (0,0,0),你可以改成其他场景中心点\n const skyCenter = new Vector3(0, 0, 0)\n const distance = camera.position.distanceTo(skyCenter)\n\n const minDistance = 10 // 太近不显示\n const maxDistance = 8500 // 太远不显示\n\n // this.skyLayer.updateSky(camera)\n // 根据距离决定显示\n if (distance > maxDistance) {\n this._weatherRoot.position.lerp(camera.position, 0.3)\n const scale = distance * 0.000135\n this.weatherLayer.scale.setScalar(scale)\n }\n else {\n this.weatherLayer.scale.setScalar(1)\n this.skyLayer.scale.setScalar(1)\n }\n })\n }\n\n setTime(time: string) {\n this._time = time\n\n this.skyLayer.setTime(handleTimeString(time))\n this.weatherLayer.setTime(time.split(':').map(Number)[0])\n }\n\n setWeather(weather: string) {\n this._weather = weather\n this.weatherLayer.setWeather(weather, this._time.split(':').map(Number)[0])\n }\n}"],"mappings":"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"}
1
+ {"version":3,"names":["Object3D","Vector3","use","EWeatherType","SkySystem","WeatherSystem","WeatherLayer","handleTimeString","DynamicWeatherSystem","time","_time","setTime","weather","_weather","setWeather","constructor","_defineProperty","skyLayer","weatherLayer","add","Sunny","split","map","Number","useframe","camera","useScene","skyCenter","distance","position","distanceTo","minDistance","maxDistance","_weatherRoot","lerp","scale","setScalar"],"sources":["../../../src/core/WeatherSystem/DynamicWeatherSystem.ts"],"sourcesContent":["import { MathUtils, Object3D, Vector3, use } from '@anov/3d-core'\nimport { EWeatherType } from './utils/type'\nimport { SkySystem } from './sky'\nimport { WeatherSystem as WeatherLayer } from './weather'\nimport { handleTimeString } from './utils/math'\n\n/**\n * 天气时间系统\n * base version\n */\nexport class DynamicWeatherSystem extends Object3D {\n private _time = '08:00'\n private _weather: string\n\n public skyLayer: SkySystem\n public weatherLayer: WeatherLayer\n private _weatherRoot: Object3D = new Object3D()\n\n public get time() {\n return this._time\n }\n\n public set time(time: string) {\n this.setTime(time)\n }\n\n public get weather() {\n return this._weather\n }\n\n public set weather(weather: string) {\n this.setWeather(weather)\n }\n\n constructor() {\n super()\n\n this.skyLayer = new SkySystem()\n this.weatherLayer = new WeatherLayer()\n\n this.add(this.skyLayer)\n this.add(this.weatherLayer)\n\n this.skyLayer.setTime(handleTimeString(this._time))\n this.weatherLayer.setWeather(EWeatherType.Sunny, this._time.split(':').map(Number)[0])\n use.useframe(() => {\n const { camera } = use.useScene()\n\n // 假设天空中心在 (0,0,0),你可以改成其他场景中心点\n const skyCenter = new Vector3(0, 0, 0)\n const distance = camera.position.distanceTo(skyCenter)\n\n const minDistance = 10 // 太近不显示\n const maxDistance = 8500 // 太远不显示\n\n // this.skyLayer.updateSky(camera)\n // 根据距离决定显示\n if (distance > maxDistance) {\n this._weatherRoot.position.lerp(camera.position, 0.3)\n const scale = distance * 0.000135\n this.weatherLayer.scale.setScalar(scale)\n }\n else {\n this.weatherLayer.scale.setScalar(1)\n this.skyLayer.scale.setScalar(1)\n }\n })\n }\n\n setTime(time: string) {\n this._time = time\n\n this.skyLayer.setTime(handleTimeString(time))\n this.weatherLayer.setTime(time.split(':').map(Number)[0])\n }\n\n setWeather(weather: string) {\n this._weather = weather\n this.weatherLayer.setWeather(weather, this._time.split(':').map(Number)[0])\n }\n}"],"mappings":"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"}
@@ -1,113 +1,77 @@
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
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
- 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); } }
7
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
- 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); }
9
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
10
- 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); }; }
11
- 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); }
12
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13
- 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; } }
14
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
15
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; }
16
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
17
- 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); }
18
6
  import { EquirectangularReflectionMapping, Euler, MathUtils, Object3D, PMREMGenerator, lib, use } from '@anov/3d-core';
19
- export var HDRSky = /*#__PURE__*/function (_Object3D) {
20
- _inherits(HDRSky, _Object3D);
21
- var _super = _createSuper(HDRSky);
22
- function HDRSky(options) {
23
- var _this;
24
- _classCallCheck(this, HDRSky);
25
- _this = _super.call(this);
26
- _defineProperty(_assertThisInitialized(_this), "_currentHDR", '');
27
- _defineProperty(_assertThisInitialized(_this), "_envMap", null);
28
- _defineProperty(_assertThisInitialized(_this), "_hdrBackgroundMesh", null);
29
- return _this;
7
+ export class HDRSky extends Object3D {
8
+ constructor(options) {
9
+ super();
10
+ _defineProperty(this, "_currentHDR", '');
11
+ _defineProperty(this, "_envMap", null);
12
+ _defineProperty(this, "_hdrBackgroundMesh", null);
30
13
  }
31
- _createClass(HDRSky, [{
32
- key: "setHDR",
33
- value: function () {
34
- var _setHDR = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(path) {
35
- var _this2 = this;
36
- var _use$useScene, scene, renderer, camera, pmremGen, pathUrl, rgbeloader;
37
- return _regeneratorRuntime().wrap(function _callee$(_context) {
38
- while (1) switch (_context.prev = _context.next) {
39
- case 0:
40
- _use$useScene = use.useScene(), scene = _use$useScene.scene, renderer = _use$useScene.renderer, camera = _use$useScene.camera;
41
- if (!(this._currentHDR === path)) {
42
- _context.next = 3;
43
- break;
44
- }
45
- return _context.abrupt("return");
46
- case 3:
47
- pmremGen = new PMREMGenerator(renderer);
48
- pmremGen.compileEquirectangularShader();
49
- pathUrl = path.replace(/\.png$/, '.hdr'); // png 替换成 hdr
50
- if (this._envMap) this._envMap.dispose();
51
- // 清理旧的背景球
52
- if (this._hdrBackgroundMesh) {
53
- this.remove(this._hdrBackgroundMesh);
54
- this._hdrBackgroundMesh.geometry.dispose();
55
- this._hdrBackgroundMesh.material.dispose();
56
- this._hdrBackgroundMesh = undefined;
57
- }
58
- rgbeloader = new lib.RGBELoader();
59
- rgbeloader.load(pathUrl, function (hdrTex) {
60
- hdrTex.mapping = EquirectangularReflectionMapping;
61
- _this2._envMap = pmremGen.fromEquirectangular(hdrTex).texture;
62
- scene.environment = _this2._envMap;
63
- // 创建 HDR 背景球
64
- // const geometry = new SphereGeometry(1000, 60, 40);
65
- // geometry.scale(-1, 1, 1); // 反转法线
66
- // const material = new MeshBasicMaterial({ map: hdrTex });
67
- // this._hdrBackgroundMesh = new Mesh(geometry, material);
68
- // this.add(this._hdrBackgroundMesh);
14
+ setHDR(path) {
15
+ var _this = this;
16
+ return _asyncToGenerator(function* () {
17
+ const {
18
+ scene,
19
+ renderer,
20
+ camera
21
+ } = use.useScene();
22
+ if (_this._currentHDR === path) return;
23
+ const pmremGen = new PMREMGenerator(renderer);
24
+ pmremGen.compileEquirectangularShader();
25
+ const pathUrl = path.replace(/\.png$/, '.hdr'); // png 替换成 hdr
69
26
 
70
- _this2._currentHDR = path;
71
- scene.background = hdrTex;
72
- // hdrTex.dispose()
73
- pmremGen.dispose();
74
- }, undefined, function (error) {
75
- console.error('加载环境贴图失败:', error);
76
- // 如果环境贴图加载失败,使用默认环境光
77
- scene.environment = null;
78
- scene.background = null;
79
- pmremGen.dispose(); // 出错也要释放资源
80
- });
81
- case 10:
82
- case "end":
83
- return _context.stop();
84
- }
85
- }, _callee, this);
86
- }));
87
- function setHDR(_x) {
88
- return _setHDR.apply(this, arguments);
27
+ if (_this._envMap) _this._envMap.dispose();
28
+ // 清理旧的背景球
29
+ if (_this._hdrBackgroundMesh) {
30
+ _this.remove(_this._hdrBackgroundMesh);
31
+ _this._hdrBackgroundMesh.geometry.dispose();
32
+ _this._hdrBackgroundMesh.material.dispose();
33
+ _this._hdrBackgroundMesh = undefined;
89
34
  }
90
- return setHDR;
91
- }()
92
- }, {
93
- key: "setRotate",
94
- value: function setRotate(value) {
95
- var _use$useScene2 = use.useScene(),
96
- scene = _use$useScene2.scene;
97
- var rotationY = MathUtils.degToRad(value);
98
- var euler = new Euler(0, rotationY, 0);
99
- scene.backgroundRotation.copy(euler);
100
- scene.environmentRotation.copy(euler);
101
- }
102
- }, {
103
- key: "setIntensity",
104
- value: function setIntensity(value) {
105
- var _use$useScene3 = use.useScene(),
106
- scene = _use$useScene3.scene;
107
- scene.backgroundIntensity = value / 100;
108
- scene.environmentIntensity = value / 100;
109
- }
110
- }]);
111
- return HDRSky;
112
- }(Object3D);
35
+ const rgbeloader = new lib.RGBELoader();
36
+ rgbeloader.load(pathUrl, hdrTex => {
37
+ hdrTex.mapping = EquirectangularReflectionMapping;
38
+ _this._envMap = pmremGen.fromEquirectangular(hdrTex).texture;
39
+ scene.environment = _this._envMap;
40
+ // 创建 HDR 背景球
41
+ // const geometry = new SphereGeometry(1000, 60, 40);
42
+ // geometry.scale(-1, 1, 1); // 反转法线
43
+ // const material = new MeshBasicMaterial({ map: hdrTex });
44
+ // this._hdrBackgroundMesh = new Mesh(geometry, material);
45
+ // this.add(this._hdrBackgroundMesh);
46
+
47
+ _this._currentHDR = path;
48
+ scene.background = hdrTex;
49
+ // hdrTex.dispose()
50
+ pmremGen.dispose();
51
+ }, undefined, error => {
52
+ console.error('加载环境贴图失败:', error);
53
+ // 如果环境贴图加载失败,使用默认环境光
54
+ scene.environment = null;
55
+ scene.background = null;
56
+ pmremGen.dispose(); // 出错也要释放资源
57
+ });
58
+ })();
59
+ }
60
+ setRotate(value) {
61
+ const {
62
+ scene
63
+ } = use.useScene();
64
+ const rotationY = MathUtils.degToRad(value);
65
+ const euler = new Euler(0, rotationY, 0);
66
+ scene.backgroundRotation.copy(euler);
67
+ scene.environmentRotation.copy(euler);
68
+ }
69
+ setIntensity(value) {
70
+ const {
71
+ scene
72
+ } = use.useScene();
73
+ scene.backgroundIntensity = value / 100;
74
+ scene.environmentIntensity = value / 100;
75
+ }
76
+ }
113
77
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","EquirectangularReflectionMapping","Euler","MathUtils","Object3D","PMREMGenerator","lib","use","HDRSky","_Object3D","_super","options","_this","_setHDR","_callee","path","_this2","_use$useScene","scene","renderer","camera","pmremGen","pathUrl","rgbeloader","_callee$","_context","useScene","_currentHDR","compileEquirectangularShader","replace","_envMap","dispose","_hdrBackgroundMesh","remove","geometry","material","RGBELoader","load","hdrTex","mapping","fromEquirectangular","texture","environment","background","console","setHDR","_x","setRotate","_use$useScene2","rotationY","degToRad","euler","backgroundRotation","copy","environmentRotation","setIntensity","_use$useScene3","backgroundIntensity","environmentIntensity"],"sources":["../../../../src/core/WeatherSystem/hdr/index.ts"],"sourcesContent":["import type { Mesh, MeshBasicMaterial, Texture } from '@anov/3d-core'\nimport { EquirectangularReflectionMapping, Euler, MathUtils, Object3D, PMREMGenerator, SphereGeometry, lib, use } from '@anov/3d-core'\nimport type { Options } from '../index'\n\nexport class HDRSky extends Object3D {\n private _currentHDR = ''\n private _envMap: Texture | null = null\n private _hdrBackgroundMesh: Mesh | null = null\n constructor(options: Options) {\n super()\n }\n\n public async setHDR(path: string) {\n const { scene, renderer, camera } = use.useScene()\n\n if (this._currentHDR === path)\n return\n\n const pmremGen = new PMREMGenerator(renderer)\n pmremGen.compileEquirectangularShader()\n\n const pathUrl = path.replace(/\\.png$/, '.hdr') // png 替换成 hdr\n\n if (this._envMap)\n this._envMap.dispose()\n // 清理旧的背景球\n if (this._hdrBackgroundMesh) {\n this.remove(this._hdrBackgroundMesh)\n this._hdrBackgroundMesh.geometry.dispose()\n ;(this._hdrBackgroundMesh.material as MeshBasicMaterial).dispose()\n this._hdrBackgroundMesh = undefined\n }\n\n const rgbeloader = new lib.RGBELoader()\n rgbeloader.load(pathUrl, (hdrTex) => {\n hdrTex.mapping = EquirectangularReflectionMapping\n this._envMap = pmremGen.fromEquirectangular(hdrTex).texture\n scene.environment = this._envMap\n // 创建 HDR 背景球\n // const geometry = new SphereGeometry(1000, 60, 40);\n // geometry.scale(-1, 1, 1); // 反转法线\n // const material = new MeshBasicMaterial({ map: hdrTex });\n // this._hdrBackgroundMesh = new Mesh(geometry, material);\n // this.add(this._hdrBackgroundMesh);\n\n this._currentHDR = path\n scene.background = hdrTex\n // hdrTex.dispose()\n pmremGen.dispose()\n }, undefined, (error) => {\n console.error('加载环境贴图失败:', error)\n // 如果环境贴图加载失败,使用默认环境光\n scene.environment = null\n scene.background = null\n pmremGen.dispose() // 出错也要释放资源\n })\n }\n\n public setRotate(value: number) {\n const { scene } = use.useScene()\n const rotationY = MathUtils.degToRad(value)\n const euler = new Euler(0, rotationY, 0)\n scene.backgroundRotation.copy(euler)\n scene.environmentRotation.copy(euler)\n }\n\n public setIntensity(value: number) {\n const { scene } = use.useScene()\n scene.backgroundIntensity = value / 100\n scene.environmentIntensity = value / 100\n }\n}"],"mappings":"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"}
1
+ {"version":3,"names":["EquirectangularReflectionMapping","Euler","MathUtils","Object3D","PMREMGenerator","lib","use","HDRSky","constructor","options","_defineProperty","setHDR","path","_this","_asyncToGenerator","scene","renderer","camera","useScene","_currentHDR","pmremGen","compileEquirectangularShader","pathUrl","replace","_envMap","dispose","_hdrBackgroundMesh","remove","geometry","material","undefined","rgbeloader","RGBELoader","load","hdrTex","mapping","fromEquirectangular","texture","environment","background","error","console","setRotate","value","rotationY","degToRad","euler","backgroundRotation","copy","environmentRotation","setIntensity","backgroundIntensity","environmentIntensity"],"sources":["../../../../src/core/WeatherSystem/hdr/index.ts"],"sourcesContent":["import type { Mesh, MeshBasicMaterial, Texture } from '@anov/3d-core'\nimport { EquirectangularReflectionMapping, Euler, MathUtils, Object3D, PMREMGenerator, SphereGeometry, lib, use } from '@anov/3d-core'\nimport type { Options } from '../index'\n\nexport class HDRSky extends Object3D {\n private _currentHDR = ''\n private _envMap: Texture | null = null\n private _hdrBackgroundMesh: Mesh | null = null\n constructor(options: Options) {\n super()\n }\n\n public async setHDR(path: string) {\n const { scene, renderer, camera } = use.useScene()\n\n if (this._currentHDR === path)\n return\n\n const pmremGen = new PMREMGenerator(renderer)\n pmremGen.compileEquirectangularShader()\n\n const pathUrl = path.replace(/\\.png$/, '.hdr') // png 替换成 hdr\n\n if (this._envMap)\n this._envMap.dispose()\n // 清理旧的背景球\n if (this._hdrBackgroundMesh) {\n this.remove(this._hdrBackgroundMesh)\n this._hdrBackgroundMesh.geometry.dispose()\n ;(this._hdrBackgroundMesh.material as MeshBasicMaterial).dispose()\n this._hdrBackgroundMesh = undefined\n }\n\n const rgbeloader = new lib.RGBELoader()\n rgbeloader.load(pathUrl, (hdrTex) => {\n hdrTex.mapping = EquirectangularReflectionMapping\n this._envMap = pmremGen.fromEquirectangular(hdrTex).texture\n scene.environment = this._envMap\n // 创建 HDR 背景球\n // const geometry = new SphereGeometry(1000, 60, 40);\n // geometry.scale(-1, 1, 1); // 反转法线\n // const material = new MeshBasicMaterial({ map: hdrTex });\n // this._hdrBackgroundMesh = new Mesh(geometry, material);\n // this.add(this._hdrBackgroundMesh);\n\n this._currentHDR = path\n scene.background = hdrTex\n // hdrTex.dispose()\n pmremGen.dispose()\n }, undefined, (error) => {\n console.error('加载环境贴图失败:', error)\n // 如果环境贴图加载失败,使用默认环境光\n scene.environment = null\n scene.background = null\n pmremGen.dispose() // 出错也要释放资源\n })\n }\n\n public setRotate(value: number) {\n const { scene } = use.useScene()\n const rotationY = MathUtils.degToRad(value)\n const euler = new Euler(0, rotationY, 0)\n scene.backgroundRotation.copy(euler)\n scene.environmentRotation.copy(euler)\n }\n\n public setIntensity(value: number) {\n const { scene } = use.useScene()\n scene.backgroundIntensity = value / 100\n scene.environmentIntensity = value / 100\n }\n}"],"mappings":"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"}
@@ -1,137 +1,90 @@
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
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
- 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); } }
7
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
- 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); }
9
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
10
- 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); }; }
11
- 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); }
12
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13
- 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; } }
14
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
15
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; }
16
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
17
- 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); }
18
6
  import { Object3D, PMREMGenerator, RoomEnvironment, use } from '@anov/3d-core';
19
7
  import { DynamicWeatherSystem } from "./DynamicWeatherSystem";
20
8
  import { HDRSky } from "./hdr";
21
- export var WeatherSystem = /*#__PURE__*/function (_Object3D) {
22
- _inherits(WeatherSystem, _Object3D);
23
- var _super = _createSuper(WeatherSystem);
24
- function WeatherSystem() {
25
- var _this;
26
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
27
- mode: 'sky'
28
- };
29
- _classCallCheck(this, WeatherSystem);
30
- _this = _super.call(this);
31
- _defineProperty(_assertThisInitialized(_this), "_mode", 'sky');
32
- _defineProperty(_assertThisInitialized(_this), "_hdrPath", '');
33
- _defineProperty(_assertThisInitialized(_this), "_dynamicWeatherSystem", void 0);
34
- _defineProperty(_assertThisInitialized(_this), "_hdrSky", void 0);
35
- _defineProperty(_assertThisInitialized(_this), "_currentSky", void 0);
36
- _this._mode = options.mode;
9
+ export class WeatherSystem extends Object3D {
10
+ constructor(options = {
11
+ mode: 'sky'
12
+ }) {
13
+ super();
14
+ _defineProperty(this, "_mode", 'sky');
15
+ _defineProperty(this, "_hdrPath", '');
16
+ _defineProperty(this, "_dynamicWeatherSystem", void 0);
17
+ _defineProperty(this, "_hdrSky", void 0);
18
+ _defineProperty(this, "_currentSky", void 0);
19
+ this._mode = options.mode;
37
20
  if (options.mode === 'hdr' && options !== null && options !== void 0 && options.hdrPath) {
38
- _this._hdrPath = options.hdrPath;
39
- _this._hdrSky = new HDRSky(options);
40
- _this._currentSky = _this._hdrSky;
41
- _this.add(_this._hdrSky);
21
+ this._hdrPath = options.hdrPath;
22
+ this._hdrSky = new HDRSky(options);
23
+ this._currentSky = this._hdrSky;
24
+ this.add(this._hdrSky);
42
25
  } else {
43
- _this._dynamicWeatherSystem = new DynamicWeatherSystem();
44
- _this.add(_this._dynamicWeatherSystem);
45
- _this._currentSky = _this._dynamicWeatherSystem;
26
+ this._dynamicWeatherSystem = new DynamicWeatherSystem();
27
+ this.add(this._dynamicWeatherSystem);
28
+ this._currentSky = this._dynamicWeatherSystem;
46
29
  }
47
- return _this;
48
30
  }
49
- _createClass(WeatherSystem, [{
50
- key: "weather",
51
- get: function get() {
52
- if (this._dynamicWeatherSystem) return this._dynamicWeatherSystem.weather;else console.warn('mode is hdr');
53
- // this._dynamicWeatherSystem = new DynamicWeatherSystem()
54
- // return this._dynamicWeatherSystem.weather
55
- }
56
- }, {
57
- key: "time",
58
- get: function get() {
59
- if (this._dynamicWeatherSystem) return this._dynamicWeatherSystem.time;else console.warn('mode is hdr');
60
- // this._dynamicWeatherSystem = new DynamicWeatherSystem()
61
- // return this._dynamicWeatherSystem.time
62
- }
63
- }, {
64
- key: "setTime",
65
- value: function setTime(time) {
66
- if (this._dynamicWeatherSystem) this._dynamicWeatherSystem.setTime(time);else console.warn('mode is hdr');
67
- // this._dynamicWeatherSystem = new DynamicWeatherSystem()
68
- // this._dynamicWeatherSystem.setTime(time)
69
- }
70
- }, {
71
- key: "setWeather",
72
- value: function setWeather(weather) {
73
- if (this._dynamicWeatherSystem) this._dynamicWeatherSystem.setWeather(weather);else console.warn('mode is hdr');
74
- // this._dynamicWeatherSystem = new DynamicWeatherSystem()
75
- // this._dynamicWeatherSystem.setWeather(weather)
76
- }
77
- }, {
78
- key: "setMode",
79
- value: function setMode(mode) {
80
- if (this._mode === mode) return;
81
- var scene = use.useScene().scene;
82
- this._mode = mode;
83
- if (mode === 'hdr') {
84
- this._dynamicWeatherSystem.visible = false;
85
- if (!this._hdrSky) {
86
- this._hdrSky = new HDRSky({
87
- mode: mode
88
- });
89
- this.add(this._hdrSky);
90
- }
91
- } else {
92
- var _use$useScene = use.useScene(),
93
- renderer = _use$useScene.renderer;
94
- var pmremGenerator = new PMREMGenerator(renderer);
95
- pmremGenerator.compileEquirectangularShader();
96
- scene.environment = pmremGenerator.fromScene(new RoomEnvironment()).texture;
97
- this._dynamicWeatherSystem.visible = true;
98
- scene.background = null;
99
- }
100
- }
101
- }, {
102
- key: "setHDR",
103
- value: function () {
104
- var _setHDR = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(hdrPath) {
105
- return _regeneratorRuntime().wrap(function _callee$(_context) {
106
- while (1) switch (_context.prev = _context.next) {
107
- case 0:
108
- if (!this._hdrSky) this._hdrSky = new HDRSky({
109
- mode: 'hdr'
110
- });
111
- _context.next = 3;
112
- return this._hdrSky.setHDR(hdrPath);
113
- case 3:
114
- case "end":
115
- return _context.stop();
116
- }
117
- }, _callee, this);
118
- }));
119
- function setHDR(_x) {
120
- return _setHDR.apply(this, arguments);
31
+ get weather() {
32
+ if (this._dynamicWeatherSystem) return this._dynamicWeatherSystem.weather;else console.warn('mode is hdr');
33
+ // this._dynamicWeatherSystem = new DynamicWeatherSystem()
34
+ // return this._dynamicWeatherSystem.weather
35
+ }
36
+ get time() {
37
+ if (this._dynamicWeatherSystem) return this._dynamicWeatherSystem.time;else console.warn('mode is hdr');
38
+ // this._dynamicWeatherSystem = new DynamicWeatherSystem()
39
+ // return this._dynamicWeatherSystem.time
40
+ }
41
+ setTime(time) {
42
+ if (this._dynamicWeatherSystem) this._dynamicWeatherSystem.setTime(time);else console.warn('mode is hdr');
43
+ // this._dynamicWeatherSystem = new DynamicWeatherSystem()
44
+ // this._dynamicWeatherSystem.setTime(time)
45
+ }
46
+ setWeather(weather) {
47
+ if (this._dynamicWeatherSystem) this._dynamicWeatherSystem.setWeather(weather);else console.warn('mode is hdr');
48
+ // this._dynamicWeatherSystem = new DynamicWeatherSystem()
49
+ // this._dynamicWeatherSystem.setWeather(weather)
50
+ }
51
+ setMode(mode) {
52
+ if (this._mode === mode) return;
53
+ const scene = use.useScene().scene;
54
+ this._mode = mode;
55
+ if (mode === 'hdr') {
56
+ this._dynamicWeatherSystem.visible = false;
57
+ if (!this._hdrSky) {
58
+ this._hdrSky = new HDRSky({
59
+ mode
60
+ });
61
+ this.add(this._hdrSky);
121
62
  }
122
- return setHDR;
123
- }()
124
- }, {
125
- key: "setRotate",
126
- value: function setRotate(rotate) {
127
- if (this._hdrSky) this._hdrSky.setRotate(rotate);else console.warn('mode is hdr');
128
- }
129
- }, {
130
- key: "setIntensity",
131
- value: function setIntensity(intensity) {
132
- if (this._hdrSky) this._hdrSky.setIntensity(intensity);else console.warn('mode is hdr');
63
+ } else {
64
+ const {
65
+ renderer
66
+ } = use.useScene();
67
+ const pmremGenerator = new PMREMGenerator(renderer);
68
+ pmremGenerator.compileEquirectangularShader();
69
+ scene.environment = pmremGenerator.fromScene(new RoomEnvironment()).texture;
70
+ this._dynamicWeatherSystem.visible = true;
71
+ scene.background = null;
133
72
  }
134
- }]);
135
- return WeatherSystem;
136
- }(Object3D);
73
+ }
74
+ setHDR(hdrPath) {
75
+ var _this = this;
76
+ return _asyncToGenerator(function* () {
77
+ if (!_this._hdrSky) _this._hdrSky = new HDRSky({
78
+ mode: 'hdr'
79
+ });
80
+ yield _this._hdrSky.setHDR(hdrPath);
81
+ })();
82
+ }
83
+ setRotate(rotate) {
84
+ if (this._hdrSky) this._hdrSky.setRotate(rotate);else console.warn('mode is hdr');
85
+ }
86
+ setIntensity(intensity) {
87
+ if (this._hdrSky) this._hdrSky.setIntensity(intensity);else console.warn('mode is hdr');
88
+ }
89
+ }
137
90
  //# sourceMappingURL=index.js.map