@anov/3d-ability 0.0.28 → 0.0.30
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/camera/index.d.ts +1 -1
- package/dist/camera/index.js +3 -3
- package/dist/camera/index.js.map +1 -1
- package/dist/common/IconStyle.d.ts +4 -4
- package/dist/common/IconStyle.js +3 -3
- package/dist/common/IconStyle.js.map +1 -1
- package/dist/common/ImageStyle.d.ts +3 -3
- package/dist/common/ImageStyle.js +3 -3
- package/dist/common/ImageStyle.js.map +1 -1
- package/dist/common/LabelStyle.d.ts +5 -5
- package/dist/common/LabelStyle.js +3 -3
- package/dist/common/LabelStyle.js.map +1 -1
- package/dist/common/component.d.ts +3 -2
- package/dist/common/component.js +8 -6
- package/dist/common/component.js.map +1 -1
- package/dist/common/constant.d.ts +9 -3
- package/dist/common/constant.js +5 -4
- package/dist/common/constant.js.map +1 -1
- package/dist/controls/base.js +3 -3
- package/dist/controls/base.js.map +1 -1
- package/dist/controls/src/FirstViewControl.js +3 -3
- package/dist/controls/src/FirstViewControl.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/action/input.js +3 -3
- package/dist/controls/src/ThirdViewControl/action/input.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/index.js +3 -3
- package/dist/controls/src/ThirdViewControl/index.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player/animation.d.ts +2 -2
- package/dist/controls/src/ThirdViewControl/player/animation.js +4 -4
- package/dist/controls/src/ThirdViewControl/player/animation.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player/camera.js +3 -3
- package/dist/controls/src/ThirdViewControl/player/camera.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player/control.js +3 -3
- package/dist/controls/src/ThirdViewControl/player/control.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player.js +6 -6
- package/dist/controls/src/ThirdViewControl/player.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/type.d.ts +1 -1
- package/dist/environment/rain.d.ts +1 -1
- package/dist/environment/rain.js.map +1 -1
- package/dist/environment/rainShader/index.js +3 -3
- package/dist/environment/rainShader/index.js.map +1 -1
- package/dist/environment/rainShader/shader.d.ts +2 -2
- package/dist/environment/shaderCloud/cloudMaterial.d.ts +1 -1
- package/dist/environment/shaderCloud/cloudMaterial.js +3 -3
- package/dist/environment/shaderCloud/cloudMaterial.js.map +1 -1
- package/dist/environment/shaderCloud/index.js.map +1 -1
- package/dist/environment/showShader/index.js +3 -3
- package/dist/environment/showShader/index.js.map +1 -1
- package/dist/environment/showShader/shader.d.ts +2 -2
- package/dist/environment/sky/index.js +1 -1
- package/dist/environment/sky/index.js.map +1 -1
- package/dist/environment/skyBox/index.d.ts +1 -1
- package/dist/environment/skyBox/index.js +13 -14
- package/dist/environment/skyBox/index.js.map +1 -1
- package/dist/environment/skyv2/config.d.ts +2 -2
- package/dist/environment/skyv2/config.js.map +1 -1
- package/dist/environment/skyv2/index.js +4 -4
- package/dist/environment/skyv2/index.js.map +1 -1
- package/dist/environment/snow.d.ts +1 -1
- package/dist/environment/snow.js.map +1 -1
- package/dist/environment/sun/index.d.ts +4 -1
- package/dist/environment/sun/index.js.map +1 -1
- package/dist/environment/utils/points.d.ts +1 -1
- package/dist/environment/utils/points.js +3 -3
- package/dist/environment/utils/points.js.map +1 -1
- package/dist/environment/volumetricCloud/cloudMaterial.js.map +1 -1
- package/dist/environment/volumetricCloud/inex.js +3 -3
- package/dist/environment/volumetricCloud/inex.js.map +1 -1
- package/dist/heatmap/index.js +4 -4
- package/dist/heatmap/index.js.map +1 -1
- package/dist/helper/view/index.d.ts +2 -2
- package/dist/helper/view/index.js +4 -5
- package/dist/helper/view/index.js.map +1 -1
- package/dist/helper/view/utils.js +1 -1
- package/dist/helper/view/utils.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/line/curve.d.ts +2 -2
- package/dist/line/curve.js +3 -3
- package/dist/line/curve.js.map +1 -1
- package/dist/line/index.d.ts +16 -0
- package/dist/line/index.js +62 -1
- package/dist/line/index.js.map +1 -1
- package/dist/line/round-curve.d.ts +1 -1
- package/dist/line/round-curve.js +5 -5
- package/dist/line/round-curve.js.map +1 -1
- package/dist/material/fakeGlowMaterial/index.js +3 -3
- package/dist/material/fakeGlowMaterial/index.js.map +1 -1
- package/dist/material/finirMaterialMaterial/index.d.ts +1 -1
- package/dist/material/finirMaterialMaterial/index.js +3 -3
- package/dist/material/finirMaterialMaterial/index.js.map +1 -1
- package/dist/material/pristineGridMaterial/index.d.ts +1 -1
- package/dist/material/pristineGridMaterial/index.js +3 -3
- package/dist/material/pristineGridMaterial/index.js.map +1 -1
- package/dist/poi/Poi.d.ts +10 -6
- package/dist/poi/Poi.js +52 -35
- package/dist/poi/Poi.js.map +1 -1
- package/dist/poi/{2D → disable/2D}/index.js +5 -6
- package/dist/poi/disable/2D/index.js.map +1 -0
- package/dist/poi/{3D → disable/3D}/index.js +6 -6
- package/dist/poi/disable/3D/index.js.map +1 -0
- package/dist/poi/{3D → disable/3D}/index1.d.ts +3 -3
- package/dist/poi/{3D → disable/3D}/index1.js +7 -6
- package/dist/poi/disable/3D/index1.js.map +1 -0
- package/dist/poi/disable/3D/type.js +6 -0
- package/dist/poi/disable/3D/type.js.map +1 -0
- package/dist/poi/{Base.js → disable/Base.js} +3 -3
- package/dist/poi/disable/Base.js.map +1 -0
- package/dist/poi/{Sprite → disable/Sprite}/index.js +6 -6
- package/dist/poi/disable/Sprite/index.js.map +1 -0
- package/dist/poi/disable/Sprite/index2.js +188 -0
- package/dist/poi/disable/Sprite/index2.js.map +1 -0
- package/dist/poi/disable/utils/canvas.js +68 -0
- package/dist/poi/disable/utils/canvas.js.map +1 -0
- package/dist/poi/{utils → disable/utils}/element.js +5 -6
- package/dist/poi/disable/utils/element.js.map +1 -0
- package/dist/poi/{utils → disable/utils}/type.d.ts +3 -3
- package/dist/poi/{utils → disable/utils}/type.js +3 -3
- package/dist/poi/disable/utils/type.js.map +1 -0
- package/dist/poi/index.d.ts +6 -5
- package/dist/poi/index.js +6 -5
- package/dist/poi/index.js.map +1 -1
- package/dist/poi/plane/index.d.ts +21 -0
- package/dist/poi/plane/index.js +127 -0
- package/dist/poi/plane/index.js.map +1 -0
- package/dist/postEffects/addACESFilmicToneMappingPass.js.map +1 -1
- package/dist/postEffects/addBrightnessContrastPass.js.map +1 -1
- package/dist/postEffects/bloomPass.d.ts +1 -1
- package/dist/postEffects/bloomPass.js.map +1 -1
- package/dist/postEffects/bloomSelect.d.ts +1 -1
- package/dist/postEffects/bloomSelect.js.map +1 -1
- package/dist/postEffects/colorifyPass.js.map +1 -1
- package/dist/postEffects/index.d.ts +1 -1
- package/dist/postEffects/index.js.map +1 -1
- package/dist/postEffects/outlinePass.d.ts +1 -1
- package/dist/postEffects/outlinePass.js +5 -5
- package/dist/postEffects/outlinePass.js.map +1 -1
- package/dist/postEffects/postprocessing.js.map +1 -1
- package/dist/postEffects/saoPass.js.map +1 -1
- package/dist/postEffects/shader/colorify.d.ts +1 -1
- package/dist/postEffects/shader/gammaCorrectionShader.d.ts +1 -1
- package/dist/postEffects/shader/mapping.d.ts +1 -1
- package/dist/postEffects/shader/thermalMaging.d.ts +1 -1
- package/dist/scene/grow/grow.js +3 -4
- package/dist/scene/grow/grow.js.map +1 -1
- package/dist/scene/grow/style_down.js +3 -3
- package/dist/scene/grow/style_down.js.map +1 -1
- package/dist/scene/grow/style_up.js +3 -3
- package/dist/scene/grow/style_up.js.map +1 -1
- package/dist/scene/grow/type.js +5 -5
- package/dist/scene/grow/type.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/weather/index.js +12 -11
- package/dist/weather/index.js.map +1 -1
- package/dist/weather/objects/CloudMesh.js +5 -5
- package/dist/weather/objects/CloudMesh.js.map +1 -1
- package/dist/weather/objects/Fog2DMesh.js +5 -5
- package/dist/weather/objects/Fog2DMesh.js.map +1 -1
- package/dist/weather/objects/RainMesh.js +5 -5
- package/dist/weather/objects/RainMesh.js.map +1 -1
- package/dist/weather/objects/SkyMesh.js +3 -3
- package/dist/weather/objects/SkyMesh.js.map +1 -1
- package/dist/weather/objects/SnowMesh.js +4 -4
- package/dist/weather/objects/SnowMesh.js.map +1 -1
- package/dist/weather/shaders/RainPlane.d.ts +2 -2
- package/dist/weather/shaders/cloud.d.ts +2 -2
- package/dist/weather/shaders/snow.d.ts +2 -2
- package/dist/weather/utils/constant.d.ts +1 -1
- package/dist/weather/utils/constant.js +9 -10
- package/dist/weather/utils/constant.js.map +1 -1
- package/dist/widget/icon.js +3 -3
- package/dist/widget/icon.js.map +1 -1
- package/dist/widget/image.js +3 -3
- package/dist/widget/image.js.map +1 -1
- package/dist/widget/label.js +5 -5
- package/dist/widget/label.js.map +1 -1
- package/package.json +4 -5
- package/dist/poi/2D/index.js.map +0 -1
- package/dist/poi/3D/index.js.map +0 -1
- package/dist/poi/3D/index1.js.map +0 -1
- package/dist/poi/3D/type.js +0 -6
- package/dist/poi/3D/type.js.map +0 -1
- package/dist/poi/Base.js.map +0 -1
- package/dist/poi/Sprite/index.js.map +0 -1
- package/dist/poi/Sprite/index2.js +0 -184
- package/dist/poi/Sprite/index2.js.map +0 -1
- package/dist/poi/utils/canvas.js +0 -68
- package/dist/poi/utils/canvas.js.map +0 -1
- package/dist/poi/utils/element.js.map +0 -1
- package/dist/poi/utils/type.js.map +0 -1
- /package/dist/poi/{2D → disable/2D}/index.d.ts +0 -0
- /package/dist/poi/{3D → disable/3D}/index.d.ts +0 -0
- /package/dist/poi/{3D → disable/3D}/type.d.ts +0 -0
- /package/dist/poi/{Base.d.ts → disable/Base.d.ts} +0 -0
- /package/dist/poi/{Sprite → disable/Sprite}/index.d.ts +0 -0
- /package/dist/poi/{Sprite → disable/Sprite}/index2.d.ts +0 -0
- /package/dist/poi/{utils → disable/utils}/canvas.d.ts +0 -0
- /package/dist/poi/{utils → disable/utils}/element.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Mesh","PlaneGeometry","ShaderMaterial","Vector2","use","snowShader","Snow","initGeometry","useScene","scene","camera","Error","geometry","uniforms","iResolution","
|
|
1
|
+
{"version":3,"names":["Mesh","PlaneGeometry","ShaderMaterial","Vector2","use","snowShader","Snow","_classCallCheck","_defineProperty","initGeometry","_createClass","key","value","_this","_use$useScene","useScene","scene","camera","Error","geometry","uniforms","iResolution","window","innerWidth","innerHeight","material","side","transparent","depthTest","blending","vertexShader","fragmentShader","i","mesh","position","z","scale","x","Math","random","y","add","meshes","push","useframe","iTime","snowSpeed","forEach","lookAt","stop","visible","_continue"],"sources":["../../../src/environment/showShader/index.ts"],"sourcesContent":["import { Mesh, PlaneGeometry, ShaderMaterial, Vector2, use } from '@anov/3d-core'\nimport snowShader from './shader'\n\n// todo: merge rain\nclass Snow {\n private meshes: Mesh[] = []\n\n constructor() {\n this.initGeometry()\n }\n\n private initGeometry() {\n const { scene, camera } = use.useScene()\n\n if (!scene && !camera)\n throw new Error('please init scene and camera first')\n\n const geometry = new PlaneGeometry(10000, 10000)\n\n // @ts-ignore\n snowShader.uniforms.iResolution.value = new Vector2(window.innerWidth, window.innerHeight)\n\n const material = new ShaderMaterial({\n uniforms: snowShader.uniforms,\n side: 2,\n transparent: true,\n depthTest: false,\n blending: 2,\n vertexShader: snowShader.vertexShader,\n fragmentShader: snowShader.fragmentShader,\n })\n\n for (let i = 0; i < 10; i++) {\n const mesh = new Mesh(geometry, material)\n // const mesh = new Mesh(geometry, new MeshBasicMaterial({ color: new Color(Math.random() * 0xFFFFFF) }))\n mesh.position.z = -10000 + i * 1000\n mesh.scale.x = Math.random() * 0.5 + 1\n mesh.scale.y = Math.random() * 0.5 + 1\n\n scene!.add(mesh)\n\n this.meshes.push(mesh)\n }\n\n use.useframe(() => {\n snowShader.uniforms.iTime.value += 0.01\n snowShader.uniforms.snowSpeed.value = 1\n\n this.meshes.forEach((mesh) => {\n mesh.lookAt(camera!.position.x, camera!.position.y * 0.1, camera!.position.z)\n })\n })\n }\n\n stop() {\n this.meshes.forEach((mesh) => {\n mesh.visible = false\n })\n }\n\n continue() {\n this.meshes.forEach((mesh) => {\n mesh.visible = true\n })\n }\n}\n\nexport default Snow"],"mappings":";;;;;;;AAAA,SAASA,IAAI,EAAEC,aAAa,EAAEC,cAAc,EAAEC,OAAO,EAAEC,GAAG,QAAQ,eAAe;AACjF,OAAOC,UAAU;;AAEjB;AAAA,IACMC,IAAI;EAGR,SAAAA,KAAA,EAAc;IAAAC,eAAA,OAAAD,IAAA;IAAAE,eAAA,iBAFW,EAAE;IAGzB,IAAI,CAACC,YAAY,CAAC,CAAC;EACrB;EAACC,YAAA,CAAAJ,IAAA;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAH,aAAA,EAAuB;MAAA,IAAAI,KAAA;MACrB,IAAAC,aAAA,GAA0BV,GAAG,CAACW,QAAQ,CAAC,CAAC;QAAhCC,KAAK,GAAAF,aAAA,CAALE,KAAK;QAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;MAErB,IAAI,CAACD,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIC,KAAK,CAAC,oCAAoC,CAAC;MAEvD,IAAMC,QAAQ,GAAG,IAAIlB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;;MAEhD;MACAI,UAAU,CAACe,QAAQ,CAACC,WAAW,CAACT,KAAK,GAAG,IAAIT,OAAO,CAACmB,MAAM,CAACC,UAAU,EAAED,MAAM,CAACE,WAAW,CAAC;MAE1F,IAAMC,QAAQ,GAAG,IAAIvB,cAAc,CAAC;QAClCkB,QAAQ,EAAEf,UAAU,CAACe,QAAQ;QAC7BM,IAAI,EAAE,CAAC;QACPC,WAAW,EAAE,IAAI;QACjBC,SAAS,EAAE,KAAK;QAChBC,QAAQ,EAAE,CAAC;QACXC,YAAY,EAAEzB,UAAU,CAACyB,YAAY;QACrCC,cAAc,EAAE1B,UAAU,CAAC0B;MAC7B,CAAC,CAAC;MAEF,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAEA,CAAC,EAAE,EAAE;QAC3B,IAAMC,IAAI,GAAG,IAAIjC,IAAI,CAACmB,QAAQ,EAAEM,QAAQ,CAAC;QACzC;QACAQ,IAAI,CAACC,QAAQ,CAACC,CAAC,GAAG,CAAC,KAAK,GAAGH,CAAC,GAAG,IAAI;QACnCC,IAAI,CAACG,KAAK,CAACC,CAAC,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;QACtCN,IAAI,CAACG,KAAK,CAACI,CAAC,GAAGF,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;QAEtCvB,KAAK,CAAEyB,GAAG,CAACR,IAAI,CAAC;QAEhB,IAAI,CAACS,MAAM,CAACC,IAAI,CAACV,IAAI,CAAC;MACxB;MAEA7B,GAAG,CAACwC,QAAQ,CAAC,YAAM;QACjBvC,UAAU,CAACe,QAAQ,CAACyB,KAAK,CAACjC,KAAK,IAAI,IAAI;QACvCP,UAAU,CAACe,QAAQ,CAAC0B,SAAS,CAAClC,KAAK,GAAG,CAAC;QAEvCC,KAAI,CAAC6B,MAAM,CAACK,OAAO,CAAC,UAACd,IAAI,EAAK;UAC5BA,IAAI,CAACe,MAAM,CAAC/B,MAAM,CAAEiB,QAAQ,CAACG,CAAC,EAAEpB,MAAM,CAAEiB,QAAQ,CAACM,CAAC,GAAG,GAAG,EAAEvB,MAAM,CAAEiB,QAAQ,CAACC,CAAC,CAAC;QAC/E,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAqC,KAAA,EAAO;MACL,IAAI,CAACP,MAAM,CAACK,OAAO,CAAC,UAACd,IAAI,EAAK;QAC5BA,IAAI,CAACiB,OAAO,GAAG,KAAK;MACtB,CAAC,CAAC;IACJ;EAAC;IAAAvC,GAAA;IAAAC,KAAA,EAED,SAAAuC,UAAA,EAAW;MACT,IAAI,CAACT,MAAM,CAACK,OAAO,CAAC,UAACd,IAAI,EAAK;QAC5BA,IAAI,CAACiB,OAAO,GAAG,IAAI;MACrB,CAAC,CAAC;IACJ;EAAC;EAAA,OAAA5C,IAAA;AAAA;AAGH,eAAeA,IAAI"}
|
|
@@ -2,7 +2,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
2
2
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
3
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
4
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
-
function _iterableToArrayLimit(
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import { DirectionalLight, Group, MathUtils, Vector3, lib, use } from '@anov/3d-core';
|
|
8
8
|
import { getLastValue } from "../../utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DirectionalLight","Group","MathUtils","Vector3","lib","use","getLastValue","getSunPosition","Sky","initsSkySystem","options","sky","position","scale","setScalar","effectController","turbidity","rayleigh","mieCoefficient","mieDirectionalG","elevation","azimuth","exposure","uniforms","material","value","phi","degToRad","theta","setFromSphericalCoords","sunPosition","copy","initSunLight","opts","sunLight","color","intensity","castShadow","shadow","bias","mapSize","set","cam","camera","near","far","left","right","top","bottom","createSkySystem","date","latitude","longitude","sunRadius","useScene","renderer","scene","Error","skyGroup","add","move","altitude","radToDeg","x","Math","cos","z","sin","y","setDate","currentDate","skyControl","disabled","disabledSun","visible","enabledSun"],"sources":["../../../src/environment/sky/index.ts"],"sourcesContent":["import { DirectionalLight, Group, MathUtils, Vector3, lib, use } from '@anov/3d-core'\nimport { getLastValue } from '../../utils'\nimport { getSunPosition } from '../sun'\n\nconst Sky = lib.Sky\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\n/**\n * 天空盒 shader\n */\nconst initsSkySystem = (options?: SkySystemOption) => {\n const sky = new Sky()\n const position = new Vector3()\n\n sky.scale.setScalar(450000)\n\n const effectController = {\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 // @ts-ignore\n const uniforms = sky.material.uniforms\n uniforms.turbidity.value = effectController.turbidity\n uniforms.rayleigh.value = effectController.rayleigh\n uniforms.mieCoefficient.value = effectController.mieCoefficient\n uniforms.mieDirectionalG.value = effectController.mieDirectionalG\n\n const phi = MathUtils.degToRad(90 - effectController.elevation)\n const theta = MathUtils.degToRad(effectController.azimuth)\n\n position.setFromSphericalCoords(1, phi, theta)\n uniforms.sunPosition.value.copy(position)\n\n return [sky, position, uniforms] as [typeof sky, typeof position, typeof uniforms]\n}\n\ntype SunLightOption = {\n color?: string\n intensity?: number\n bias?: number\n mapSize?: [number, number]\n\n near?: number\n far?: number\n left?: number\n right?: number\n top?: number\n bottom?: number\n}\n\n/**\n * create sun light\n * @param options\n * @returns\n */\nconst initSunLight = (options?: SunLightOption) => {\n const opts = options || {}\n\n const sunLight = new DirectionalLight(getLastValue(opts.color, 'white'), getLastValue(opts.intensity, 8))\n sunLight.castShadow = true\n\n sunLight.shadow.bias = getLastValue(opts.bias, -0.005)\n sunLight.shadow.mapSize.set(getLastValue(opts.mapSize?.[0], 1024), getLastValue(opts.mapSize?.[1], 1024))\n\n const cam = sunLight.shadow.camera\n cam.near = getLastValue(opts.near, 1)\n cam.far = getLastValue(opts.far, 10000)\n cam.left = getLastValue(opts.left, -1000)\n cam.right = getLastValue(opts.right, 1000)\n cam.top = getLastValue(opts.top, 1000)\n cam.bottom = getLastValue(opts.bottom, -1000)\n\n return sunLight\n}\n\n/**\n * create sky system, main time\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius default 300 sun radius\n * @returns\n */\nconst createSkySystem = (date: Date, latitude: number, longitude: number, sunRadius = 300) => {\n const { renderer, scene } = use.useScene()\n\n sunRadius = 300\n\n if (!renderer && !scene)\n throw new Error('renderer or scene is not exist')\n\n const [sky, position, uniforms] = initsSkySystem()\n const sunLight = initSunLight()\n const skyGroup = new Group() as (Group & { sunPosition: Vector3 })\n\n scene!.add(sky)\n skyGroup.add(sunLight)\n scene!.add(skyGroup)\n\n const move = (altitude: number, azimuth: number) => {\n position.setFromSphericalCoords(sunRadius, MathUtils.degToRad(90 - MathUtils.radToDeg(altitude)), azimuth)\n uniforms.sunPosition.value.copy(position)\n\n const x = sunRadius * (Math.cos(altitude)) * (Math.cos(azimuth))\n const z = sunRadius * (Math.cos(altitude)) * (Math.sin(azimuth))\n const y = sunRadius * (Math.sin(altitude))\n\n const sunPosition = new Vector3(x, y, z)\n skyGroup.sunPosition = sunPosition\n skyGroup.position.copy(position)\n\n return sunPosition\n }\n\n const { altitude, azimuth } = getSunPosition(date, latitude, longitude)\n move(altitude, azimuth)\n\n const setDate = (currentDate?: Date) => {\n const { altitude, azimuth } = getSunPosition(currentDate || date, latitude, longitude)\n return move(altitude, azimuth)\n }\n\n const skyControl = {\n disabled: () => {},\n disabledSun: () => {\n sunLight.visible = false\n sky.visible = false\n },\n enabledSun: () => {\n sunLight.visible = true\n sky.visible = true\n },\n }\n\n return {\n setDate,\n skyGroup,\n sky,\n skyControl,\n }\n}\n\nexport default createSkySystem\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["DirectionalLight","Group","MathUtils","Vector3","lib","use","getLastValue","getSunPosition","Sky","initsSkySystem","options","sky","position","scale","setScalar","effectController","turbidity","rayleigh","mieCoefficient","mieDirectionalG","elevation","azimuth","exposure","uniforms","material","value","phi","degToRad","theta","setFromSphericalCoords","sunPosition","copy","initSunLight","_opts$mapSize","_opts$mapSize2","opts","sunLight","color","intensity","castShadow","shadow","bias","mapSize","set","cam","camera","near","far","left","right","top","bottom","createSkySystem","date","latitude","longitude","sunRadius","arguments","length","undefined","_use$useScene","useScene","renderer","scene","Error","_initsSkySystem","_initsSkySystem2","_slicedToArray","skyGroup","add","move","altitude","radToDeg","x","Math","cos","z","sin","y","_getSunPosition","setDate","currentDate","_getSunPosition2","skyControl","disabled","disabledSun","visible","enabledSun"],"sources":["../../../src/environment/sky/index.ts"],"sourcesContent":["import { DirectionalLight, Group, MathUtils, Vector3, lib, use } from '@anov/3d-core'\nimport { getLastValue } from '../../utils'\nimport { getSunPosition } from '../sun'\n\nconst Sky = lib.Sky\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\n/**\n * 天空盒 shader\n */\nconst initsSkySystem = (options?: SkySystemOption) => {\n const sky = new Sky()\n const position = new Vector3()\n\n sky.scale.setScalar(450000)\n\n const effectController = {\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 // @ts-ignore\n const uniforms = sky.material.uniforms\n uniforms.turbidity.value = effectController.turbidity\n uniforms.rayleigh.value = effectController.rayleigh\n uniforms.mieCoefficient.value = effectController.mieCoefficient\n uniforms.mieDirectionalG.value = effectController.mieDirectionalG\n\n const phi = MathUtils.degToRad(90 - effectController.elevation)\n const theta = MathUtils.degToRad(effectController.azimuth)\n\n position.setFromSphericalCoords(1, phi, theta)\n uniforms.sunPosition.value.copy(position)\n\n return [sky, position, uniforms] as [typeof sky, typeof position, typeof uniforms]\n}\n\ntype SunLightOption = {\n color?: string\n intensity?: number\n bias?: number\n mapSize?: [number, number]\n\n near?: number\n far?: number\n left?: number\n right?: number\n top?: number\n bottom?: number\n}\n\n/**\n * create sun light\n * @param options\n * @returns\n */\nconst initSunLight = (options?: SunLightOption) => {\n const opts = options || {}\n\n const sunLight = new DirectionalLight(getLastValue(opts.color, 'white'), getLastValue(opts.intensity, 8))\n sunLight.castShadow = true\n\n sunLight.shadow.bias = getLastValue(opts.bias, -0.005)\n sunLight.shadow.mapSize.set(getLastValue(opts.mapSize?.[0], 1024), getLastValue(opts.mapSize?.[1], 1024))\n\n const cam = sunLight.shadow.camera\n cam.near = getLastValue(opts.near, 1)\n cam.far = getLastValue(opts.far, 10000)\n cam.left = getLastValue(opts.left, -1000)\n cam.right = getLastValue(opts.right, 1000)\n cam.top = getLastValue(opts.top, 1000)\n cam.bottom = getLastValue(opts.bottom, -1000)\n\n return sunLight\n}\n\n/**\n * create sky system, main time\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius default 300 sun radius\n * @returns\n */\nconst createSkySystem = (date: Date, latitude: number, longitude: number, sunRadius = 300) => {\n const { renderer, scene } = use.useScene()\n\n sunRadius = 300\n\n if (!renderer && !scene)\n throw new Error('renderer or scene is not exist')\n\n const [sky, position, uniforms] = initsSkySystem()\n const sunLight = initSunLight()\n const skyGroup = new Group() as (Group & { sunPosition: Vector3 })\n\n scene!.add(sky)\n skyGroup.add(sunLight)\n scene!.add(skyGroup)\n\n const move = (altitude: number, azimuth: number) => {\n position.setFromSphericalCoords(sunRadius, MathUtils.degToRad(90 - MathUtils.radToDeg(altitude)), azimuth)\n uniforms.sunPosition.value.copy(position)\n\n const x = sunRadius * (Math.cos(altitude)) * (Math.cos(azimuth))\n const z = sunRadius * (Math.cos(altitude)) * (Math.sin(azimuth))\n const y = sunRadius * (Math.sin(altitude))\n\n const sunPosition = new Vector3(x, y, z)\n skyGroup.sunPosition = sunPosition\n skyGroup.position.copy(position)\n\n return sunPosition\n }\n\n const { altitude, azimuth } = getSunPosition(date, latitude, longitude)\n move(altitude, azimuth)\n\n const setDate = (currentDate?: Date) => {\n const { altitude, azimuth } = getSunPosition(currentDate || date, latitude, longitude)\n return move(altitude, azimuth)\n }\n\n const skyControl = {\n disabled: () => {},\n disabledSun: () => {\n sunLight.visible = false\n sky.visible = false\n },\n enabledSun: () => {\n sunLight.visible = true\n sky.visible = true\n },\n }\n\n return {\n setDate,\n skyGroup,\n sky,\n skyControl,\n }\n}\n\nexport default createSkySystem\n"],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
-
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); } }
|
|
4
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
-
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; }
|
|
6
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
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); }
|
|
8
2
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
3
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
4
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
5
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
-
function _iterableToArrayLimit(
|
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
7
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
+
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); } }
|
|
10
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
11
|
+
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; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
|
+
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); }
|
|
14
14
|
import { use } from '@anov/3d-core';
|
|
15
15
|
import { createRain, createSkyCloud, createSkySystem, createSnow } from "../../";
|
|
16
16
|
|
|
@@ -27,10 +27,9 @@ var createTimeSkySystem = function createTimeSkySystem(date) {
|
|
|
27
27
|
var longitude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 116;
|
|
28
28
|
var sunRadius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
|
|
29
29
|
var _createSkySystem = createSkySystem(date, latitude, longitude, sunRadius),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
sky = _createSkySystem2[2];
|
|
30
|
+
setDate = _createSkySystem.setDate,
|
|
31
|
+
sun = _createSkySystem.skyGroup,
|
|
32
|
+
sky = _createSkySystem.sky;
|
|
34
33
|
return [setDate, sun, sky];
|
|
35
34
|
};
|
|
36
35
|
var SkyBox = /*#__PURE__*/function () {
|
|
@@ -69,8 +68,8 @@ var SkyBox = /*#__PURE__*/function () {
|
|
|
69
68
|
},
|
|
70
69
|
Clear_Skies: function Clear_Skies() {
|
|
71
70
|
var _this$snow, _this$rain;
|
|
72
|
-
(_this$snow = _this.snow) === null || _this$snow === void 0
|
|
73
|
-
(_this$rain = _this.rain) === null || _this$rain === void 0
|
|
71
|
+
(_this$snow = _this.snow) === null || _this$snow === void 0 || _this$snow[1]();
|
|
72
|
+
(_this$rain = _this.rain) === null || _this$rain === void 0 || _this$rain[1]();
|
|
74
73
|
_this.renderer.toneMappingExposure = 0.6;
|
|
75
74
|
if (_this.cloudReturn) {
|
|
76
75
|
var _this$cloudReturn = _slicedToArray(_this.cloudReturn, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["use","createRain","createSkyCloud","createSkySystem","createSnow","createTimeSkySystem","date","latitude","longitude","sunRadius","setDate","sun","sky","SkyBox","opts","Snow","snow","x","y","z","renderer","toneMappingExposure","Rain","rain","Cloudy","cloudReturn","Clear_Skies","_","clear","Date","useScene","sunPosition","position","initConfigSet","weather","time","setWeather","weatherType","duration","setTime","params","
|
|
1
|
+
{"version":3,"names":["use","createRain","createSkyCloud","createSkySystem","createSnow","createTimeSkySystem","date","latitude","arguments","length","undefined","longitude","sunRadius","_createSkySystem","setDate","sun","skyGroup","sky","SkyBox","opts","_this","_classCallCheck","_defineProperty","Snow","snow","x","y","z","renderer","toneMappingExposure","Rain","rain","Cloudy","cloudReturn","Clear_Skies","_this$snow","_this$rain","_this$cloudReturn","_slicedToArray","_","clear","_createTimeSkySystem","Date","_createTimeSkySystem2","useScene","sunPosition","position","initConfigSet","_createClass","key","value","_ref","_ref$weather","weather","_ref$time","time","setWeather","weatherType","duration","setTime","params","Error","setHours","getTime","Math","floor","newTime","setWeatherStrategy"],"sources":["../../../src/environment/skyBox/index.ts"],"sourcesContent":["import type { Vector3, WebGLRenderer, lib } from '@anov/3d-core'\nimport { use } from '@anov/3d-core'\nimport { createRain, createSkyCloud, createSkySystem, createSnow } from '../../'\n\n/**\n * create time sky system\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius\n * @returns\n */\nconst createTimeSkySystem = (date: Date, latitude = 40, longitude = 116, sunRadius = 100) => {\n const { setDate, skyGroup : sun, sky } = createSkySystem(date, latitude, longitude, sunRadius)\n\n return [setDate, sun, sky] as [typeof setDate, typeof sun, typeof sky]\n}\n\ntype EnvironmentOptions = {\n weather?: string\n time?: number\n}\n\nclass SkyBox {\n private opts?: EnvironmentOptions\n private setDate: (currentDate?: Date | undefined) => Vector3\n private snow: any = null\n private rain: any = null\n private cloudReturn: ReturnType<typeof createSkyCloud> | null = null\n private sky: lib.Sky\n private renderer: WebGLRenderer\n sunPosition: Vector3\n\n constructor(opts?: EnvironmentOptions) {\n const [setDate, sun, sky] = createTimeSkySystem(new Date(), 40, 116, 100)\n this.renderer = use.useScene().renderer!\n this.sunPosition = sun.position\n this.setDate = setDate as any\n this.sky = sky\n\n this.opts = opts\n this.initConfigSet()\n }\n\n private initConfigSet() {\n const { weather = 'Snow', time = 1700 } = this.opts || {}\n\n this.setWeather({ weatherType: weather, duration: 0 })\n this.setTime({ time, duration: 0 })\n }\n\n private setWeatherStrategy = {\n Snow: () => {\n !this.snow && (this.snow = createSnow(15, 10000, { x: 0, y: 3, z: 0 }, 0.5, 50000))\n this.snow[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Rain: () => {\n !this.rain && (this.rain = createRain(4, 10000, { x: 0, y: 10, z: 0 }, 0.8, 100000))\n this.rain[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Cloudy: () => {\n !this.cloudReturn && (this.cloudReturn = createSkyCloud())\n },\n Clear_Skies: () => {\n this.snow?.[1]()\n this.rain?.[1]()\n this.renderer.toneMappingExposure = 0.6\n\n if (this.cloudReturn) {\n const [_, clear] = this.cloudReturn\n clear()\n this.cloudReturn = null\n }\n },\n }\n\n /**\n * setTime\n * @param params\n * @returns\n */\n setTime(params: { time: number; duration?: number }) {\n if (params.time === undefined || (params.time > 2400 && params.time < 0))\n throw new Error('time must be between 0 and 2400')\n\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n date.setTime(date.getTime() + Math.floor(86400000 * params.time / 2400))\n this.setDate(date)\n\n return {\n newTime: params.time,\n }\n }\n\n /**\n * setWeather\n * @param params\n * @returns\n */\n setWeather(params: { weatherType: string; duration?: number }) {\n // @ts-ignore\n this.setWeatherStrategy[params.weatherType]()\n\n return {\n weatherType: params.weatherType,\n }\n }\n}\n\nexport default SkyBox"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RepeatWrapping","TextureLoader","textureLoader","CloudShaderConfig","texture1","value","texture2","iTime","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","load","wrapS","wrapT"],"sources":["../../../src/environment/skyv2/config.ts"],"sourcesContent":["// @ts-nocheck\n\nimport { RepeatWrapping, TextureLoader } from '@anov/3d-core'\n\nconst textureLoader = new TextureLoader()\n\n// 默认配置\nexport const CloudShaderConfig = {\n texture1: { value: null },\n texture2: { value: null },\n iTime: { value: 0 },\n\n cloudDensity: { value: 0.01 },\n cloudDensity2: { value: 1 },\n cloudalpha: { value: 1 },\n cloudscale: { value: 8.0 },\n speed: { value: 0.5 },\n color: { value: [0.9, 0.9, 0.9] },\n flash: { value: 11.3 },\n}\n\nCloudShaderConfig.texture1.value = textureLoader.load('./T_soft_smoke.png')\nCloudShaderConfig.texture2.value = textureLoader.load('./T_TileNoise.png')\nCloudShaderConfig.texture1.value.wrapS = CloudShaderConfig.texture1.value.wrapT = RepeatWrapping\nCloudShaderConfig.texture2.value.wrapS = CloudShaderConfig.texture2.value.wrapT = RepeatWrapping\n\nCloudShaderConfig.cloudDensity.value = 0.02\nCloudShaderConfig.cloudDensity2.value = 1.6\nCloudShaderConfig.cloudalpha.value = 0.8\nCloudShaderConfig.cloudscale.value = 8.0\nCloudShaderConfig.speed.value = 0.3\nCloudShaderConfig.color.value = [0.9, 0.9, 0.9]\nCloudShaderConfig.flash.value = 0.3"],"mappings":"AAAA;;AAEA,SAASA,cAAc,EAAEC,aAAa,QAAQ,eAAe;AAE7D,IAAMC,aAAa,GAAG,IAAID,aAAa,
|
|
1
|
+
{"version":3,"names":["RepeatWrapping","TextureLoader","textureLoader","CloudShaderConfig","texture1","value","texture2","iTime","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","load","wrapS","wrapT"],"sources":["../../../src/environment/skyv2/config.ts"],"sourcesContent":["// @ts-nocheck\n\nimport { RepeatWrapping, TextureLoader } from '@anov/3d-core'\n\nconst textureLoader = new TextureLoader()\n\n// 默认配置\nexport const CloudShaderConfig = {\n texture1: { value: null },\n texture2: { value: null },\n iTime: { value: 0 },\n\n cloudDensity: { value: 0.01 },\n cloudDensity2: { value: 1 },\n cloudalpha: { value: 1 },\n cloudscale: { value: 8.0 },\n speed: { value: 0.5 },\n color: { value: [0.9, 0.9, 0.9] },\n flash: { value: 11.3 },\n}\n\nCloudShaderConfig.texture1.value = textureLoader.load('./T_soft_smoke.png')\nCloudShaderConfig.texture2.value = textureLoader.load('./T_TileNoise.png')\nCloudShaderConfig.texture1.value.wrapS = CloudShaderConfig.texture1.value.wrapT = RepeatWrapping\nCloudShaderConfig.texture2.value.wrapS = CloudShaderConfig.texture2.value.wrapT = RepeatWrapping\n\nCloudShaderConfig.cloudDensity.value = 0.02\nCloudShaderConfig.cloudDensity2.value = 1.6\nCloudShaderConfig.cloudalpha.value = 0.8\nCloudShaderConfig.cloudscale.value = 8.0\nCloudShaderConfig.speed.value = 0.3\nCloudShaderConfig.color.value = [0.9, 0.9, 0.9]\nCloudShaderConfig.flash.value = 0.3"],"mappings":"AAAA;;AAEA,SAASA,cAAc,EAAEC,aAAa,QAAQ,eAAe;AAE7D,IAAMC,aAAa,GAAG,IAAID,aAAa,CAAC,CAAC;;AAEzC;AACA,OAAO,IAAME,iBAAiB,GAAG;EAC/BC,QAAQ,EAAE;IAAEC,KAAK,EAAE;EAAK,CAAC;EACzBC,QAAQ,EAAE;IAAED,KAAK,EAAE;EAAK,CAAC;EACzBE,KAAK,EAAE;IAAEF,KAAK,EAAE;EAAE,CAAC;EAEnBG,YAAY,EAAE;IAAEH,KAAK,EAAE;EAAK,CAAC;EAC7BI,aAAa,EAAE;IAAEJ,KAAK,EAAE;EAAE,CAAC;EAC3BK,UAAU,EAAE;IAAEL,KAAK,EAAE;EAAE,CAAC;EACxBM,UAAU,EAAE;IAAEN,KAAK,EAAE;EAAI,CAAC;EAC1BO,KAAK,EAAE;IAAEP,KAAK,EAAE;EAAI,CAAC;EACrBQ,KAAK,EAAE;IAAER,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;EAAE,CAAC;EACjCS,KAAK,EAAE;IAAET,KAAK,EAAE;EAAK;AACvB,CAAC;AAEDF,iBAAiB,CAACC,QAAQ,CAACC,KAAK,GAAGH,aAAa,CAACa,IAAI,CAAC,oBAAoB,CAAC;AAC3EZ,iBAAiB,CAACG,QAAQ,CAACD,KAAK,GAAGH,aAAa,CAACa,IAAI,CAAC,mBAAmB,CAAC;AAC1EZ,iBAAiB,CAACC,QAAQ,CAACC,KAAK,CAACW,KAAK,GAAGb,iBAAiB,CAACC,QAAQ,CAACC,KAAK,CAACY,KAAK,GAAGjB,cAAc;AAChGG,iBAAiB,CAACG,QAAQ,CAACD,KAAK,CAACW,KAAK,GAAGb,iBAAiB,CAACG,QAAQ,CAACD,KAAK,CAACY,KAAK,GAAGjB,cAAc;AAEhGG,iBAAiB,CAACK,YAAY,CAACH,KAAK,GAAG,IAAI;AAC3CF,iBAAiB,CAACM,aAAa,CAACJ,KAAK,GAAG,GAAG;AAC3CF,iBAAiB,CAACO,UAAU,CAACL,KAAK,GAAG,GAAG;AACxCF,iBAAiB,CAACQ,UAAU,CAACN,KAAK,GAAG,GAAG;AACxCF,iBAAiB,CAACS,KAAK,CAACP,KAAK,GAAG,GAAG;AACnCF,iBAAiB,CAACU,KAAK,CAACR,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC/CF,iBAAiB,CAACW,KAAK,CAACT,KAAK,GAAG,GAAG"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
function _typeof(
|
|
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 exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
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
3
|
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
4
|
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
5
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
6
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
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
8
|
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; }
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
|
+
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); }
|
|
11
11
|
import { ModelLoader, ShaderMaterial } from '@anov/3d-core';
|
|
12
12
|
import { Fog2DMesh } from "../../";
|
|
13
13
|
import { CloudShaderConfig } from "./config";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ModelLoader","ShaderMaterial","Fog2DMesh","CloudShaderConfig","vert","cloudFrag","skyFrag","cloudMaterial","uniforms","vertexShader","fragmentShader","side","transparent","depthWrite","skyMaterial","load","Sky","Clear_Skies","scene","renderer","toneMappingExposure","cloudDensity","value","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","fog2d","setColor","setAlpha","Cloudy","Foggy","Overcast","Sand_Dust_Calm","Snow","loadGLTF","gltf","sky","cloud","clone","children","material","scale","set","add","renderOrder","weatherType","setWeatherStrategy"],"sources":["../../../src/environment/skyv2/index.ts"],"sourcesContent":["import type { Group, Scene, SceneControl } from '@anov/3d-core'\nimport { ModelLoader, ShaderMaterial } from '@anov/3d-core'\nimport { Fog2DMesh } from '../../'\nimport { CloudShaderConfig } from './config'\nimport vert from './shader/cloud/vert'\nimport cloudFrag from './shader/cloud/frag'\nimport skyFrag from './shader/sky/frag'\n\nconst cloudMaterial = new ShaderMaterial({\n uniforms: CloudShaderConfig,\n vertexShader: vert,\n fragmentShader: cloudFrag,\n side: 2,\n transparent: true,\n depthWrite: false,\n})\n\nconst skyMaterial = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: skyFrag,\n side: 2,\n transparent: true,\n depthWrite: false,\n})\n\nconst load = new ModelLoader()\n\nclass Sky {\n fog2d: Fog2DMesh | null = null\n sky: Group | null = null\n cloud: Group | null = null\n scene: SceneControl | null = null\n\n constructor() {}\n\n async init(scene: SceneControl) {\n const gltf = await (await load.loadGLTF('./skySphereMesh.glb', false, true, './draco/')) as any\n\n const sky = gltf.scene\n const cloud = gltf.scene.clone()\n\n // @ts-ignore\n sky.children[0].material = skyMaterial\n sky.scale.set(1000, 1000, 1000)\n\n // @ts-ignore\n cloud.children[0].material = cloudMaterial\n cloud.scale.set(997, 997, 997)\n\n scene.add(sky)\n scene.add(cloud)\n\n sky.renderOrder = -1\n\n const fog2d = new Fog2DMesh()\n scene.add(fog2d)\n\n this.fog2d = fog2d\n this.sky = sky\n this.cloud = cloud\n this.scene = scene\n\n return gltf\n }\n\n setScale() {}\n\n private setWeatherStrategy = {\n Clear_Skies: () => {\n this.scene!.renderer!.toneMappingExposure = 0.75\n CloudShaderConfig.cloudDensity.value = 0.05\n CloudShaderConfig.cloudDensity2.value = 2.0\n CloudShaderConfig.cloudalpha.value = 3.0\n CloudShaderConfig.cloudscale.value = 8.0\n CloudShaderConfig.speed.value = 0.2\n CloudShaderConfig.color.value = [0.9, 0.9, 0.9]\n CloudShaderConfig.flash.value = 0.0\n\n this.fog2d!.setColor([0.9, 0.9, 0.9])\n this.fog2d!.setAlpha(0.0)\n },\n Cloudy: () => {\n this.scene!.renderer!.toneMappingExposure = 0.505\n CloudShaderConfig.cloudDensity.value = 0.02\n CloudShaderConfig.cloudDensity2.value = 1.6\n CloudShaderConfig.cloudalpha.value = 0.8\n CloudShaderConfig.cloudscale.value = 8.0\n CloudShaderConfig.speed.value = 0.3\n CloudShaderConfig.color.value = [0.9, 0.9, 0.9]\n CloudShaderConfig.flash.value = 0.0\n\n this.fog2d!.setColor([0.9, 0.9, 0.9])\n this.fog2d!.setAlpha(0.0)\n },\n\n Foggy: () => {\n this.scene!.renderer!.toneMappingExposure = 0.6\n CloudShaderConfig.cloudDensity.value = 0.01\n CloudShaderConfig.cloudDensity2.value = 2.0\n CloudShaderConfig.cloudalpha.value = 2.0\n CloudShaderConfig.cloudscale.value = 8.0\n CloudShaderConfig.speed.value = 0.2\n CloudShaderConfig.color.value = [0.9, 0.9, 0.9]\n CloudShaderConfig.flash.value = 0.0\n\n this.fog2d!.setColor([0.9, 0.9, 0.9])\n this.fog2d!.setAlpha(0.4)\n },\n Overcast: () => {},\n Sand_Dust_Calm: () => {},\n Snow: () => {},\n }\n\n setWeather(weatherType: string) {\n // @ts-ignore\n this.setWeatherStrategy[weatherType]()\n }\n}\n\nexport default Sky"],"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","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","ModelLoader","ShaderMaterial","Fog2DMesh","CloudShaderConfig","vert","cloudFrag","skyFrag","cloudMaterial","uniforms","vertexShader","fragmentShader","side","transparent","depthWrite","skyMaterial","load","Sky","_this","Clear_Skies","scene","renderer","toneMappingExposure","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","fog2d","setColor","setAlpha","Cloudy","Foggy","Overcast","Sand_Dust_Calm","Snow","_init","_callee","gltf","sky","cloud","_callee$","_context","loadGLTF","clone","children","material","scale","set","add","renderOrder","init","_x","setScale","setWeather","weatherType","setWeatherStrategy"],"sources":["../../../src/environment/skyv2/index.ts"],"sourcesContent":["import type { Group, Scene, SceneControl } from '@anov/3d-core'\nimport { ModelLoader, ShaderMaterial } from '@anov/3d-core'\nimport { Fog2DMesh } from '../../'\nimport { CloudShaderConfig } from './config'\nimport vert from './shader/cloud/vert'\nimport cloudFrag from './shader/cloud/frag'\nimport skyFrag from './shader/sky/frag'\n\nconst cloudMaterial = new ShaderMaterial({\n uniforms: CloudShaderConfig,\n vertexShader: vert,\n fragmentShader: cloudFrag,\n side: 2,\n transparent: true,\n depthWrite: false,\n})\n\nconst skyMaterial = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: skyFrag,\n side: 2,\n transparent: true,\n depthWrite: false,\n})\n\nconst load = new ModelLoader()\n\nclass Sky {\n fog2d: Fog2DMesh | null = null\n sky: Group | null = null\n cloud: Group | null = null\n scene: SceneControl | null = null\n\n constructor() {}\n\n async init(scene: SceneControl) {\n const gltf = await (await load.loadGLTF('./skySphereMesh.glb', false, true, './draco/')) as any\n\n const sky = gltf.scene\n const cloud = gltf.scene.clone()\n\n // @ts-ignore\n sky.children[0].material = skyMaterial\n sky.scale.set(1000, 1000, 1000)\n\n // @ts-ignore\n cloud.children[0].material = cloudMaterial\n cloud.scale.set(997, 997, 997)\n\n scene.add(sky)\n scene.add(cloud)\n\n sky.renderOrder = -1\n\n const fog2d = new Fog2DMesh()\n scene.add(fog2d)\n\n this.fog2d = fog2d\n this.sky = sky\n this.cloud = cloud\n this.scene = scene\n\n return gltf\n }\n\n setScale() {}\n\n private setWeatherStrategy = {\n Clear_Skies: () => {\n this.scene!.renderer!.toneMappingExposure = 0.75\n CloudShaderConfig.cloudDensity.value = 0.05\n CloudShaderConfig.cloudDensity2.value = 2.0\n CloudShaderConfig.cloudalpha.value = 3.0\n CloudShaderConfig.cloudscale.value = 8.0\n CloudShaderConfig.speed.value = 0.2\n CloudShaderConfig.color.value = [0.9, 0.9, 0.9]\n CloudShaderConfig.flash.value = 0.0\n\n this.fog2d!.setColor([0.9, 0.9, 0.9])\n this.fog2d!.setAlpha(0.0)\n },\n Cloudy: () => {\n this.scene!.renderer!.toneMappingExposure = 0.505\n CloudShaderConfig.cloudDensity.value = 0.02\n CloudShaderConfig.cloudDensity2.value = 1.6\n CloudShaderConfig.cloudalpha.value = 0.8\n CloudShaderConfig.cloudscale.value = 8.0\n CloudShaderConfig.speed.value = 0.3\n CloudShaderConfig.color.value = [0.9, 0.9, 0.9]\n CloudShaderConfig.flash.value = 0.0\n\n this.fog2d!.setColor([0.9, 0.9, 0.9])\n this.fog2d!.setAlpha(0.0)\n },\n\n Foggy: () => {\n this.scene!.renderer!.toneMappingExposure = 0.6\n CloudShaderConfig.cloudDensity.value = 0.01\n CloudShaderConfig.cloudDensity2.value = 2.0\n CloudShaderConfig.cloudalpha.value = 2.0\n CloudShaderConfig.cloudscale.value = 8.0\n CloudShaderConfig.speed.value = 0.2\n CloudShaderConfig.color.value = [0.9, 0.9, 0.9]\n CloudShaderConfig.flash.value = 0.0\n\n this.fog2d!.setColor([0.9, 0.9, 0.9])\n this.fog2d!.setAlpha(0.4)\n },\n Overcast: () => {},\n Sand_Dust_Calm: () => {},\n Snow: () => {},\n }\n\n setWeather(weatherType: string) {\n // @ts-ignore\n this.setWeatherStrategy[weatherType]()\n }\n}\n\nexport default Sky"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["globalObjectManage","use","EnvironmentPoints","useframe","createSnow","size","range","speed","opacity","count","points","url","removeFrame","isBoundaryJudgment","start","scene","add","point","animation","position","y","speedY","x","speedX","z","speedZ","stop","remove"],"sources":["../../src/environment/snow.ts"],"sourcesContent":["import { globalObjectManage, use } from '@anov/3d-core'\nimport type { SpeedType } from './rain'\nimport type { AVector3 } from './utils/points'\nimport EnvironmentPoints from './utils/points'\n\nconst { useframe } = use\n\ntype CreateSnowReturn = [\n () => void,\n () => void,\n]\n\n/**\n * create snow\n * @param size 雪花大小\n * @param range 降雪范围\n * @param speed 降雪速度\n * @param opacity 雪花透明度\n * @param count 雪花密度\n * @returns\n */\nexport const createSnow = (size = 10, range = 100, speed?: SpeedType, opacity = 0.6, count = 100) => {\n const points = new EnvironmentPoints({\n size,\n opacity,\n speed,\n range,\n count,\n url: 'data:image/png;base64,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',\n })\n\n let removeFrame: (() => void) | null = null\n const isBoundaryJudgment = true\n\n const start = () => {\n globalObjectManage.scene!.add(points.point!)\n\n removeFrame = useframe(() => {\n points.animation(\n (position: AVector3) => {\n position.y -= position.speedY\n position.x += position.speedX\n position.z += position.speedZ\n\n if (position.y <= 0 && isBoundaryJudgment)\n position.y = 1000 / 2\n },\n )\n })\n }\n\n const stop = () => {\n if (removeFrame) {\n removeFrame()\n globalObjectManage.scene!.remove(points.point!)\n }\n }\n\n return [\n start,\n stop,\n ] as CreateSnowReturn\n}"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,GAAG,QAAQ,eAAe;AAGvD,OAAOC,iBAAiB;AAExB,IAAQC,QAAQ,GAAKF,GAAG,CAAhBE,QAAQ;AAOhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,
|
|
1
|
+
{"version":3,"names":["globalObjectManage","use","EnvironmentPoints","useframe","createSnow","size","arguments","length","undefined","range","speed","opacity","count","points","url","removeFrame","isBoundaryJudgment","start","scene","add","point","animation","position","y","speedY","x","speedX","z","speedZ","stop","remove"],"sources":["../../src/environment/snow.ts"],"sourcesContent":["import { globalObjectManage, use } from '@anov/3d-core'\nimport type { SpeedType } from './rain'\nimport type { AVector3 } from './utils/points'\nimport EnvironmentPoints from './utils/points'\n\nconst { useframe } = use\n\ntype CreateSnowReturn = [\n () => void,\n () => void,\n]\n\n/**\n * create snow\n * @param size 雪花大小\n * @param range 降雪范围\n * @param speed 降雪速度\n * @param opacity 雪花透明度\n * @param count 雪花密度\n * @returns\n */\nexport const createSnow = (size = 10, range = 100, speed?: SpeedType, opacity = 0.6, count = 100) => {\n const points = new EnvironmentPoints({\n size,\n opacity,\n speed,\n range,\n count,\n url: 'data:image/png;base64,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',\n })\n\n let removeFrame: (() => void) | null = null\n const isBoundaryJudgment = true\n\n const start = () => {\n globalObjectManage.scene!.add(points.point!)\n\n removeFrame = useframe(() => {\n points.animation(\n (position: AVector3) => {\n position.y -= position.speedY\n position.x += position.speedX\n position.z += position.speedZ\n\n if (position.y <= 0 && isBoundaryJudgment)\n position.y = 1000 / 2\n },\n )\n })\n }\n\n const stop = () => {\n if (removeFrame) {\n removeFrame()\n globalObjectManage.scene!.remove(points.point!)\n }\n }\n\n return [\n start,\n stop,\n ] as CreateSnowReturn\n}"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,GAAG,QAAQ,eAAe;AAGvD,OAAOC,iBAAiB;AAExB,IAAQC,QAAQ,GAAKF,GAAG,CAAhBE,QAAQ;AAOhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAA8E;EAAA,IAA1EC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,KAAK,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAAEI,KAAiB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAAA,IAAEG,OAAO,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAAEM,KAAK,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAC9F,IAAMO,MAAM,GAAG,IAAIX,iBAAiB,CAAC;IACnCG,IAAI,EAAJA,IAAI;IACJM,OAAO,EAAPA,OAAO;IACPD,KAAK,EAALA,KAAK;IACLD,KAAK,EAALA,KAAK;IACLG,KAAK,EAALA,KAAK;IACLE,GAAG,EAAE;EACP,CAAC,CAAC;EAEF,IAAIC,WAAgC,GAAG,IAAI;EAC3C,IAAMC,kBAAkB,GAAG,IAAI;EAE/B,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAA,EAAS;IAClBjB,kBAAkB,CAACkB,KAAK,CAAEC,GAAG,CAACN,MAAM,CAACO,KAAM,CAAC;IAE5CL,WAAW,GAAGZ,QAAQ,CAAC,YAAM;MAC3BU,MAAM,CAACQ,SAAS,CACd,UAACC,QAAkB,EAAK;QACtBA,QAAQ,CAACC,CAAC,IAAID,QAAQ,CAACE,MAAM;QAC7BF,QAAQ,CAACG,CAAC,IAAIH,QAAQ,CAACI,MAAM;QAC7BJ,QAAQ,CAACK,CAAC,IAAIL,QAAQ,CAACM,MAAM;QAE7B,IAAIN,QAAQ,CAACC,CAAC,IAAI,CAAC,IAAIP,kBAAkB,EACvCM,QAAQ,CAACC,CAAC,GAAG,IAAI,GAAG,CAAC;MACzB,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,IAAMM,IAAI,GAAG,SAAPA,IAAIA,CAAA,EAAS;IACjB,IAAId,WAAW,EAAE;MACfA,WAAW,CAAC,CAAC;MACbf,kBAAkB,CAACkB,KAAK,CAAEY,MAAM,CAACjB,MAAM,CAACO,KAAM,CAAC;IACjD;EACF,CAAC;EAED,OAAO,CACLH,KAAK,EACLY,IAAI,CACL;AACH,CAAC"}
|
|
@@ -10,4 +10,7 @@ export declare const getSunPosition: (date: Date, latitude: number, longitude: n
|
|
|
10
10
|
* @param longitude
|
|
11
11
|
* @param distance
|
|
12
12
|
*/
|
|
13
|
-
export declare const createSun: (date: Date, latitude: number, longitude: number, distance?: number, autoUpdate?: boolean) => (Group | ((date: Date, latitude: number, longitude: number) => void))
|
|
13
|
+
export declare const createSun: (date: Date, latitude: number, longitude: number, distance?: number, autoUpdate?: boolean) => (Group | ((date: Date, latitude: number, longitude: number) => void) | ((currentDate?: Date) => {
|
|
14
|
+
altitude: number;
|
|
15
|
+
azimuth: number;
|
|
16
|
+
}))[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DirectionalLight","Group","Mesh","MeshBasicMaterial","SphereGeometry","Vector3","getPosition","getThreePosition","date","latitude","longitude","distance","altitude","azimuth","x","Math","cos","z","sin","y","getSunPosition","createSunEntity","box","mater","color","mesh","createSunLight","sunLight","castShadow","shadow","bias","mapSize","set","createSun","autoUpdate","position","group","add","lookAt","updateSunPosition","currentPosition","currentDate"],"sources":["../../../src/environment/sun/index.ts"],"sourcesContent":["import { DirectionalLight, Group, Mesh, MeshBasicMaterial, SphereGeometry, Vector3 } from '@anov/3d-core'\nimport { getPosition } from 'suncalc'\n\n/**\n * 获取当前笛卡尔坐标\n * @param date\n * @param latitude\n * @param longitude\n */\nconst getThreePosition = (date: Date, latitude: number, longitude: number, distance: number) => {\n const { altitude, azimuth } = getPosition(date, latitude, longitude)\n\n const x = distance * (Math.cos(altitude)) * (Math.cos(azimuth))\n const z = distance * (Math.cos(altitude)) * (Math.sin(azimuth))\n const y = distance * (Math.sin(altitude))\n\n return new Vector3(x, y, z)\n}\n\nexport const getSunPosition = (date: Date, latitude: number, longitude: number) => {\n const { altitude, azimuth } = getPosition(date, latitude, longitude)\n\n return {\n altitude,\n azimuth,\n }\n}\n\n/**\n * entity\n * @returns\n */\nconst createSunEntity = () => {\n const box = new SphereGeometry(1)\n const mater = new MeshBasicMaterial({ color: 'yellow' })\n const mesh = new Mesh(box, mater)\n\n return mesh\n}\n\n/**\n * sun light\n * @returns\n */\nconst createSunLight = () => {\n const sunLight = new DirectionalLight('white', 8)\n sunLight.castShadow = true\n sunLight.shadow.bias = -0.005\n sunLight.shadow.mapSize.set(1024, 1024)\n\n return sunLight\n}\n\n/**\n * create init\n * @param date\n * @param latitude\n * @param longitude\n * @param distance\n */\nexport const createSun = (date: Date, latitude: number, longitude: number, distance = 1000, autoUpdate = true) => {\n const position = getThreePosition(date, latitude, longitude, distance)\n const group = new Group()\n\n group.add(\n createSunEntity(),\n createSunLight(),\n )\n\n group.position.set(position.x, position.y, position.z)\n group.lookAt(0, 0, 0)\n\n const updateSunPosition = (date: Date, latitude: number, longitude: number) => {\n const currentPosition = getThreePosition(date, latitude, longitude, distance)\n group.position.set(currentPosition.x, currentPosition.y, currentPosition.z)\n }\n\n return [group, updateSunPosition, (currentDate?: Date) => {\n return getSunPosition(currentDate || date, latitude, longitude)\n }]\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,EAAEC,KAAK,EAAEC,IAAI,EAAEC,iBAAiB,EAAEC,cAAc,EAAEC,OAAO,QAAQ,eAAe;AACzG,SAASC,WAAW,QAAQ,SAAS;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,gBAAgB,GAAG,SAAnBA,
|
|
1
|
+
{"version":3,"names":["DirectionalLight","Group","Mesh","MeshBasicMaterial","SphereGeometry","Vector3","getPosition","getThreePosition","date","latitude","longitude","distance","_getPosition","altitude","azimuth","x","Math","cos","z","sin","y","getSunPosition","_getPosition2","createSunEntity","box","mater","color","mesh","createSunLight","sunLight","castShadow","shadow","bias","mapSize","set","createSun","arguments","length","undefined","autoUpdate","position","group","add","lookAt","updateSunPosition","currentPosition","currentDate"],"sources":["../../../src/environment/sun/index.ts"],"sourcesContent":["import { DirectionalLight, Group, Mesh, MeshBasicMaterial, SphereGeometry, Vector3 } from '@anov/3d-core'\nimport { getPosition } from 'suncalc'\n\n/**\n * 获取当前笛卡尔坐标\n * @param date\n * @param latitude\n * @param longitude\n */\nconst getThreePosition = (date: Date, latitude: number, longitude: number, distance: number) => {\n const { altitude, azimuth } = getPosition(date, latitude, longitude)\n\n const x = distance * (Math.cos(altitude)) * (Math.cos(azimuth))\n const z = distance * (Math.cos(altitude)) * (Math.sin(azimuth))\n const y = distance * (Math.sin(altitude))\n\n return new Vector3(x, y, z)\n}\n\nexport const getSunPosition = (date: Date, latitude: number, longitude: number) => {\n const { altitude, azimuth } = getPosition(date, latitude, longitude)\n\n return {\n altitude,\n azimuth,\n }\n}\n\n/**\n * entity\n * @returns\n */\nconst createSunEntity = () => {\n const box = new SphereGeometry(1)\n const mater = new MeshBasicMaterial({ color: 'yellow' })\n const mesh = new Mesh(box, mater)\n\n return mesh\n}\n\n/**\n * sun light\n * @returns\n */\nconst createSunLight = () => {\n const sunLight = new DirectionalLight('white', 8)\n sunLight.castShadow = true\n sunLight.shadow.bias = -0.005\n sunLight.shadow.mapSize.set(1024, 1024)\n\n return sunLight\n}\n\n/**\n * create init\n * @param date\n * @param latitude\n * @param longitude\n * @param distance\n */\nexport const createSun = (date: Date, latitude: number, longitude: number, distance = 1000, autoUpdate = true) => {\n const position = getThreePosition(date, latitude, longitude, distance)\n const group = new Group()\n\n group.add(\n createSunEntity(),\n createSunLight(),\n )\n\n group.position.set(position.x, position.y, position.z)\n group.lookAt(0, 0, 0)\n\n const updateSunPosition = (date: Date, latitude: number, longitude: number) => {\n const currentPosition = getThreePosition(date, latitude, longitude, distance)\n group.position.set(currentPosition.x, currentPosition.y, currentPosition.z)\n }\n\n return [group, updateSunPosition, (currentDate?: Date) => {\n return getSunPosition(currentDate || date, latitude, longitude)\n }]\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
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
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
3
|
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); } }
|
|
4
4
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
5
|
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; }
|
|
6
|
-
function _toPropertyKey(
|
|
7
|
-
function _toPrimitive(
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
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); }
|
|
8
8
|
import { BufferGeometry, Points, PointsMaterial, TextureLoader, Vector3 } from '@anov/3d-core';
|
|
9
9
|
var EnvironmentPoints = /*#__PURE__*/function () {
|
|
10
10
|
function EnvironmentPoints(opts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BufferGeometry","Points","PointsMaterial","TextureLoader","Vector3","EnvironmentPoints","opts","createEnvPoints","material","size","map","load","url","transparent","opacity","depthTest","geometry","range","i","count","position","Math","random","speedX","speed","x","speedY","y","speedZ","z","points","push","setFromPoints","point","handlefn","forEach"],"sources":["../../../src/environment/utils/points.ts"],"sourcesContent":["import { BufferGeometry, Points, PointsMaterial, TextureLoader, Vector3 } from '@anov/3d-core'\nimport type { SpeedType } from '../rain'\n\ninterface EnvPointsOptions {\n range?: number\n count?: number\n opacity?: number\n url: string\n size?: number\n speed?: SpeedType\n}\n\nexport type AVector3 = Vector3 & {\n speedX: number\n speedY: number\n speedZ: number\n}\n\nclass EnvironmentPoints {\n private opts: EnvPointsOptions = {} as EnvPointsOptions\n public points: AVector3[] = []\n\n public material: PointsMaterial | null = null\n public geometry: BufferGeometry | null = null\n public point: Points | null = null\n\n constructor(opts: EnvPointsOptions) {\n this.opts = opts\n\n this.createEnvPoints()\n }\n\n private createEnvPoints() {\n this.material = new PointsMaterial({\n size: this.opts.size || 1,\n map: new TextureLoader().load(this.opts.url),\n transparent: true,\n opacity: this.opts.opacity,\n depthTest: false,\n })\n\n this.geometry = new BufferGeometry()\n\n const range = this.opts.range ?? 1000\n\n for (let i = 0; i < (this.opts.count || 500); i++) {\n const position = new Vector3(\n Math.random() * range - range / 2,\n Math.random() * range,\n Math.random() * range - range / 2,\n ) as AVector3\n\n position.speedX = this.opts.speed?.x || 0\n position.speedY = this.opts.speed?.y || 10\n position.speedZ = this.opts.speed?.z || 0\n\n this.points.push(position)\n }\n this.geometry.setFromPoints(this.points)\n\n this.point = new Points(this.geometry, this.material)\n }\n\n public animation(handlefn: (position: AVector3) => void) {\n this.points.forEach((position) => {\n handlefn(position)\n })\n\n this.point!.geometry.setFromPoints(this.points)\n }\n}\n\nexport default EnvironmentPoints"],"mappings":";;;;;;;AAAA,SAASA,cAAc,EAAEC,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAEC,OAAO,QAAQ,eAAe;AAAA,IAkBxFC,iBAAiB;EAQrB,
|
|
1
|
+
{"version":3,"names":["BufferGeometry","Points","PointsMaterial","TextureLoader","Vector3","EnvironmentPoints","opts","_classCallCheck","_defineProperty","createEnvPoints","_createClass","key","value","_this$opts$range","material","size","map","load","url","transparent","opacity","depthTest","geometry","range","i","count","_this$opts$speed","_this$opts$speed2","_this$opts$speed3","position","Math","random","speedX","speed","x","speedY","y","speedZ","z","points","push","setFromPoints","point","animation","handlefn","forEach"],"sources":["../../../src/environment/utils/points.ts"],"sourcesContent":["import { BufferGeometry, Points, PointsMaterial, TextureLoader, Vector3 } from '@anov/3d-core'\nimport type { SpeedType } from '../rain'\n\ninterface EnvPointsOptions {\n range?: number\n count?: number\n opacity?: number\n url: string\n size?: number\n speed?: SpeedType\n}\n\nexport type AVector3 = Vector3 & {\n speedX: number\n speedY: number\n speedZ: number\n}\n\nclass EnvironmentPoints {\n private opts: EnvPointsOptions = {} as EnvPointsOptions\n public points: AVector3[] = []\n\n public material: PointsMaterial | null = null\n public geometry: BufferGeometry | null = null\n public point: Points | null = null\n\n constructor(opts: EnvPointsOptions) {\n this.opts = opts\n\n this.createEnvPoints()\n }\n\n private createEnvPoints() {\n this.material = new PointsMaterial({\n size: this.opts.size || 1,\n map: new TextureLoader().load(this.opts.url),\n transparent: true,\n opacity: this.opts.opacity,\n depthTest: false,\n })\n\n this.geometry = new BufferGeometry()\n\n const range = this.opts.range ?? 1000\n\n for (let i = 0; i < (this.opts.count || 500); i++) {\n const position = new Vector3(\n Math.random() * range - range / 2,\n Math.random() * range,\n Math.random() * range - range / 2,\n ) as AVector3\n\n position.speedX = this.opts.speed?.x || 0\n position.speedY = this.opts.speed?.y || 10\n position.speedZ = this.opts.speed?.z || 0\n\n this.points.push(position)\n }\n this.geometry.setFromPoints(this.points)\n\n this.point = new Points(this.geometry, this.material)\n }\n\n public animation(handlefn: (position: AVector3) => void) {\n this.points.forEach((position) => {\n handlefn(position)\n })\n\n this.point!.geometry.setFromPoints(this.points)\n }\n}\n\nexport default EnvironmentPoints"],"mappings":"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"}
|