@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.
- package/dist/business/Animation/motion/index.js +35 -56
- package/dist/business/Animation/motion/index.js.map +1 -1
- package/dist/business/Animation/type.js +2 -2
- package/dist/business/Area/Fence/FenceBase.js +146 -187
- package/dist/business/Area/Fence/FenceBase.js.map +1 -1
- package/dist/business/Area/Fence/fence_base_01.js +120 -112
- package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
- package/dist/business/Area/Fence/fence_feeting_01.js +218 -130
- package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
- package/dist/business/Area/Fence/fence_roll_01.js +140 -130
- package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
- package/dist/business/Area/FillArea/FillAreaBase.js +87 -126
- package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
- package/dist/business/Area/FillArea/fillArea_face_01.js +72 -98
- package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
- package/dist/business/Area/FillArea/fillArea_line_01.js +66 -94
- package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
- package/dist/business/Area/index.js +267 -483
- package/dist/business/Area/index.js.map +1 -1
- package/dist/business/Area/tool.js +14 -26
- package/dist/business/Area/tool.js.map +1 -1
- package/dist/business/Base/ObjectLayer.js +21 -46
- package/dist/business/Base/ObjectLayer.js.map +1 -1
- package/dist/business/Batch/index.js +189 -234
- package/dist/business/Batch/index.js.map +1 -1
- package/dist/business/Box/index.js +52 -81
- package/dist/business/Box/index.js.map +1 -1
- package/dist/business/Cylinder/index.js +51 -79
- package/dist/business/Cylinder/index.js.map +1 -1
- package/dist/business/Flyline/bubble/CircleBubble.js +1 -9
- package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
- package/dist/business/Flyline/bubble/index.js +7 -21
- package/dist/business/Flyline/bubble/index.js.map +1 -1
- package/dist/business/Flyline/index.js +96 -162
- package/dist/business/Flyline/index.js.map +1 -1
- package/dist/business/Flyline/line/ArcLine.js +208 -291
- package/dist/business/Flyline/line/ArcLine.js.map +1 -1
- package/dist/business/Flyline/line/index.js +8 -22
- package/dist/business/Flyline/line/index.js.map +1 -1
- package/dist/business/HeatMap/HeatMap.js +380 -467
- package/dist/business/HeatMap/HeatMap.js.map +1 -1
- package/dist/business/HeatMap/core.js +405 -525
- package/dist/business/HeatMap/core.js.map +1 -1
- package/dist/business/HeatMap/shader.js +69 -3
- package/dist/business/HeatMap/shader.js.map +1 -1
- package/dist/business/InfoPanel/index.js +201 -242
- package/dist/business/InfoPanel/index.js.map +1 -1
- package/dist/business/Line/index.js +55 -88
- package/dist/business/Line/index.js.map +1 -1
- package/dist/business/Mark/KeyframeAnimation.js +145 -176
- package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
- package/dist/business/Mark/index.js +196 -294
- package/dist/business/Mark/index.js.map +1 -1
- package/dist/business/Mark/shader/tanhao.js +36 -3
- package/dist/business/Mark/shader/tanhao.js.map +1 -1
- package/dist/business/Mark/type.js +1 -1
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +377 -551
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
- package/dist/business/MaterialSwitch/inject.js +92 -58
- package/dist/business/MaterialSwitch/inject.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/finalFade.js +74 -2
- package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/ground.js +95 -16
- package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/groundBase64.js +9 -3
- package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/realFade.js +48 -9
- package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
- package/dist/business/Plane/index.js +51 -78
- package/dist/business/Plane/index.js.map +1 -1
- package/dist/business/Poi/index.d.ts +5 -0
- package/dist/business/Poi/index.js +256 -295
- package/dist/business/Poi/index.js.map +1 -1
- package/dist/business/Poi/link/Cylinder.js +56 -89
- package/dist/business/Poi/link/Cylinder.js.map +1 -1
- package/dist/business/Poi/link/Pyramid.js +104 -165
- package/dist/business/Poi/link/Pyramid.js.map +1 -1
- package/dist/business/Poi/link/index.d.ts +1 -1
- package/dist/business/Poi/link/index.js +54 -114
- package/dist/business/Poi/link/index.js.map +1 -1
- package/dist/business/Poi/panel/index.d.ts +124 -0
- package/dist/business/Poi/panel/index.js +474 -0
- package/dist/business/Poi/panel/index.js.map +1 -0
- package/dist/business/Poi/panel/interfaces.d.ts +67 -0
- package/dist/business/Poi/panel/interfaces.js +2 -0
- package/dist/business/Poi/panel/interfaces.js.map +1 -0
- package/dist/business/Poi/panel/utils.d.ts +72 -0
- package/dist/business/Poi/panel/utils.js +126 -0
- package/dist/business/Poi/panel/utils.js.map +1 -0
- package/dist/business/Poi/particle/DoubleCircle.js +71 -107
- package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
- package/dist/business/Poi/particle/DynamicCircle.js +75 -111
- package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
- package/dist/business/Poi/particle/SingleCircle.js +62 -98
- package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
- package/dist/business/Poi/particle/index.js +49 -117
- package/dist/business/Poi/particle/index.js.map +1 -1
- package/dist/business/Poi/shader/circle.js +31 -3
- package/dist/business/Poi/shader/circle.js.map +1 -1
- package/dist/business/Poi/shader/cylinder.js +37 -3
- package/dist/business/Poi/shader/cylinder.js.map +1 -1
- package/dist/business/Poi/shader/doubleCircle.js +55 -3
- package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
- package/dist/business/Poi/shader/dynamicCircle.js +67 -3
- package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
- package/dist/business/Poi/title/Border.js +7 -27
- package/dist/business/Poi/title/Border.js.map +1 -1
- package/dist/business/Poi/title/Ellipse.js +7 -27
- package/dist/business/Poi/title/Ellipse.js.map +1 -1
- package/dist/business/Poi/title/index.js +208 -292
- package/dist/business/Poi/title/index.js.map +1 -1
- package/dist/business/Poi/tools.js +22 -19
- package/dist/business/Poi/tools.js.map +1 -1
- package/dist/business/Poi/types.d.ts +3 -0
- package/dist/business/Poi/types.js.map +1 -1
- package/dist/business/Sphere/index.js +47 -72
- package/dist/business/Sphere/index.js.map +1 -1
- package/dist/business/Spline/index.js +190 -245
- package/dist/business/Spline/index.js.map +1 -1
- package/dist/business/SplitBuilding/index.js +327 -536
- package/dist/business/SplitBuilding/index.js.map +1 -1
- package/dist/business/SplitBuilding/type.js +2 -2
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +218 -275
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +132 -177
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +51 -1
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +6 -1
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
- package/dist/business/TrafficComponents/base.js +32 -55
- package/dist/business/TrafficComponents/base.js.map +1 -1
- package/dist/business/TrafficComponents/utils.js +25 -24
- package/dist/business/TrafficComponents/utils.js.map +1 -1
- package/dist/business/Utils/Curve.js +40 -56
- package/dist/business/Utils/Curve.js.map +1 -1
- package/dist/business/Utils/constant.js +1 -1
- package/dist/business/Utils/constant.js.map +1 -1
- package/dist/business/Utils/defineProps.js +13 -14
- package/dist/business/Utils/defineProps.js.map +1 -1
- package/dist/business/Utils/round-curve.js +127 -153
- package/dist/business/Utils/round-curve.js.map +1 -1
- package/dist/business/VideoPanel/index.js +258 -319
- package/dist/business/VideoPanel/index.js.map +1 -1
- package/dist/business/Water/index.js +78 -108
- package/dist/business/Water/index.js.map +1 -1
- package/dist/business/Water/types.js +1 -1
- package/dist/business/Water/types.js.map +1 -1
- package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +383 -449
- package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
- package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +107 -142
- package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
- package/dist/core/Controls/FirstViewControl/index.js +84 -96
- package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/action/input.js +77 -98
- package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
- package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/index.js +19 -28
- package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/animation.js +126 -155
- package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/camera.js +47 -63
- package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/control.js +39 -49
- package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player.js +66 -91
- package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
- package/dist/core/Controls/base.js +14 -30
- package/dist/core/Controls/base.js.map +1 -1
- package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +92 -131
- package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
- package/dist/core/Debug/PerformanceInfo/Performance.js +22 -47
- package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
- package/dist/core/Light/PointLight/PointLightExt.js +4 -21
- package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
- package/dist/core/Material/FinirMaterial/FinirMaterial.js +37 -57
- package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +116 -153
- package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/shader/fragment.js +95 -1
- package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/shader/vertex.js +26 -1
- package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
- package/dist/core/Material/SurfaceMaterial/index.js +76 -172
- package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
- package/dist/core/Material/decorators.js +6 -11
- package/dist/core/Material/decorators.js.map +1 -1
- package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +16 -12
- package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
- package/dist/core/PostEffects/addBrightnessContrastPass.js +17 -13
- package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
- package/dist/core/PostEffects/bloomPass.js +17 -10
- package/dist/core/PostEffects/bloomPass.js.map +1 -1
- package/dist/core/PostEffects/bloomSelect.js +60 -43
- package/dist/core/PostEffects/bloomSelect.js.map +1 -1
- package/dist/core/PostEffects/colorifyPass.js +17 -13
- package/dist/core/PostEffects/colorifyPass.js.map +1 -1
- package/dist/core/PostEffects/index.js +28 -22
- package/dist/core/PostEffects/index.js.map +1 -1
- package/dist/core/PostEffects/outlinePass.js +37 -50
- package/dist/core/PostEffects/outlinePass.js.map +1 -1
- package/dist/core/PostEffects/postprocessing.js +14 -12
- package/dist/core/PostEffects/postprocessing.js.map +1 -1
- package/dist/core/PostEffects/saoPass.js +15 -10
- package/dist/core/PostEffects/saoPass.js.map +1 -1
- package/dist/core/PostEffects/shader/colorify.js +22 -3
- package/dist/core/PostEffects/shader/colorify.js.map +1 -1
- package/dist/core/PostEffects/shader/gammaCorrectionShader.js +27 -3
- package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
- package/dist/core/PostEffects/shader/mapping.js +66 -3
- package/dist/core/PostEffects/shader/mapping.js.map +1 -1
- package/dist/core/PostEffects/shader/thermalMaging.js +28 -3
- package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
- package/dist/core/SceneEffect/grow/grow.js +85 -101
- package/dist/core/SceneEffect/grow/grow.js.map +1 -1
- package/dist/core/SceneEffect/grow/style_down.js +60 -77
- package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
- package/dist/core/SceneEffect/grow/style_up.js +64 -81
- package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
- package/dist/core/SceneEffect/grow/type.js +2 -2
- package/dist/core/SceneEffect/grow/type.js.map +1 -1
- package/dist/core/WeatherSystem/DynamicWeatherSystem.js +51 -76
- package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
- package/dist/core/WeatherSystem/hdr/index.js +69 -105
- package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
- package/dist/core/WeatherSystem/index.js +77 -124
- package/dist/core/WeatherSystem/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/fog/index.js +52 -80
- package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/index.js +72 -84
- package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/lineRain.js +88 -118
- package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/plane.js +116 -146
- package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/point.js +100 -148
- package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/cloud.js +71 -104
- package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/index.js +66 -84
- package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/outline.js +25 -45
- package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/cloud.js +74 -3
- package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/fog.js +103 -3
- package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/rain.js +206 -7
- package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/sky.js +87 -3
- package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
- package/dist/core/WeatherSystem/sky/index.js +104 -135
- package/dist/core/WeatherSystem/sky/index.js.map +1 -1
- package/dist/core/WeatherSystem/utils/constant.js +44 -38
- package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
- package/dist/core/WeatherSystem/utils/math.js +18 -25
- package/dist/core/WeatherSystem/utils/math.js.map +1 -1
- package/dist/core/WeatherSystem/utils/type.js +1 -1
- package/dist/core/WeatherSystem/utils/type.js.map +1 -1
- package/dist/core/WeatherSystem/weather/index.js +96 -141
- package/dist/core/WeatherSystem/weather/index.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object3D","Vector3","use","EWeatherType","SkySystem","WeatherSystem","WeatherLayer","handleTimeString","DynamicWeatherSystem","
|
|
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" ==
|
|
17
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
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
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
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" ==
|
|
17
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
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
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
26
|
+
this._dynamicWeatherSystem = new DynamicWeatherSystem();
|
|
27
|
+
this.add(this._dynamicWeatherSystem);
|
|
28
|
+
this._currentSky = this._dynamicWeatherSystem;
|
|
46
29
|
}
|
|
47
|
-
return _this;
|
|
48
30
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
136
|
-
|
|
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
|