@anov/3d-ability 0.0.167 → 0.0.168

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 (243) hide show
  1. package/dist/business/Animation/motion/index.d.ts +2 -3
  2. package/dist/business/Animation/motion/index.js +1 -6
  3. package/dist/business/Animation/motion/index.js.map +1 -1
  4. package/dist/business/Area/Fence/FenceBase.d.ts +2 -2
  5. package/dist/business/Area/Fence/FenceBase.js +1 -1
  6. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  7. package/dist/business/Area/Fence/fence_base_01.js +1 -1
  8. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  9. package/dist/business/Area/Fence/fence_feeting_01.js +1 -1
  10. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  11. package/dist/business/Area/Fence/fence_roll_01.js +1 -1
  12. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  13. package/dist/business/Area/FillArea/FillAreaBase.d.ts +2 -2
  14. package/dist/business/Area/FillArea/FillAreaBase.js +1 -1
  15. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  16. package/dist/business/Area/index.d.ts +1 -2
  17. package/dist/business/Area/index.js +2 -2
  18. package/dist/business/Area/index.js.map +1 -1
  19. package/dist/business/Base/ObjectLayer.d.ts +2 -4
  20. package/dist/business/Base/ObjectLayer.js +11 -7
  21. package/dist/business/Base/ObjectLayer.js.map +1 -1
  22. package/dist/business/Batch/index.d.ts +1 -1
  23. package/dist/business/Batch/index.js +2 -2
  24. package/dist/business/Batch/index.js.map +1 -1
  25. package/dist/business/Box/index.d.ts +1 -1
  26. package/dist/business/Box/index.js +2 -2
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Box/interface.js.map +1 -1
  29. package/dist/business/Box/types.js.map +1 -1
  30. package/dist/business/Cylinder/index.d.ts +1 -1
  31. package/dist/business/Cylinder/index.js +2 -2
  32. package/dist/business/Cylinder/index.js.map +1 -1
  33. package/dist/business/Cylinder/interface.d.ts +1 -1
  34. package/dist/business/Cylinder/interface.js.map +1 -1
  35. package/dist/business/Cylinder/types.js.map +1 -1
  36. package/dist/business/Flyline/index.d.ts +2 -2
  37. package/dist/business/Flyline/index.js +8 -8
  38. package/dist/business/Flyline/index.js.map +1 -1
  39. package/dist/business/Flyline/line/ArcLine.d.ts +1 -1
  40. package/dist/business/Flyline/line/ArcLine.js +3 -3
  41. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  42. package/dist/business/HeatMap/HeatMap.d.ts +59 -3
  43. package/dist/business/HeatMap/HeatMap.js +95 -7
  44. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  45. package/dist/business/InfoPanel/index.d.ts +4 -3
  46. package/dist/business/InfoPanel/index.js +19 -13
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/InfoPanel/type.js.map +1 -1
  49. package/dist/business/Line/index.d.ts +3 -3
  50. package/dist/business/Line/index.js +7 -8
  51. package/dist/business/Line/index.js.map +1 -1
  52. package/dist/business/Line/interface.d.ts +4 -4
  53. package/dist/business/Line/interface.js.map +1 -1
  54. package/dist/business/Line/types.js.map +1 -1
  55. package/dist/business/Mark/index.d.ts +1 -2
  56. package/dist/business/Mark/index.js +3 -3
  57. package/dist/business/Mark/index.js.map +1 -1
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.d.ts +3 -5
  59. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +10 -14
  60. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  61. package/dist/business/MaterialSwitch/index.js.map +1 -1
  62. package/dist/business/Plane/index.d.ts +2 -3
  63. package/dist/business/Plane/index.js +2 -2
  64. package/dist/business/Plane/index.js.map +1 -1
  65. package/dist/business/Plane/interface.d.ts +5 -5
  66. package/dist/business/Plane/interface.js.map +1 -1
  67. package/dist/business/Plane/types.js.map +1 -1
  68. package/dist/business/Poi/index.d.ts +3 -2
  69. package/dist/business/Poi/index.js +54 -25
  70. package/dist/business/Poi/index.js.map +1 -1
  71. package/dist/business/Poi/link/Cylinder.d.ts +1 -2
  72. package/dist/business/Poi/link/Cylinder.js +3 -3
  73. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  74. package/dist/business/Poi/link/Pyramid.d.ts +1 -2
  75. package/dist/business/Poi/link/Pyramid.js +2 -2
  76. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  77. package/dist/business/Poi/link/index.d.ts +2 -2
  78. package/dist/business/Poi/link/index.js +2 -2
  79. package/dist/business/Poi/link/index.js.map +1 -1
  80. package/dist/business/Poi/panel/index.d.ts +3 -3
  81. package/dist/business/Poi/panel/index.js +6 -7
  82. package/dist/business/Poi/panel/index.js.map +1 -1
  83. package/dist/business/Poi/panel/interfaces.js.map +1 -1
  84. package/dist/business/Poi/panel/utils.d.ts +1 -1
  85. package/dist/business/Poi/panel/utils.js +3 -3
  86. package/dist/business/Poi/panel/utils.js.map +1 -1
  87. package/dist/business/Poi/particle/DoubleCircle.d.ts +1 -2
  88. package/dist/business/Poi/particle/DoubleCircle.js +2 -3
  89. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  90. package/dist/business/Poi/particle/DynamicCircle.d.ts +1 -2
  91. package/dist/business/Poi/particle/DynamicCircle.js +2 -3
  92. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  93. package/dist/business/Poi/particle/SingleCircle.d.ts +1 -2
  94. package/dist/business/Poi/particle/SingleCircle.js +2 -3
  95. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  96. package/dist/business/Poi/particle/index.d.ts +2 -2
  97. package/dist/business/Poi/particle/index.js +2 -2
  98. package/dist/business/Poi/particle/index.js.map +1 -1
  99. package/dist/business/Poi/title/Border.d.ts +1 -2
  100. package/dist/business/Poi/title/Border.js +2 -2
  101. package/dist/business/Poi/title/Border.js.map +1 -1
  102. package/dist/business/Poi/title/Ellipse.d.ts +1 -2
  103. package/dist/business/Poi/title/Ellipse.js +2 -2
  104. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  105. package/dist/business/Poi/title/index.d.ts +1 -2
  106. package/dist/business/Poi/title/index.js +2 -2
  107. package/dist/business/Poi/title/index.js.map +1 -1
  108. package/dist/business/Sphere/index.d.ts +2 -2
  109. package/dist/business/Sphere/index.js +2 -2
  110. package/dist/business/Sphere/index.js.map +1 -1
  111. package/dist/business/Sphere/interface.js.map +1 -1
  112. package/dist/business/Sphere/types.js.map +1 -1
  113. package/dist/business/Spline/index.d.ts +1 -2
  114. package/dist/business/Spline/index.js +28 -14
  115. package/dist/business/Spline/index.js.map +1 -1
  116. package/dist/business/SplitBuilding/index.d.ts +2 -2
  117. package/dist/business/SplitBuilding/index.js +2 -2
  118. package/dist/business/SplitBuilding/index.js.map +1 -1
  119. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.d.ts +2 -2
  120. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +5 -6
  121. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  122. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.d.ts +2 -2
  123. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +3 -3
  124. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  125. package/dist/business/TrafficComponents/base.d.ts +4 -4
  126. package/dist/business/TrafficComponents/base.js +6 -6
  127. package/dist/business/TrafficComponents/base.js.map +1 -1
  128. package/dist/business/TrafficComponents/index.d.ts +2 -4
  129. package/dist/business/TrafficComponents/index.js +2 -2
  130. package/dist/business/TrafficComponents/index.js.map +1 -1
  131. package/dist/business/Utils/defineProps.js +3 -3
  132. package/dist/business/Utils/defineProps.js.map +1 -1
  133. package/dist/business/VideoPanel/index.d.ts +4 -4
  134. package/dist/business/VideoPanel/index.js +13 -11
  135. package/dist/business/VideoPanel/index.js.map +1 -1
  136. package/dist/business/VideoPanel/type.d.ts +8 -8
  137. package/dist/business/VideoPanel/type.js.map +1 -1
  138. package/dist/business/Water/index.d.ts +1 -3
  139. package/dist/business/Water/index.js +5 -5
  140. package/dist/business/Water/index.js.map +1 -1
  141. package/dist/business/index.d.ts +18 -21
  142. package/dist/business/index.js +18 -18
  143. package/dist/business/index.js.map +1 -1
  144. package/dist/core/Camera/PerspectiveCamera/CameraExpand.d.ts +1 -1
  145. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +4 -4
  146. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  147. package/dist/core/Camera/index.d.ts +1 -2
  148. package/dist/core/Camera/index.js +1 -1
  149. package/dist/core/Camera/index.js.map +1 -1
  150. package/dist/core/Controls/FirstViewControl/index.d.ts +2 -3
  151. package/dist/core/Controls/FirstViewControl/index.js +2 -4
  152. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  153. package/dist/core/Controls/ThirdViewControl/index.d.ts +2 -3
  154. package/dist/core/Controls/ThirdViewControl/index.js +3 -6
  155. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  156. package/dist/core/Controls/ThirdViewControl/player/camera.d.ts +2 -4
  157. package/dist/core/Controls/ThirdViewControl/player/camera.js +2 -5
  158. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/player.d.ts +2 -4
  160. package/dist/core/Controls/ThirdViewControl/player.js +2 -6
  161. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  162. package/dist/core/Controls/base.d.ts +3 -4
  163. package/dist/core/Controls/base.js +3 -5
  164. package/dist/core/Controls/base.js.map +1 -1
  165. package/dist/core/Curve/index.d.ts +1 -2
  166. package/dist/core/Curve/index.js +1 -1
  167. package/dist/core/Curve/index.js.map +1 -1
  168. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  169. package/dist/core/Material/index.d.ts +3 -5
  170. package/dist/core/Material/index.js +3 -3
  171. package/dist/core/Material/index.js.map +1 -1
  172. package/dist/core/PostEffects/addACESFilmicToneMappingPass.d.ts +1 -2
  173. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +4 -4
  174. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  175. package/dist/core/PostEffects/addBrightnessContrastPass.d.ts +1 -2
  176. package/dist/core/PostEffects/addBrightnessContrastPass.js +4 -4
  177. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  178. package/dist/core/PostEffects/bloomPass.d.ts +1 -2
  179. package/dist/core/PostEffects/bloomPass.js +5 -6
  180. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  181. package/dist/core/PostEffects/bloomSelect.d.ts +2 -2
  182. package/dist/core/PostEffects/bloomSelect.js +6 -7
  183. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  184. package/dist/core/PostEffects/colorifyPass.d.ts +2 -2
  185. package/dist/core/PostEffects/colorifyPass.js +4 -4
  186. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  187. package/dist/core/PostEffects/index.d.ts +13 -4
  188. package/dist/core/PostEffects/index.js +20 -14
  189. package/dist/core/PostEffects/index.js.map +1 -1
  190. package/dist/core/PostEffects/outlinePass.d.ts +2 -2
  191. package/dist/core/PostEffects/outlinePass.js +5 -4
  192. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  193. package/dist/core/PostEffects/postprocessing.d.ts +2 -2
  194. package/dist/core/PostEffects/postprocessing.js +2 -2
  195. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  196. package/dist/core/PostEffects/saoPass.d.ts +1 -2
  197. package/dist/core/PostEffects/saoPass.js +5 -4
  198. package/dist/core/PostEffects/saoPass.js.map +1 -1
  199. package/dist/core/SceneEffect/grow/grow.d.ts +1 -3
  200. package/dist/core/SceneEffect/grow/grow.js +3 -5
  201. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  202. package/dist/core/WeatherSystem/DynamicWeatherSystem.d.ts +1 -3
  203. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +4 -6
  204. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  205. package/dist/core/WeatherSystem/color/index.d.ts +0 -3
  206. package/dist/core/WeatherSystem/color/index.js +14 -9
  207. package/dist/core/WeatherSystem/color/index.js.map +1 -1
  208. package/dist/core/WeatherSystem/controller/ColorController.d.ts +1 -3
  209. package/dist/core/WeatherSystem/controller/ColorController.js +3 -5
  210. package/dist/core/WeatherSystem/controller/ColorController.js.map +1 -1
  211. package/dist/core/WeatherSystem/controller/HDRController.d.ts +1 -3
  212. package/dist/core/WeatherSystem/controller/HDRController.js +3 -5
  213. package/dist/core/WeatherSystem/controller/HDRController.js.map +1 -1
  214. package/dist/core/WeatherSystem/controller/SkyController.d.ts +1 -3
  215. package/dist/core/WeatherSystem/controller/SkyController.js +2 -4
  216. package/dist/core/WeatherSystem/controller/SkyController.js.map +1 -1
  217. package/dist/core/WeatherSystem/hdr/index.d.ts +2 -4
  218. package/dist/core/WeatherSystem/hdr/index.js +11 -12
  219. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  220. package/dist/core/WeatherSystem/index.d.ts +2 -3
  221. package/dist/core/WeatherSystem/index.js +4 -7
  222. package/dist/core/WeatherSystem/index.js.map +1 -1
  223. package/dist/core/WeatherSystem/objects/rain/index.d.ts +1 -2
  224. package/dist/core/WeatherSystem/objects/rain/index.js +3 -3
  225. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  226. package/dist/core/WeatherSystem/objects/rain/lineRain.d.ts +1 -3
  227. package/dist/core/WeatherSystem/objects/rain/lineRain.js +5 -7
  228. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/rain/plane.d.ts +1 -3
  230. package/dist/core/WeatherSystem/objects/rain/plane.js +4 -6
  231. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  232. package/dist/core/WeatherSystem/objects/rain/point.d.ts +1 -3
  233. package/dist/core/WeatherSystem/objects/rain/point.js +0 -3
  234. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  235. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  236. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  237. package/dist/core/WeatherSystem/weather/index.d.ts +2 -3
  238. package/dist/core/WeatherSystem/weather/index.js +5 -7
  239. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  240. package/dist/index.d.ts +8 -13
  241. package/dist/index.js +8 -8
  242. package/dist/index.js.map +1 -1
  243. package/package.json +3 -3
@@ -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","Object3D","use","SkyController","HDRController","ColorController","DEFAULT_OPTIONS","mode","WeatherSystem","_Object3D","_super","_this","options","sceneControl","current","createController","object","add","enter","_setMode","_callee","_this$current","_use$useScene","envManager","_this$current$update","_this$current2","_callee$","_context","useScene","update","exit","remove","setMode","_x","Options","_objectWithoutProperties","_excluded","get","_this$current3","_this$current4","checkModeSupport","time","weather","set","rotate","intensity","path","color","alpha","_useSky","_callee2","option","_args2","_callee2$","_context2","_objectSpread","useSky","_useHDR","_callee3","_callee3$","_context3","useHDR","_x2","_useColor","_callee4","_args4","_callee4$","_context4","useColor","getController","setTime","setWeather","_call","_callee5","ctrl","_len","_key","_args5","_callee5$","_context5","Array","console","warn","concat","_x3","property","supportedMode"],"sources":["../../../src/core/WeatherSystem/index.ts"],"sourcesContent":["import { Object3D, PMREMGenerator, RoomEnvironment, type SceneControl, use } from '@anov/3d-core'\nimport { SkyOptions, HDROptions, ColorOptions, WeatherSystemOptions, BaseController, WeatherOptions, IHDRController, IColorController, ISkyController, ControllerType} from './types'\nimport { SkyController} from './controller/SkyController'\nimport { HDRController } from './controller/HDRController'\nimport { ColorController } from './controller/ColorController'\n\n\nconst DEFAULT_OPTIONS: WeatherSystemOptions = {\n mode: 'sky',\n}\nexport class WeatherSystem extends Object3D {\n private current?: ControllerType\n private sceneControl?: SceneControl\n\n constructor(options: WeatherSystemOptions = DEFAULT_OPTIONS, sceneControl?: SceneControl) {\n super()\n this.sceneControl = sceneControl\n\n this.current = this.createController(options)\n\n if (this.current.object) this.add(this.current.object)\n\n this.current.enter()\n }\n\n async setMode<T extends ControllerType>(options: WeatherSystemOptions): Promise<T | undefined> {\n const {envManager} = use.useScene(this.sceneControl)\n // 模式相同 → 更新参数\n if (this.current?.mode === options.mode) {\n await this.current.update?.(options as any)\n return this.current as T\n }\n // 不同模式:切换\n if (this.current) {\n this.current.exit()\n if (this.current.object)\n this.remove(this.current.object)\n }\n\n this.current = this.createController(options)\n\n if (this.current.object) this.add(this.current.object)\n\n await this.current.enter()\n\n return this.current as T\n }\n\n\n private createController(options: WeatherSystemOptions): ControllerType{\n const { mode, ...Options } = options\n switch (options.mode) {\n case 'sky':\n return new SkyController(Options as SkyOptions, this.sceneControl)\n case 'hdr':\n return new HDRController(Options as HDROptions, this.sceneControl)\n case 'color':\n return new ColorController(Options as ColorOptions, this.sceneControl)\n }\n }\n /** ---------------------- 当前模式对象可访问--------------------- */\n get mode() {\n return this.current?.mode\n }\n get currentObject(){\n return this.current?.object\n }\n\n get time() {\n if (this.checkModeSupport('time', 'sky')) {\n return (this.current as ISkyController).time\n }\n }\n get weather() {\n if (this.checkModeSupport('weather', 'sky')) {\n return (this.current as ISkyController).weather\n }\n }\n set rotate(rotate: number){\n if(this.checkModeSupport('rotate', 'hdr')){\n (this.current as IHDRController).rotate = rotate\n }\n }\n set intensity(intensity: number){\n\n if((this.mode == 'hdr') && this.checkModeSupport('intensity', 'hdr')){\n (this.current as IHDRController).intensity = intensity\n }\n if((this.mode == 'color') && this.checkModeSupport('intensity', 'color')){\n (this.current as IColorController).intensity = intensity\n }\n }\n set path(path: string){\n if(this.checkModeSupport('path', 'hdr')){\n (this.current as IHDRController).path = path\n }\n }\n set color(color: number | string){\n if(this.checkModeSupport('color', 'color')){\n (this.current as IColorController).color = color\n }\n }\n set alpha(alpha: number){\n if(this.checkModeSupport('alpha', 'color')){\n (this.current as IColorController).alpha = alpha\n }\n }\n /** ---------------------- 外部可调用API--------------------- */\n async useSky(option: SkyOptions = {}) {\n return await this.setMode({ mode: 'sky', ...option })\n }\n async useHDR(option: HDROptions) {\n return await this.setMode({ mode: 'hdr', ...option })\n }\n async useColor(option: ColorOptions = {}) {\n return await this.setMode({ mode: 'color', ...option })\n }\n getController() {\n return this.current\n }\n\n setTime(time: string) {\n this.call('setTime', time)\n }\n setWeather(weather: string) {\n this.call('setWeather', weather)\n }\n \n\n private async call<K extends keyof ControllerType>(\n method: K,\n ...args: any[]\n ) {\n const ctrl = this.current as any\n if (ctrl && typeof ctrl[method] === 'function') {\n await ctrl[method](...args)\n } else {\n console.warn(`当前模式 ${this.mode} 不支持 ${String(method)}`)\n }\n }\n private checkModeSupport(property: string, supportedMode: string): boolean {\n if (!this.current || this.current.mode !== supportedMode) {\n console.warn(`当前模式 ${this.mode} 不支持设置/获取 ${property}`)\n return false\n }\n return true\n }\n\n}\n"],"mappings":"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"}
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","Object3D","use","SkyController","HDRController","ColorController","DEFAULT_OPTIONS","mode","WeatherSystem","_Object3D","_super","_this","options","current","createController","object","add","enter","_setMode","_callee","_this$current","_use$useScene","envManager","_this$current$update","_this$current2","_callee$","_context","useScene","update","exit","remove","setMode","_x","Options","_objectWithoutProperties","_excluded","get","_this$current3","_this$current4","checkModeSupport","time","weather","set","rotate","intensity","path","color","alpha","_useSky","_callee2","option","_args2","_callee2$","_context2","_objectSpread","useSky","_useHDR","_callee3","_callee3$","_context3","useHDR","_x2","_useColor","_callee4","_args4","_callee4$","_context4","useColor","getController","setTime","setWeather","_call","_callee5","ctrl","_len","_key","_args5","_callee5$","_context5","Array","console","warn","concat","_x3","property","supportedMode"],"sources":["../../../src/core/WeatherSystem/index.ts"],"sourcesContent":["import { Object3D, PMREMGenerator, RoomEnvironment, use } from '@anov/3d-core'\nimport { SkyOptions, HDROptions, ColorOptions, WeatherSystemOptions, BaseController, WeatherOptions, IHDRController, IColorController, ISkyController, ControllerType} from './types'\nimport { SkyController} from './controller/SkyController'\nimport { HDRController } from './controller/HDRController'\nimport { ColorController } from './controller/ColorController'\n\n\nconst DEFAULT_OPTIONS: WeatherSystemOptions = {\n mode: 'sky',\n}\nexport class WeatherSystem extends Object3D {\n private current?: ControllerType\n constructor(options: WeatherSystemOptions = DEFAULT_OPTIONS) {\n super()\n\n this.current = this.createController(options)\n\n if (this.current.object) this.add(this.current.object)\n\n this.current.enter()\n }\n\n async setMode<T extends ControllerType>(options: WeatherSystemOptions): Promise<T | undefined> {\n const {envManager} = use.useScene()\n // 模式相同 → 更新参数\n if (this.current?.mode === options.mode) {\n await this.current.update?.(options as any)\n return this.current as T\n }\n // 不同模式:切换\n if (this.current) {\n this.current.exit()\n if (this.current.object)\n this.remove(this.current.object)\n }\n\n this.current = this.createController(options)\n\n if (this.current.object) this.add(this.current.object)\n\n await this.current.enter()\n\n return this.current as T\n }\n\n\n private createController(options: WeatherSystemOptions): ControllerType{\n const { mode, ...Options } = options\n switch (options.mode) {\n case 'sky':\n return new SkyController(Options as SkyOptions)\n case 'hdr':\n return new HDRController(Options as HDROptions)\n case 'color':\n return new ColorController(Options as ColorOptions)\n }\n }\n /** ---------------------- 当前模式对象可访问--------------------- */\n get mode() {\n return this.current?.mode\n }\n get currentObject(){\n return this.current?.object\n }\n\n get time() {\n if (this.checkModeSupport('time', 'sky')) {\n return (this.current as ISkyController).time\n }\n }\n get weather() {\n if (this.checkModeSupport('weather', 'sky')) {\n return (this.current as ISkyController).weather\n }\n }\n set rotate(rotate: number){\n if(this.checkModeSupport('rotate', 'hdr')){\n (this.current as IHDRController).rotate = rotate\n }\n }\n set intensity(intensity: number){\n\n if((this.mode == 'hdr') && this.checkModeSupport('intensity', 'hdr')){\n (this.current as IHDRController).intensity = intensity\n }\n if((this.mode == 'color') && this.checkModeSupport('intensity', 'color')){\n (this.current as IColorController).intensity = intensity\n }\n }\n set path(path: string){\n if(this.checkModeSupport('path', 'hdr')){\n (this.current as IHDRController).path = path\n }\n }\n set color(color: number | string){\n if(this.checkModeSupport('color', 'color')){\n (this.current as IColorController).color = color\n }\n }\n set alpha(alpha: number){\n if(this.checkModeSupport('alpha', 'color')){\n (this.current as IColorController).alpha = alpha\n }\n }\n /** ---------------------- 外部可调用API--------------------- */\n async useSky(option: SkyOptions = {}) {\n return await this.setMode({ mode: 'sky', ...option })\n }\n async useHDR(option: HDROptions) {\n return await this.setMode({ mode: 'hdr', ...option })\n }\n async useColor(option: ColorOptions = {}) {\n return await this.setMode({ mode: 'color', ...option })\n }\n getController() {\n return this.current\n }\n\n setTime(time: string) {\n this.call('setTime', time)\n }\n setWeather(weather: string) {\n this.call('setWeather', weather)\n }\n \n\n private async call<K extends keyof ControllerType>(\n method: K,\n ...args: any[]\n ) {\n const ctrl = this.current as any\n if (ctrl && typeof ctrl[method] === 'function') {\n await ctrl[method](...args)\n } else {\n console.warn(`当前模式 ${this.mode} 不支持 ${String(method)}`)\n }\n }\n private checkModeSupport(property: string, supportedMode: string): boolean {\n if (!this.current || this.current.mode !== supportedMode) {\n console.warn(`当前模式 ${this.mode} 不支持设置/获取 ${property}`)\n return false\n }\n return true\n }\n\n}\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Group, Mesh } from '@anov/3d-core';
2
- import type { SceneControl } from '@anov/3d-core';
3
2
  import PlaneMesh from './plane';
4
3
  import PointMesh from './point';
5
4
  import type LineMesh from './lineRain';
@@ -13,7 +12,7 @@ declare class RainMesh extends Mesh {
13
12
  width: number;
14
13
  height: number;
15
14
  segment: number;
16
- }, sceneControl: SceneControl);
15
+ });
17
16
  initialize(): void;
18
17
  /**
19
18
  * 设置云效果
@@ -20,7 +20,7 @@ import PointMesh from "./point";
20
20
  var RainMesh = /*#__PURE__*/function (_Mesh) {
21
21
  _inherits(RainMesh, _Mesh);
22
22
  var _super = _createSuper(RainMesh);
23
- function RainMesh(option, sceneControl) {
23
+ function RainMesh(option) {
24
24
  var _this;
25
25
  _classCallCheck(this, RainMesh);
26
26
  _this = _super.call(this);
@@ -31,9 +31,9 @@ var RainMesh = /*#__PURE__*/function (_Mesh) {
31
31
  _defineProperty(_assertThisInitialized(_this), "option", void 0);
32
32
  _this.option = option;
33
33
  _this.group = new Group();
34
- _this.plane = new PlaneMesh(option, sceneControl);
34
+ _this.plane = new PlaneMesh(option);
35
35
  // this.lineMesh = new LineMesh(option)
36
- _this.point = new PointMesh(undefined, sceneControl);
36
+ _this.point = new PointMesh();
37
37
  _this.initialize();
38
38
  return _this;
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Group","Mesh","EWeatherType","Rain_Icon","Snow_Icon","PlaneMesh","PointMesh","RainMesh","_Mesh","_inherits","_super","_createSuper","option","sceneControl","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","plane","point","undefined","initialize","_createClass","key","value","add","setEffect","type","width","calculateSize","size","planeEffects","Rain","snowT1density","rainT1density","snowSpeed","rainSpeed","Rain_Thunderstorm","Snow","Snow_Blizzard","pointEffects","speed","range","icon","count","update","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/index.ts"],"sourcesContent":["import { Group, Mesh } from '@anov/3d-core'\nimport type { SceneControl } from '@anov/3d-core'\nimport { EWeatherType } from '../../utils/type'\nimport { Rain_Icon, Snow_Icon } from '../../utils/constant'\nimport PlaneMesh from './plane'\nimport PointMesh from './point'\nimport type LineMesh from './lineRain'\n\nclass RainMesh extends Mesh {\n plane: PlaneMesh\n point: PointMesh\n lineMesh: LineMesh\n group: Group\n option\n\n constructor(option: { width: number;height: number;segment: number }, sceneControl: SceneControl) {\n super()\n this.option = option\n this.group = new Group()\n this.plane = new PlaneMesh(option, sceneControl)\n // this.lineMesh = new LineMesh(option)\n this.point = new PointMesh(undefined, sceneControl)\n\n this.initialize()\n }\n\n initialize() {\n this.group.add(this.plane)\n // this.group.add(this.lineMesh)\n this.group.add(this.point)\n this.add(this.group)\n }\n\n /**\n * 设置云效果\n * @param {string} type - 效果类型\n * @param {ICloudOption} ops - 配置参数\n */\n setEffect(type: string) {\n const { width } = this.option\n const calculateSize = (size) => {\n return width * size / 2000\n }\n\n const planeEffects = {\n [EWeatherType.Rain]: { size: calculateSize(20), snowT1density: 0.0, rainT1density: 0.2, snowSpeed: 0.3, rainSpeed: 0.25 },\n [EWeatherType.Rain_Thunderstorm]: { size: calculateSize(30), snowT1density: 0.0, rainT1density: 0.3, snowSpeed: 0.6, rainSpeed: 0.31 },\n [EWeatherType.Snow]: { size: calculateSize(50), snowT1density: 0.2, rainT1density: 0, snowSpeed: 0.8 },\n [EWeatherType.Snow_Blizzard]: { size: calculateSize(40), snowT1density: 0.3, rainT1density: 0, snowSpeed: 0.6 },\n }\n const pointEffects = {\n [EWeatherType.Rain]: { speed: [0, 2, 0], range: width, size: 0.5, icon: Rain_Icon, count: 0 }, // width * 500\n [EWeatherType.Rain_Thunderstorm]: { speed: [0, 3, 0], size: 0.5, range: width, icon: Rain_Icon, count: 0 }, // width * 2200\n [EWeatherType.Snow]: { speed: [0, 1.5, 0], size: 4, range: width, icon: Snow_Icon, count: width * 20 },\n [EWeatherType.Snow_Blizzard]: { speed: [0, 2, 0], size: 5, range: width, icon: Snow_Icon, count: width * 40 },\n }\n this.plane.setEffect(planeEffects[type])\n // this.lineMesh.setEffect(planeEffects[type])\n this.point.setEffect(pointEffects[type])\n }\n\n update() {\n this.plane.update()\n // this.lineMesh.update()\n this.point.update()\n }\n\n delete() {\n this.group.remove(this.plane)\n // this.group.remove(this.lineMesh)\n this.group.remove(this.point)\n this.remove(this.group)\n this.removeFromParent()\n }\n}\n\nexport default RainMesh\n"],"mappings":"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"}
1
+ {"version":3,"names":["Group","Mesh","EWeatherType","Rain_Icon","Snow_Icon","PlaneMesh","PointMesh","RainMesh","_Mesh","_inherits","_super","_createSuper","option","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","plane","point","initialize","_createClass","key","value","add","setEffect","type","width","calculateSize","size","planeEffects","Rain","snowT1density","rainT1density","snowSpeed","rainSpeed","Rain_Thunderstorm","Snow","Snow_Blizzard","pointEffects","speed","range","icon","count","update","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/index.ts"],"sourcesContent":["import { Group, Mesh } from '@anov/3d-core'\nimport { EWeatherType } from '../../utils/type'\nimport { Rain_Icon, Snow_Icon } from '../../utils/constant'\nimport PlaneMesh from './plane'\nimport PointMesh from './point'\nimport type LineMesh from './lineRain'\n\nclass RainMesh extends Mesh {\n plane: PlaneMesh\n point: PointMesh\n lineMesh: LineMesh\n group: Group\n option\n\n constructor(option: { width: number;height: number;segment: number }) {\n super()\n this.option = option\n this.group = new Group()\n this.plane = new PlaneMesh(option)\n // this.lineMesh = new LineMesh(option)\n this.point = new PointMesh()\n\n this.initialize()\n }\n\n initialize() {\n this.group.add(this.plane)\n // this.group.add(this.lineMesh)\n this.group.add(this.point)\n this.add(this.group)\n }\n\n /**\n * 设置云效果\n * @param {string} type - 效果类型\n * @param {ICloudOption} ops - 配置参数\n */\n setEffect(type: string) {\n const { width } = this.option\n const calculateSize = (size) => {\n return width * size / 2000\n }\n\n const planeEffects = {\n [EWeatherType.Rain]: { size: calculateSize(20), snowT1density: 0.0, rainT1density: 0.2, snowSpeed: 0.3, rainSpeed: 0.25 },\n [EWeatherType.Rain_Thunderstorm]: { size: calculateSize(30), snowT1density: 0.0, rainT1density: 0.3, snowSpeed: 0.6, rainSpeed: 0.31 },\n [EWeatherType.Snow]: { size: calculateSize(50), snowT1density: 0.2, rainT1density: 0, snowSpeed: 0.8 },\n [EWeatherType.Snow_Blizzard]: { size: calculateSize(40), snowT1density: 0.3, rainT1density: 0, snowSpeed: 0.6 },\n }\n const pointEffects = {\n [EWeatherType.Rain]: { speed: [0, 2, 0], range: width, size: 0.5, icon: Rain_Icon, count: 0 }, // width * 500\n [EWeatherType.Rain_Thunderstorm]: { speed: [0, 3, 0], size: 0.5, range: width, icon: Rain_Icon, count: 0 }, // width * 2200\n [EWeatherType.Snow]: { speed: [0, 1.5, 0], size: 4, range: width, icon: Snow_Icon, count: width * 20 },\n [EWeatherType.Snow_Blizzard]: { speed: [0, 2, 0], size: 5, range: width, icon: Snow_Icon, count: width * 40 },\n }\n this.plane.setEffect(planeEffects[type])\n // this.lineMesh.setEffect(planeEffects[type])\n this.point.setEffect(pointEffects[type])\n }\n\n update() {\n this.plane.update()\n // this.lineMesh.update()\n this.point.update()\n }\n\n delete() {\n this.group.remove(this.plane)\n // this.group.remove(this.lineMesh)\n this.group.remove(this.point)\n this.remove(this.group)\n this.removeFromParent()\n }\n}\n\nexport default RainMesh\n"],"mappings":"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"}
@@ -1,16 +1,14 @@
1
1
  import { Mesh } from '@anov/3d-core';
2
- import type { SceneControl } from '@anov/3d-core';
3
2
  import type { IRainOption } from '../../utils/constant';
4
3
  declare class LineRainMesh extends Mesh {
5
4
  option: IRainOption;
6
5
  uniforms: any;
7
6
  loaded: Promise<Boolean>;
8
- sceneControl: SceneControl;
9
7
  constructor(option: {
10
8
  width: number;
11
9
  height: number;
12
10
  segment: number;
13
- }, sceneControl: SceneControl);
11
+ });
14
12
  private setUniforms;
15
13
  setSize(size: number): void;
16
14
  setSpeed(speed: number): void;
@@ -32,15 +32,13 @@ var _defaultOption = {
32
32
  var LineRainMesh = /*#__PURE__*/function (_Mesh) {
33
33
  _inherits(LineRainMesh, _Mesh);
34
34
  var _super = _createSuper(LineRainMesh);
35
- function LineRainMesh(option, sceneControl) {
35
+ function LineRainMesh(option) {
36
36
  var _this;
37
37
  _classCallCheck(this, LineRainMesh);
38
38
  _this = _super.call(this);
39
39
  _defineProperty(_assertThisInitialized(_this), "option", _defaultOption);
40
40
  _defineProperty(_assertThisInitialized(_this), "uniforms", {});
41
41
  _defineProperty(_assertThisInitialized(_this), "loaded", void 0);
42
- _defineProperty(_assertThisInitialized(_this), "sceneControl", void 0);
43
- _this.sceneControl = sceneControl;
44
42
  var group = new Group();
45
43
  var width = option.width,
46
44
  height = option.height;
@@ -125,7 +123,7 @@ var LineRainMesh = /*#__PURE__*/function (_Mesh) {
125
123
 
126
124
  var rain2dGeometry = new PlaneGeometry(100, 100);
127
125
  var material2d = new MeshStandardMaterial({
128
- color: 0xFF0000
126
+ color: 0xff0000
129
127
  });
130
128
  var rain2d = new Mesh(rain2dGeometry, material2d);
131
129
  group.add(rain2d);
@@ -199,13 +197,13 @@ var LineRainMesh = /*#__PURE__*/function (_Mesh) {
199
197
  }, {
200
198
  key: "update",
201
199
  value: function update() {
202
- var _use$useScene = use.useScene(this.sceneControl),
200
+ var _use$useScene = use.useScene(),
203
201
  camera = _use$useScene.camera;
204
202
  var _this$uniforms = this.uniforms,
205
203
  iTime = _this$uniforms.iTime,
206
204
  cameraPos = _this$uniforms.cameraPos;
207
- if (iTime) iTime.value += 0.1;
208
- if (cameraPos && camera) cameraPos.value = [camera.position.x, camera.position.y, camera.position.z];
205
+ iTime.value += 0.1;
206
+ cameraPos.value = [camera.position.x, camera.position.y, camera.position.z];
209
207
  }
210
208
  }, {
211
209
  key: "delete",
@@ -1 +1 @@
1
- {"version":3,"names":["Group","Mesh","MeshStandardMaterial","PlaneGeometry","TextureLoader","use","textureLoader","_defaultOption","size","snowT1density","rainT1density","snowSpeed","cameraPos","rainSpeed","rainAngle","LineRainMesh","_Mesh","_inherits","_super","_createSuper","option","sceneControl","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","width","height","setUniforms","_objectSpread","iTime","rain2dGeometry","material2d","color","rain2d","add","_createClass","key","value","_this2","Object","assign","keys","forEach","uniforms","setSize","setSpeed","speed","setRain","scale","setSnow","setEffect","ops","_this3","update","_use$useScene","useScene","camera","_this$uniforms","position","x","y","z","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/lineRain.ts"],"sourcesContent":["import { Group, Mesh, MeshStandardMaterial, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, use } from '@anov/3d-core'\nimport type { SceneControl } from '@anov/3d-core'\nimport RainShader from '../../shaders/rain'\nimport type { IRainOption } from '../../utils/constant'\n\n// import { Rain_Panel, Snow_panle } from '../../utils/constant'\n\nconst textureLoader = new TextureLoader()\n\nconst _defaultOption: IRainOption = {\n // texture1: textureLoader.load(Snow_panle),\n // texture2rain: textureLoader.load(Rain_Panel),\n size: 5.0,\n snowT1density: 0.1,\n rainT1density: 0.1,\n snowSpeed: 1.0,\n cameraPos: [0, 500.0, 0],\n rainSpeed: 3.0,\n rainAngle: 0.0,\n}\n\nclass LineRainMesh extends Mesh {\n option: IRainOption = _defaultOption\n uniforms: any = {}\n loaded!: Promise<Boolean>\n sceneControl: SceneControl\n\n constructor(option: { width: number; height: number; segment: number }, sceneControl: SceneControl) {\n super()\n this.sceneControl = sceneControl\n const group = new Group()\n const { width, height } = option\n\n this.setUniforms({\n ...this.option,\n iTime: 0,\n })\n\n // const createPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n // const suiji = Math.random() * (width / 3)\n // const geometry = new PlaneGeometry(width + suiji, height + suiji)\n // const material = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShaderFar,\n // fragmentShader: RainShader.fragmentShaderFar,\n // side: 2,\n // blending: 2,\n // transparent: true,\n // depthWrite: false,\n // depthTest: true,\n // })\n\n // const plane = new Mesh(geometry, material)\n // plane.renderOrder = 10\n // plane.position.set(x, y, z)\n // plane.rotation.set(rotationX, rotationY, rotationZ)\n // return plane\n // }\n\n // const createNearPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n // const suiji = Math.random() * (width / 1)\n // const geometry = new PlaneGeometry(width / 2 + suiji, height / 2 + suiji)\n // const material = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShaderNear,\n // fragmentShader: RainShader.fragmentShaderNear,\n // side: 2,\n // blending: 2,\n // transparent: true,\n // depthWrite: true,\n // depthTest: true,\n // })\n\n // const plane = new Mesh(geometry, material)\n // plane.renderOrder = 10\n // plane.position.set(x, y, z)\n // plane.rotation.set(rotationX, rotationY, rotationZ)\n // return plane\n // }\n\n // const count = 6\n // const distance = 150\n // for (let j = -count; j <= count; j++) {\n // const plane = createPlane(0, 0, j * distance, 0, 0, 0)\n // group.add(plane)\n // }\n // for (let j = -count; j <= count; j++) {\n // const plane = createPlane(j * distance, 0, 0, 0, Math.PI / 2, 0)\n // group.add(plane)\n // }\n\n // for (let j = -15; j <= 15; j++) {\n // const plane = createNearPlane(0, 0, j * j * j * 1, 0, 0, 0)\n // group.add(plane)\n // }\n // for (let j = -15; j <= 15; j++) {\n // const plane = createNearPlane(j * j * j * 1, 0, 0, 0, Math.PI / 2, 0)\n // group.add(plane)\n // }\n\n // const material2d = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShader2d,\n // fragmentShader: RainShader.fragmentShader2d,\n // side: 2,\n // transparent: true,\n // depthWrite: false,\n // })\n\n // const rain2dGeometry = new PlaneGeometry(100, 100)\n // const rain2d = new Mesh(rain2dGeometry, material2d)\n // rain2d.renderOrder = 10\n\n const rain2dGeometry = new PlaneGeometry(100, 100)\n const material2d = new MeshStandardMaterial({ color: 0xFF0000 })\n const rain2d = new Mesh(rain2dGeometry, material2d)\n\n group.add(rain2d)\n this.add(group)\n }\n\n private setUniforms(option: IRainOption) {\n Object.assign(this.option, option)\n\n Object.keys(option).forEach((key: string) => {\n this.uniforms[key] = { value: option[key] }\n })\n }\n\n public setSize(size: number) {\n this.setUniforms({ size })\n }\n\n public setSpeed(speed: number) {\n this.setUniforms({ snowSpeed: speed })\n }\n\n public setRain(scale: number) {\n this.setUniforms({ rainT1density: scale })\n }\n\n public setSnow(scale: number) {\n this.setUniforms({ snowT1density: scale })\n }\n\n public setEffect(ops: IRainOption) {\n const { size, snowT1density, rainT1density, snowSpeed } = ops\n Object.keys(ops).forEach((key: string) => {\n switch (key) {\n case 'size':\n this.setSize(size!)\n break\n case 'snowT1density':\n this.setSpeed(snowSpeed!)\n break\n case 'rainT1density':\n this.setRain(rainT1density!)\n break\n case 'snowSpeed':\n this.setSnow(snowT1density!)\n break\n }\n })\n }\n\n public update() {\n const { camera } = use.useScene(this.sceneControl)\n const { iTime, cameraPos } = this.uniforms\n if (iTime)\n iTime.value += 0.1\n if (cameraPos && camera)\n cameraPos.value = [camera.position.x, camera.position.y, camera.position.z]\n }\n\n delete() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default LineRainMesh"],"mappings":"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"}
1
+ {"version":3,"names":["Group","Mesh","MeshStandardMaterial","PlaneGeometry","TextureLoader","use","textureLoader","_defaultOption","size","snowT1density","rainT1density","snowSpeed","cameraPos","rainSpeed","rainAngle","LineRainMesh","_Mesh","_inherits","_super","_createSuper","option","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","width","height","setUniforms","_objectSpread","iTime","rain2dGeometry","material2d","color","rain2d","add","_createClass","key","value","_this2","Object","assign","keys","forEach","uniforms","setSize","setSpeed","speed","setRain","scale","setSnow","setEffect","ops","_this3","update","_use$useScene","useScene","camera","_this$uniforms","position","x","y","z","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/lineRain.ts"],"sourcesContent":["import { Group, Mesh, MeshStandardMaterial, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, use } from '@anov/3d-core'\nimport RainShader from '../../shaders/rain'\nimport type { IRainOption } from '../../utils/constant'\n// import { Rain_Panel, Snow_panle } from '../../utils/constant'\n\nconst textureLoader = new TextureLoader()\n\nconst _defaultOption: IRainOption = {\n // texture1: textureLoader.load(Snow_panle),\n // texture2rain: textureLoader.load(Rain_Panel),\n size: 5.0,\n snowT1density: 0.1,\n rainT1density: 0.1,\n snowSpeed: 1.0,\n cameraPos: [0, 500.0, 0],\n rainSpeed: 3.0,\n rainAngle: 0.0,\n}\n\nclass LineRainMesh extends Mesh {\n option: IRainOption = _defaultOption\n uniforms: any = {}\n loaded!: Promise<Boolean>\n\n constructor(option: { width: number; height: number; segment: number }) {\n super()\n\n const group = new Group()\n const { width, height } = option\n\n this.setUniforms({\n ...this.option,\n iTime: 0,\n })\n\n // const createPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n // const suiji = Math.random() * (width / 3)\n // const geometry = new PlaneGeometry(width + suiji, height + suiji)\n // const material = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShaderFar,\n // fragmentShader: RainShader.fragmentShaderFar,\n // side: 2,\n // blending: 2,\n // transparent: true,\n // depthWrite: false,\n // depthTest: true,\n // })\n\n // const plane = new Mesh(geometry, material)\n // plane.renderOrder = 10\n // plane.position.set(x, y, z)\n // plane.rotation.set(rotationX, rotationY, rotationZ)\n // return plane\n // }\n\n // const createNearPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n // const suiji = Math.random() * (width / 1)\n // const geometry = new PlaneGeometry(width / 2 + suiji, height / 2 + suiji)\n // const material = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShaderNear,\n // fragmentShader: RainShader.fragmentShaderNear,\n // side: 2,\n // blending: 2,\n // transparent: true,\n // depthWrite: true,\n // depthTest: true,\n // })\n\n // const plane = new Mesh(geometry, material)\n // plane.renderOrder = 10\n // plane.position.set(x, y, z)\n // plane.rotation.set(rotationX, rotationY, rotationZ)\n // return plane\n // }\n\n // const count = 6\n // const distance = 150\n // for (let j = -count; j <= count; j++) {\n // const plane = createPlane(0, 0, j * distance, 0, 0, 0)\n // group.add(plane)\n // }\n // for (let j = -count; j <= count; j++) {\n // const plane = createPlane(j * distance, 0, 0, 0, Math.PI / 2, 0)\n // group.add(plane)\n // }\n\n // for (let j = -15; j <= 15; j++) {\n // const plane = createNearPlane(0, 0, j * j * j * 1, 0, 0, 0)\n // group.add(plane)\n // }\n // for (let j = -15; j <= 15; j++) {\n // const plane = createNearPlane(j * j * j * 1, 0, 0, 0, Math.PI / 2, 0)\n // group.add(plane)\n // }\n\n // const material2d = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShader2d,\n // fragmentShader: RainShader.fragmentShader2d,\n // side: 2,\n // transparent: true,\n // depthWrite: false,\n // })\n\n // const rain2dGeometry = new PlaneGeometry(100, 100)\n // const rain2d = new Mesh(rain2dGeometry, material2d)\n // rain2d.renderOrder = 10\n \nconst rain2dGeometry = new PlaneGeometry(100, 100)\nconst material2d = new MeshStandardMaterial({color:0xff0000})\nconst rain2d = new Mesh(rain2dGeometry, material2d)\n \n\n group.add(rain2d)\n this.add(group)\n }\n\n private setUniforms(option: IRainOption) {\n Object.assign(this.option, option)\n\n Object.keys(option).forEach((key: string) => {\n this.uniforms[key] = { value: option[key] }\n })\n }\n\n public setSize(size: number) {\n this.setUniforms({ size })\n }\n\n public setSpeed(speed: number) {\n this.setUniforms({ snowSpeed: speed })\n }\n\n public setRain(scale: number) {\n this.setUniforms({ rainT1density: scale })\n }\n\n public setSnow(scale: number) {\n this.setUniforms({ snowT1density: scale })\n }\n\n public setEffect(ops: IRainOption) {\n const { size, snowT1density, rainT1density, snowSpeed } = ops\n Object.keys(ops).forEach((key: string) => {\n switch (key) {\n case 'size':\n this.setSize(size!)\n break\n case 'snowT1density':\n this.setSpeed(snowSpeed!)\n break\n case 'rainT1density':\n this.setRain(rainT1density!)\n break\n case 'snowSpeed':\n this.setSnow(snowT1density!)\n break\n }\n })\n }\n\n public update() {\n const { camera } = use.useScene()\n const { iTime, cameraPos } = this.uniforms\n iTime.value += 0.1\n cameraPos.value = [camera.position.x, camera.position.y, camera.position.z]\n }\n\n delete() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default LineRainMesh"],"mappings":"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"}
@@ -1,16 +1,14 @@
1
1
  import { Mesh } from '@anov/3d-core';
2
- import type { SceneControl } from '@anov/3d-core';
3
2
  import type { IRainOption } from '../../utils/constant';
4
3
  declare class RainMesh extends Mesh {
5
4
  option: IRainOption;
6
5
  uniforms: any;
7
6
  loaded: Promise<Boolean>;
8
- sceneControl: SceneControl;
9
7
  constructor(option: {
10
8
  width: number;
11
9
  height: number;
12
10
  segment: number;
13
- }, sceneControl: SceneControl);
11
+ });
14
12
  private setUniforms;
15
13
  setSize(size: number): void;
16
14
  setSpeed(speed: number): void;
@@ -32,15 +32,13 @@ var _defaultOption = {
32
32
  var RainMesh = /*#__PURE__*/function (_Mesh) {
33
33
  _inherits(RainMesh, _Mesh);
34
34
  var _super = _createSuper(RainMesh);
35
- function RainMesh(option, sceneControl) {
35
+ function RainMesh(option) {
36
36
  var _this;
37
37
  _classCallCheck(this, RainMesh);
38
38
  _this = _super.call(this);
39
39
  _defineProperty(_assertThisInitialized(_this), "option", _defaultOption);
40
40
  _defineProperty(_assertThisInitialized(_this), "uniforms", {});
41
41
  _defineProperty(_assertThisInitialized(_this), "loaded", void 0);
42
- _defineProperty(_assertThisInitialized(_this), "sceneControl", void 0);
43
- _this.sceneControl = sceneControl;
44
42
  var group = new Group();
45
43
  var width = option.width,
46
44
  height = option.height;
@@ -187,13 +185,13 @@ var RainMesh = /*#__PURE__*/function (_Mesh) {
187
185
  }, {
188
186
  key: "update",
189
187
  value: function update() {
190
- var _use$useScene = use.useScene(this.sceneControl),
188
+ var _use$useScene = use.useScene(),
191
189
  camera = _use$useScene.camera;
192
190
  var _this$uniforms = this.uniforms,
193
191
  iTime = _this$uniforms.iTime,
194
192
  cameraPos = _this$uniforms.cameraPos;
195
- if (iTime) iTime.value += 0.1;
196
- if (cameraPos && camera) cameraPos.value = [camera.position.x, camera.position.y, camera.position.z];
193
+ iTime.value += 0.1;
194
+ cameraPos.value = [camera.position.x, camera.position.y, camera.position.z];
197
195
  }
198
196
  }, {
199
197
  key: "delete",
@@ -1 +1 @@
1
- {"version":3,"names":["Group","Mesh","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","use","RainShader","Rain_Panel","Snow_panle","textureLoader","_defaultOption","texture1","load","texture2rain","size","snowT1density","rainT1density","snowSpeed","cameraPos","rainSpeed","rainAngle","RainMesh","_Mesh","_inherits","_super","_createSuper","option","sceneControl","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","width","height","wrapS","wrapT","setUniforms","_objectSpread","iTime","createPlane","x","y","z","rotationX","rotationY","rotationZ","suiji","Math","random","geometry","material","uniforms","vertexShader","vertexShaderFar","fragmentShader","fragmentShaderFar","side","blending","transparent","depthWrite","depthTest","plane","renderOrder","position","set","rotation","createNearPlane","vertexShaderNear","fragmentShaderNear","count","distance","j","add","PI","material2d","vertexShader2d","fragmentShader2d","rain2dGeometry","rain2d","_createClass","key","value","_this2","Object","assign","keys","forEach","setSize","setSpeed","speed","setRain","scale","setSnow","setEffect","ops","_this3","update","_use$useScene","useScene","camera","_this$uniforms","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/plane.ts"],"sourcesContent":["import { Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, use } from '@anov/3d-core'\nimport type { SceneControl } from '@anov/3d-core'\nimport RainShader from '../../shaders/rain'\nimport type { IRainOption } from '../../utils/constant'\nimport { Rain_Panel, Snow_panle } from '../../utils/constant'\n\nconst textureLoader = new TextureLoader()\n\nconst _defaultOption: IRainOption = {\n texture1: textureLoader.load(Snow_panle),\n texture2rain: textureLoader.load(Rain_Panel),\n size: 5.0,\n snowT1density: 0.1,\n rainT1density: 0.1,\n snowSpeed: 1.0,\n cameraPos: [0, 500.0, 0],\n rainSpeed: 3.0,\n rainAngle: 0.0,\n}\n\nclass RainMesh extends Mesh {\n option: IRainOption = _defaultOption\n uniforms: any = {}\n loaded!: Promise<Boolean>\n sceneControl: SceneControl\n\n constructor(option: { width: number; height: number; segment: number }, sceneControl: SceneControl) {\n super()\n this.sceneControl = sceneControl\n const group = new Group()\n const { width, height } = option\n\n if (this.option.texture1)\n this.option.texture1.wrapS = this.option.texture1.wrapT = RepeatWrapping\n if (this.option.texture2rain)\n this.option.texture2rain.wrapS = this.option.texture2rain.wrapT = RepeatWrapping\n this.setUniforms({\n ...this.option,\n iTime: 0,\n })\n\n const createPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n const suiji = Math.random() * (width / 3)\n const geometry = new PlaneGeometry(width + suiji, height + suiji)\n const material = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: RainShader.vertexShaderFar,\n fragmentShader: RainShader.fragmentShaderFar,\n side: 2,\n blending: 2,\n transparent: true,\n depthWrite: false,\n depthTest: true,\n })\n\n const plane = new Mesh(geometry, material)\n plane.renderOrder = 10\n plane.position.set(x, y, z)\n plane.rotation.set(rotationX, rotationY, rotationZ)\n return plane\n }\n\n const createNearPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n const suiji = Math.random() * (width / 1)\n const geometry = new PlaneGeometry(width / 2 + suiji, height / 2 + suiji)\n const material = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: RainShader.vertexShaderNear,\n fragmentShader: RainShader.fragmentShaderNear,\n side: 2,\n blending: 2,\n transparent: true,\n depthWrite: true,\n depthTest: true,\n })\n\n const plane = new Mesh(geometry, material)\n plane.renderOrder = 10\n plane.position.set(x, y, z)\n plane.rotation.set(rotationX, rotationY, rotationZ)\n return plane\n }\n\n const count = 6\n const distance = 150\n for (let j = -count; j <= count; j++) {\n const plane = createPlane(0, 0, j * distance, 0, 0, 0)\n group.add(plane)\n }\n for (let j = -count; j <= count; j++) {\n const plane = createPlane(j * distance, 0, 0, 0, Math.PI / 2, 0)\n group.add(plane)\n }\n\n for (let j = -15; j <= 15; j++) {\n const plane = createNearPlane(0, 0, j * j * j * 1, 0, 0, 0)\n group.add(plane)\n }\n for (let j = -15; j <= 15; j++) {\n const plane = createNearPlane(j * j * j * 1, 0, 0, 0, Math.PI / 2, 0)\n group.add(plane)\n }\n\n const material2d = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: RainShader.vertexShader2d,\n fragmentShader: RainShader.fragmentShader2d,\n side: 2,\n transparent: true,\n depthWrite: false,\n })\n\n const rain2dGeometry = new PlaneGeometry(100, 100)\n const rain2d = new Mesh(rain2dGeometry, material2d)\n rain2d.renderOrder = 10\n group.add(rain2d)\n\n this.add(group)\n }\n\n private setUniforms(option: IRainOption) {\n Object.assign(this.option, option)\n\n Object.keys(option).forEach((key: string) => {\n this.uniforms[key] = { value: option[key] }\n })\n }\n\n public setSize(size: number) {\n this.setUniforms({ size })\n }\n\n public setSpeed(speed: number) {\n this.setUniforms({ snowSpeed: speed })\n }\n\n public setRain(scale: number) {\n this.setUniforms({ rainT1density: scale })\n }\n\n public setSnow(scale: number) {\n this.setUniforms({ snowT1density: scale })\n }\n\n public setEffect(ops: IRainOption) {\n const { size, snowT1density, rainT1density, snowSpeed } = ops\n Object.keys(ops).forEach((key: string) => {\n switch (key) {\n case 'size':\n this.setSize(size!)\n break\n case 'snowT1density':\n this.setSpeed(snowSpeed!)\n break\n case 'rainT1density':\n this.setRain(rainT1density!)\n break\n case 'snowSpeed':\n this.setSnow(snowT1density!)\n break\n }\n })\n }\n\n public update() {\n const { camera } = use.useScene(this.sceneControl)\n const { iTime, cameraPos } = this.uniforms\n if (iTime)\n iTime.value += 0.1\n if (cameraPos && camera)\n cameraPos.value = [camera.position.x, camera.position.y, camera.position.z]\n }\n\n delete() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default RainMesh"],"mappings":"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"}
1
+ {"version":3,"names":["Group","Mesh","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","use","RainShader","Rain_Panel","Snow_panle","textureLoader","_defaultOption","texture1","load","texture2rain","size","snowT1density","rainT1density","snowSpeed","cameraPos","rainSpeed","rainAngle","RainMesh","_Mesh","_inherits","_super","_createSuper","option","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","width","height","wrapS","wrapT","setUniforms","_objectSpread","iTime","createPlane","x","y","z","rotationX","rotationY","rotationZ","suiji","Math","random","geometry","material","uniforms","vertexShader","vertexShaderFar","fragmentShader","fragmentShaderFar","side","blending","transparent","depthWrite","depthTest","plane","renderOrder","position","set","rotation","createNearPlane","vertexShaderNear","fragmentShaderNear","count","distance","j","add","PI","material2d","vertexShader2d","fragmentShader2d","rain2dGeometry","rain2d","_createClass","key","value","_this2","Object","assign","keys","forEach","setSize","setSpeed","speed","setRain","scale","setSnow","setEffect","ops","_this3","update","_use$useScene","useScene","camera","_this$uniforms","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/plane.ts"],"sourcesContent":["import { Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, use } from '@anov/3d-core'\nimport RainShader from '../../shaders/rain'\nimport type { IRainOption } from '../../utils/constant'\nimport { Rain_Panel, Snow_panle } from '../../utils/constant'\n\nconst textureLoader = new TextureLoader()\n\nconst _defaultOption: IRainOption = {\n texture1: textureLoader.load(Snow_panle),\n texture2rain: textureLoader.load(Rain_Panel),\n size: 5.0,\n snowT1density: 0.1,\n rainT1density: 0.1,\n snowSpeed: 1.0,\n cameraPos: [0, 500.0, 0],\n rainSpeed: 3.0,\n rainAngle: 0.0,\n}\n\nclass RainMesh extends Mesh {\n option: IRainOption = _defaultOption\n uniforms: any = {}\n loaded!: Promise<Boolean>\n\n constructor(option: { width: number; height: number; segment: number }) {\n super()\n\n const group = new Group()\n const { width, height } = option\n\n if (this.option.texture1)\n this.option.texture1.wrapS = this.option.texture1.wrapT = RepeatWrapping\n if (this.option.texture2rain)\n this.option.texture2rain.wrapS = this.option.texture2rain.wrapT = RepeatWrapping\n this.setUniforms({\n ...this.option,\n iTime: 0,\n })\n\n const createPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n const suiji = Math.random() * (width / 3)\n const geometry = new PlaneGeometry(width + suiji, height + suiji)\n const material = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: RainShader.vertexShaderFar,\n fragmentShader: RainShader.fragmentShaderFar,\n side: 2,\n blending: 2,\n transparent: true,\n depthWrite: false,\n depthTest: true,\n })\n\n const plane = new Mesh(geometry, material)\n plane.renderOrder = 10\n plane.position.set(x, y, z)\n plane.rotation.set(rotationX, rotationY, rotationZ)\n return plane\n }\n\n const createNearPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n const suiji = Math.random() * (width / 1)\n const geometry = new PlaneGeometry(width / 2 + suiji, height / 2 + suiji)\n const material = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: RainShader.vertexShaderNear,\n fragmentShader: RainShader.fragmentShaderNear,\n side: 2,\n blending: 2,\n transparent: true,\n depthWrite: true,\n depthTest: true,\n })\n\n const plane = new Mesh(geometry, material)\n plane.renderOrder = 10\n plane.position.set(x, y, z)\n plane.rotation.set(rotationX, rotationY, rotationZ)\n return plane\n }\n\n const count = 6\n const distance = 150\n for (let j = -count; j <= count; j++) {\n const plane = createPlane(0, 0, j * distance, 0, 0, 0)\n group.add(plane)\n }\n for (let j = -count; j <= count; j++) {\n const plane = createPlane(j * distance, 0, 0, 0, Math.PI / 2, 0)\n group.add(plane)\n }\n\n for (let j = -15; j <= 15; j++) {\n const plane = createNearPlane(0, 0, j * j * j * 1, 0, 0, 0)\n group.add(plane)\n }\n for (let j = -15; j <= 15; j++) {\n const plane = createNearPlane(j * j * j * 1, 0, 0, 0, Math.PI / 2, 0)\n group.add(plane)\n }\n\n const material2d = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: RainShader.vertexShader2d,\n fragmentShader: RainShader.fragmentShader2d,\n side: 2,\n transparent: true,\n depthWrite: false,\n })\n\n const rain2dGeometry = new PlaneGeometry(100, 100)\n const rain2d = new Mesh(rain2dGeometry, material2d)\n rain2d.renderOrder = 10\n group.add(rain2d)\n\n this.add(group)\n }\n\n private setUniforms(option: IRainOption) {\n Object.assign(this.option, option)\n\n Object.keys(option).forEach((key: string) => {\n this.uniforms[key] = { value: option[key] }\n })\n }\n\n public setSize(size: number) {\n this.setUniforms({ size })\n }\n\n public setSpeed(speed: number) {\n this.setUniforms({ snowSpeed: speed })\n }\n\n public setRain(scale: number) {\n this.setUniforms({ rainT1density: scale })\n }\n\n public setSnow(scale: number) {\n this.setUniforms({ snowT1density: scale })\n }\n\n public setEffect(ops: IRainOption) {\n const { size, snowT1density, rainT1density, snowSpeed } = ops\n Object.keys(ops).forEach((key: string) => {\n switch (key) {\n case 'size':\n this.setSize(size!)\n break\n case 'snowT1density':\n this.setSpeed(snowSpeed!)\n break\n case 'rainT1density':\n this.setRain(rainT1density!)\n break\n case 'snowSpeed':\n this.setSnow(snowT1density!)\n break\n }\n })\n }\n\n public update() {\n const { camera } = use.useScene()\n const { iTime, cameraPos } = this.uniforms\n iTime.value += 0.1\n cameraPos.value = [camera.position.x, camera.position.y, camera.position.z]\n }\n\n delete() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default RainMesh"],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import { Points } from '@anov/3d-core';
2
- import type { SceneControl } from '@anov/3d-core';
3
2
  import type { ISnowOption } from '../../utils/constant';
4
3
  declare class SnowMesh extends Points {
5
4
  option: ISnowOption;
6
- sceneControl: SceneControl;
7
- constructor(opt: ISnowOption, sceneControl: SceneControl);
5
+ constructor(opt?: ISnowOption);
8
6
  private getPointGeometry;
9
7
  setIcon(icon: string): void;
10
8
  setSize(size: number): void;
@@ -34,12 +34,9 @@ var SnowMesh = /*#__PURE__*/function (_Points) {
34
34
  function SnowMesh() {
35
35
  var _this;
36
36
  var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
37
- var sceneControl = arguments.length > 1 ? arguments[1] : undefined;
38
37
  _classCallCheck(this, SnowMesh);
39
38
  _this = _super.call(this);
40
39
  _defineProperty(_assertThisInitialized(_this), "option", _defaultOption);
41
- _defineProperty(_assertThisInitialized(_this), "sceneControl", void 0);
42
- _this.sceneControl = sceneControl;
43
40
  Object.assign(_this.option, opt);
44
41
  var _this$option = _this.option,
45
42
  range = _this$option.range,
@@ -1 +1 @@
1
- {"version":3,"names":["BufferGeometry","Float32BufferAttribute","Points","PointsMaterial","TextureLoader","Snow_Icon","_defaultOption","range","count","opacity","icon","size","speed","SnowMesh","_Points","_inherits","_super","_createSuper","_this","opt","arguments","length","undefined","sceneControl","_classCallCheck","call","_defineProperty","_assertThisInitialized","Object","assign","option","_this$option","material","map","load","transparent","depthTest","geometry","getPointGeometry","renderOrder","_createClass","key","value","bufferGeometry","vertices","i","push","Math","random","setAttribute","setIcon","setSize","setCount","setRange","setSpeed","setEffect","ops","_this2","keys","forEach","stop","visible","_continue","update","positions","attributes","position","array","_this$option2","_ref","_ref2","_slicedToArray","x","y","z","needsUpdate","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/point.ts"],"sourcesContent":["import { BufferGeometry, Float32BufferAttribute, Points, PointsMaterial, ShaderMaterial, TextureLoader, Vector3, use } from '@anov/3d-core'\nimport type { SceneControl } from '@anov/3d-core'\nimport type { ISnowOption } from '../../utils/constant'\nimport { Snow_Icon } from '../../utils/constant'\n\nconst _defaultOption: ISnowOption = {\n range: 1000,\n count: 10000,\n opacity: 0.6,\n icon: Snow_Icon,\n size: 10,\n speed: [0, 2, 0],\n}\n\nclass SnowMesh extends Points {\n option: ISnowOption = _defaultOption\n sceneControl: SceneControl\n\n constructor(opt: ISnowOption = {}, sceneControl: SceneControl) {\n super()\n this.sceneControl = sceneControl\n Object.assign(this.option, opt)\n\n const { range, count, size, icon, opacity } = this.option\n const material = new PointsMaterial({\n size,\n map: new TextureLoader().load(icon!),\n transparent: true,\n opacity,\n depthTest: false,\n })\n\n this.geometry = this.getPointGeometry(count!, range!)\n this.material = material\n\n this.renderOrder = 1\n }\n\n private getPointGeometry(count: number, range: number) {\n const bufferGeometry = new BufferGeometry()\n const vertices = []\n\n for (let i = 0; i < count!; i++) {\n vertices.push(\n Math.random() * range! - range! / 2,\n Math.random() * range!,\n Math.random() * range! - range! / 2,\n )\n }\n bufferGeometry.setAttribute('position', new Float32BufferAttribute(vertices, 3))\n return bufferGeometry\n }\n\n setIcon(icon: string) {\n this.option.icon = icon;\n (this.material as PointsMaterial).map = new TextureLoader().load(icon)\n }\n\n setSize(size: number) {\n this.option.size = size;\n (this.material as PointsMaterial).size = size\n }\n\n setCount(count: number) {\n this.option.count = count\n this.geometry = this.getPointGeometry(count!, this.option.range!)\n }\n\n setRange(range: number) {\n this.option.range = range\n this.geometry = this.getPointGeometry(this.option.count!, range!)\n }\n\n setSpeed(speed: number | number[]) {\n if (typeof speed === 'number')\n this.option.speed = [0, speed, 0]\n else\n this.option.speed = speed\n }\n\n public setEffect(ops: ISnowOption) {\n const { icon, size, count, speed, range } = ops\n Object.keys(ops).forEach((key: string) => {\n switch (key) {\n case 'icon':\n this.setIcon(icon!)\n break\n case 'size':\n this.setSize(size!)\n break\n case 'range':\n this.setRange(range!)\n break\n case 'count':\n this.setCount(count!)\n break\n case 'speed':\n this.setSpeed(speed!)\n break\n }\n })\n }\n\n stop() {\n this.visible = false\n }\n\n continue() {\n this.visible = true\n }\n\n update() {\n const positions = this.geometry.attributes.position.array\n\n const { speed, range } = this.option\n const [x, y, z] = speed!\n\n for (let i = 0; i < positions.length; i += 3) {\n positions[i] += x\n positions[i + 1] -= y\n positions[i + 2] += z\n\n if (positions[i + 1] <= range! / -2)\n positions[i + 1] = range! / 2\n }\n\n this.geometry.attributes.position.needsUpdate = true\n }\n\n delete() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default SnowMesh"],"mappings":"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"}
1
+ {"version":3,"names":["BufferGeometry","Float32BufferAttribute","Points","PointsMaterial","TextureLoader","Snow_Icon","_defaultOption","range","count","opacity","icon","size","speed","SnowMesh","_Points","_inherits","_super","_createSuper","_this","opt","arguments","length","undefined","_classCallCheck","call","_defineProperty","_assertThisInitialized","Object","assign","option","_this$option","material","map","load","transparent","depthTest","geometry","getPointGeometry","renderOrder","_createClass","key","value","bufferGeometry","vertices","i","push","Math","random","setAttribute","setIcon","setSize","setCount","setRange","setSpeed","setEffect","ops","_this2","keys","forEach","stop","visible","_continue","update","positions","attributes","position","array","_this$option2","_ref","_ref2","_slicedToArray","x","y","z","needsUpdate","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/point.ts"],"sourcesContent":["import { BufferGeometry, Float32BufferAttribute, Points, PointsMaterial, ShaderMaterial, TextureLoader, Vector3, use } from '@anov/3d-core'\nimport type { ISnowOption } from '../../utils/constant'\nimport { Snow_Icon } from '../../utils/constant'\n\nconst _defaultOption: ISnowOption = {\n range: 1000,\n count: 10000,\n opacity: 0.6,\n icon: Snow_Icon,\n size: 10,\n speed: [0, 2, 0],\n}\n\nclass SnowMesh extends Points {\n option: ISnowOption = _defaultOption\n\n constructor(opt: ISnowOption = {}) {\n super()\n Object.assign(this.option, opt)\n\n const { range, count, size, icon, opacity } = this.option\n const material = new PointsMaterial({\n size,\n map: new TextureLoader().load(icon!),\n transparent: true,\n opacity,\n depthTest: false,\n })\n\n this.geometry = this.getPointGeometry(count!, range!)\n this.material = material\n\n this.renderOrder = 1\n }\n\n private getPointGeometry(count: number, range: number) {\n const bufferGeometry = new BufferGeometry()\n const vertices = []\n\n for (let i = 0; i < count!; i++) {\n vertices.push(\n Math.random() * range! - range! / 2,\n Math.random() * range!,\n Math.random() * range! - range! / 2,\n )\n }\n bufferGeometry.setAttribute('position', new Float32BufferAttribute(vertices, 3))\n return bufferGeometry\n }\n\n setIcon(icon: string) {\n this.option.icon = icon;\n (this.material as PointsMaterial).map = new TextureLoader().load(icon)\n }\n\n setSize(size: number) {\n this.option.size = size;\n (this.material as PointsMaterial).size = size\n }\n\n setCount(count: number) {\n this.option.count = count\n this.geometry = this.getPointGeometry(count!, this.option.range!)\n }\n\n setRange(range: number) {\n this.option.range = range\n this.geometry = this.getPointGeometry(this.option.count!, range!)\n }\n\n setSpeed(speed: number | number[]) {\n if (typeof speed === 'number')\n this.option.speed = [0, speed, 0]\n else\n this.option.speed = speed\n }\n\n public setEffect(ops: ISnowOption) {\n const { icon, size, count, speed, range } = ops\n Object.keys(ops).forEach((key: string) => {\n switch (key) {\n case 'icon':\n this.setIcon(icon!)\n break\n case 'size':\n this.setSize(size!)\n break\n case 'range':\n this.setRange(range!)\n break\n case 'count':\n this.setCount(count!)\n break\n case 'speed':\n this.setSpeed(speed!)\n break\n }\n })\n }\n\n stop() {\n this.visible = false\n }\n\n continue() {\n this.visible = true\n }\n\n update() {\n const positions = this.geometry.attributes.position.array\n\n const { speed, range } = this.option\n const [x, y, z] = speed!\n\n for (let i = 0; i < positions.length; i += 3) {\n positions[i] += x\n positions[i + 1] -= y\n positions[i + 2] += z\n\n if (positions[i + 1] <= range! / -2)\n positions[i + 1] = range! / 2\n }\n\n this.geometry.attributes.position.needsUpdate = true\n }\n\n delete() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default SnowMesh"],"mappings":"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"}
@@ -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 { DirectionalLight, 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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"}
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":"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"}