@anov/3d-ability 0.0.139 → 0.0.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/business/Animation/motion/index.js +35 -56
- package/dist/business/Animation/motion/index.js.map +1 -1
- package/dist/business/Animation/type.js +2 -2
- package/dist/business/Area/Fence/FenceBase.js +146 -187
- package/dist/business/Area/Fence/FenceBase.js.map +1 -1
- package/dist/business/Area/Fence/fence_base_01.js +120 -112
- package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
- package/dist/business/Area/Fence/fence_feeting_01.js +218 -130
- package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
- package/dist/business/Area/Fence/fence_roll_01.js +140 -130
- package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
- package/dist/business/Area/FillArea/FillAreaBase.js +87 -126
- package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
- package/dist/business/Area/FillArea/fillArea_face_01.js +72 -98
- package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -1
- package/dist/business/Area/FillArea/fillArea_line_01.js +66 -94
- package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -1
- package/dist/business/Area/index.js +267 -483
- package/dist/business/Area/index.js.map +1 -1
- package/dist/business/Area/tool.js +14 -26
- package/dist/business/Area/tool.js.map +1 -1
- package/dist/business/Base/ObjectLayer.js +21 -46
- package/dist/business/Base/ObjectLayer.js.map +1 -1
- package/dist/business/Batch/index.js +189 -234
- package/dist/business/Batch/index.js.map +1 -1
- package/dist/business/Box/index.js +52 -81
- package/dist/business/Box/index.js.map +1 -1
- package/dist/business/Cylinder/index.js +51 -79
- package/dist/business/Cylinder/index.js.map +1 -1
- package/dist/business/Flyline/bubble/CircleBubble.js +1 -9
- package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -1
- package/dist/business/Flyline/bubble/index.js +7 -21
- package/dist/business/Flyline/bubble/index.js.map +1 -1
- package/dist/business/Flyline/index.js +96 -162
- package/dist/business/Flyline/index.js.map +1 -1
- package/dist/business/Flyline/line/ArcLine.js +208 -291
- package/dist/business/Flyline/line/ArcLine.js.map +1 -1
- package/dist/business/Flyline/line/index.js +8 -22
- package/dist/business/Flyline/line/index.js.map +1 -1
- package/dist/business/HeatMap/HeatMap.js +380 -467
- package/dist/business/HeatMap/HeatMap.js.map +1 -1
- package/dist/business/HeatMap/core.js +405 -525
- package/dist/business/HeatMap/core.js.map +1 -1
- package/dist/business/HeatMap/shader.js +69 -3
- package/dist/business/HeatMap/shader.js.map +1 -1
- package/dist/business/InfoPanel/index.js +201 -242
- package/dist/business/InfoPanel/index.js.map +1 -1
- package/dist/business/Line/index.js +55 -88
- package/dist/business/Line/index.js.map +1 -1
- package/dist/business/Mark/KeyframeAnimation.js +145 -176
- package/dist/business/Mark/KeyframeAnimation.js.map +1 -1
- package/dist/business/Mark/index.js +196 -294
- package/dist/business/Mark/index.js.map +1 -1
- package/dist/business/Mark/shader/tanhao.js +36 -3
- package/dist/business/Mark/shader/tanhao.js.map +1 -1
- package/dist/business/Mark/type.js +1 -1
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +377 -551
- package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
- package/dist/business/MaterialSwitch/inject.js +92 -58
- package/dist/business/MaterialSwitch/inject.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/finalFade.js +74 -2
- package/dist/business/MaterialSwitch/shader/finalFade.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/ground.js +95 -16
- package/dist/business/MaterialSwitch/shader/ground.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/groundBase64.js +9 -3
- package/dist/business/MaterialSwitch/shader/groundBase64.js.map +1 -1
- package/dist/business/MaterialSwitch/shader/realFade.js +48 -9
- package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
- package/dist/business/Plane/index.js +51 -78
- package/dist/business/Plane/index.js.map +1 -1
- package/dist/business/Poi/index.d.ts +5 -0
- package/dist/business/Poi/index.js +256 -295
- package/dist/business/Poi/index.js.map +1 -1
- package/dist/business/Poi/link/Cylinder.js +56 -89
- package/dist/business/Poi/link/Cylinder.js.map +1 -1
- package/dist/business/Poi/link/Pyramid.js +104 -165
- package/dist/business/Poi/link/Pyramid.js.map +1 -1
- package/dist/business/Poi/link/index.d.ts +1 -1
- package/dist/business/Poi/link/index.js +54 -114
- package/dist/business/Poi/link/index.js.map +1 -1
- package/dist/business/Poi/panel/index.d.ts +124 -0
- package/dist/business/Poi/panel/index.js +474 -0
- package/dist/business/Poi/panel/index.js.map +1 -0
- package/dist/business/Poi/panel/interfaces.d.ts +67 -0
- package/dist/business/Poi/panel/interfaces.js +2 -0
- package/dist/business/Poi/panel/interfaces.js.map +1 -0
- package/dist/business/Poi/panel/utils.d.ts +72 -0
- package/dist/business/Poi/panel/utils.js +126 -0
- package/dist/business/Poi/panel/utils.js.map +1 -0
- package/dist/business/Poi/particle/DoubleCircle.js +71 -107
- package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
- package/dist/business/Poi/particle/DynamicCircle.js +75 -111
- package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
- package/dist/business/Poi/particle/SingleCircle.js +62 -98
- package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
- package/dist/business/Poi/particle/index.js +49 -117
- package/dist/business/Poi/particle/index.js.map +1 -1
- package/dist/business/Poi/shader/circle.js +31 -3
- package/dist/business/Poi/shader/circle.js.map +1 -1
- package/dist/business/Poi/shader/cylinder.js +37 -3
- package/dist/business/Poi/shader/cylinder.js.map +1 -1
- package/dist/business/Poi/shader/doubleCircle.js +55 -3
- package/dist/business/Poi/shader/doubleCircle.js.map +1 -1
- package/dist/business/Poi/shader/dynamicCircle.js +67 -3
- package/dist/business/Poi/shader/dynamicCircle.js.map +1 -1
- package/dist/business/Poi/title/Border.js +7 -27
- package/dist/business/Poi/title/Border.js.map +1 -1
- package/dist/business/Poi/title/Ellipse.js +7 -27
- package/dist/business/Poi/title/Ellipse.js.map +1 -1
- package/dist/business/Poi/title/index.js +208 -292
- package/dist/business/Poi/title/index.js.map +1 -1
- package/dist/business/Poi/tools.js +22 -19
- package/dist/business/Poi/tools.js.map +1 -1
- package/dist/business/Poi/types.d.ts +3 -0
- package/dist/business/Poi/types.js.map +1 -1
- package/dist/business/Sphere/index.js +47 -72
- package/dist/business/Sphere/index.js.map +1 -1
- package/dist/business/Spline/index.js +190 -245
- package/dist/business/Spline/index.js.map +1 -1
- package/dist/business/SplitBuilding/index.js +327 -536
- package/dist/business/SplitBuilding/index.js.map +1 -1
- package/dist/business/SplitBuilding/type.js +2 -2
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +218 -275
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +132 -177
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +51 -1
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +6 -1
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -1
- package/dist/business/TrafficComponents/base.js +32 -55
- package/dist/business/TrafficComponents/base.js.map +1 -1
- package/dist/business/TrafficComponents/utils.js +25 -24
- package/dist/business/TrafficComponents/utils.js.map +1 -1
- package/dist/business/Utils/Curve.js +40 -56
- package/dist/business/Utils/Curve.js.map +1 -1
- package/dist/business/Utils/constant.js +1 -1
- package/dist/business/Utils/constant.js.map +1 -1
- package/dist/business/Utils/defineProps.js +13 -14
- package/dist/business/Utils/defineProps.js.map +1 -1
- package/dist/business/Utils/round-curve.js +127 -153
- package/dist/business/Utils/round-curve.js.map +1 -1
- package/dist/business/VideoPanel/index.js +258 -319
- package/dist/business/VideoPanel/index.js.map +1 -1
- package/dist/business/Water/index.js +78 -108
- package/dist/business/Water/index.js.map +1 -1
- package/dist/business/Water/types.js +1 -1
- package/dist/business/Water/types.js.map +1 -1
- package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +383 -449
- package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
- package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js +107 -142
- package/dist/core/Camera/PerspectiveCamera/FollowOrbitControls.js.map +1 -1
- package/dist/core/Controls/FirstViewControl/index.js +84 -96
- package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/action/input.js +77 -98
- package/dist/core/Controls/ThirdViewControl/action/input.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/config/constants.js +1 -1
- package/dist/core/Controls/ThirdViewControl/config/constants.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/index.js +19 -28
- package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/animation.js +126 -155
- package/dist/core/Controls/ThirdViewControl/player/animation.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/camera.js +47 -63
- package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player/control.js +39 -49
- package/dist/core/Controls/ThirdViewControl/player/control.js.map +1 -1
- package/dist/core/Controls/ThirdViewControl/player.js +66 -91
- package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
- package/dist/core/Controls/base.js +14 -30
- package/dist/core/Controls/base.js.map +1 -1
- package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js +92 -131
- package/dist/core/Curve/RoundedCornersCurve/RoundedCornersCurve.js.map +1 -1
- package/dist/core/Debug/PerformanceInfo/Performance.js +22 -47
- package/dist/core/Debug/PerformanceInfo/Performance.js.map +1 -1
- package/dist/core/Light/PointLight/PointLightExt.js +4 -21
- package/dist/core/Light/PointLight/PointLightExt.js.map +1 -1
- package/dist/core/Material/FinirMaterial/FinirMaterial.js +37 -57
- package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js +116 -153
- package/dist/core/Material/PristineGridMaterial/PristineGridMaterial.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/shader/fragment.js +95 -1
- package/dist/core/Material/PristineGridMaterial/shader/fragment.js.map +1 -1
- package/dist/core/Material/PristineGridMaterial/shader/vertex.js +26 -1
- package/dist/core/Material/PristineGridMaterial/shader/vertex.js.map +1 -1
- package/dist/core/Material/SurfaceMaterial/index.js +76 -172
- package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
- package/dist/core/Material/decorators.js +6 -11
- package/dist/core/Material/decorators.js.map +1 -1
- package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +16 -12
- package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
- package/dist/core/PostEffects/addBrightnessContrastPass.js +17 -13
- package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
- package/dist/core/PostEffects/bloomPass.js +17 -10
- package/dist/core/PostEffects/bloomPass.js.map +1 -1
- package/dist/core/PostEffects/bloomSelect.js +60 -43
- package/dist/core/PostEffects/bloomSelect.js.map +1 -1
- package/dist/core/PostEffects/colorifyPass.js +17 -13
- package/dist/core/PostEffects/colorifyPass.js.map +1 -1
- package/dist/core/PostEffects/index.js +28 -22
- package/dist/core/PostEffects/index.js.map +1 -1
- package/dist/core/PostEffects/outlinePass.js +37 -50
- package/dist/core/PostEffects/outlinePass.js.map +1 -1
- package/dist/core/PostEffects/postprocessing.js +14 -12
- package/dist/core/PostEffects/postprocessing.js.map +1 -1
- package/dist/core/PostEffects/saoPass.js +15 -10
- package/dist/core/PostEffects/saoPass.js.map +1 -1
- package/dist/core/PostEffects/shader/colorify.js +22 -3
- package/dist/core/PostEffects/shader/colorify.js.map +1 -1
- package/dist/core/PostEffects/shader/gammaCorrectionShader.js +27 -3
- package/dist/core/PostEffects/shader/gammaCorrectionShader.js.map +1 -1
- package/dist/core/PostEffects/shader/mapping.js +66 -3
- package/dist/core/PostEffects/shader/mapping.js.map +1 -1
- package/dist/core/PostEffects/shader/thermalMaging.js +28 -3
- package/dist/core/PostEffects/shader/thermalMaging.js.map +1 -1
- package/dist/core/SceneEffect/grow/grow.js +85 -101
- package/dist/core/SceneEffect/grow/grow.js.map +1 -1
- package/dist/core/SceneEffect/grow/style_down.js +60 -77
- package/dist/core/SceneEffect/grow/style_down.js.map +1 -1
- package/dist/core/SceneEffect/grow/style_up.js +64 -81
- package/dist/core/SceneEffect/grow/style_up.js.map +1 -1
- package/dist/core/SceneEffect/grow/type.js +2 -2
- package/dist/core/SceneEffect/grow/type.js.map +1 -1
- package/dist/core/WeatherSystem/DynamicWeatherSystem.js +51 -76
- package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
- package/dist/core/WeatherSystem/hdr/index.js +69 -105
- package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
- package/dist/core/WeatherSystem/index.js +77 -124
- package/dist/core/WeatherSystem/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/fog/index.js +52 -80
- package/dist/core/WeatherSystem/objects/fog/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/index.js +72 -84
- package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/lineRain.js +88 -118
- package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/plane.js +116 -146
- package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/point.js +100 -148
- package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/cloud.js +71 -104
- package/dist/core/WeatherSystem/objects/sky/cloud.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/index.js +66 -84
- package/dist/core/WeatherSystem/objects/sky/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/sky/outline.js +25 -45
- package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/cloud.js +74 -3
- package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/fog.js +103 -3
- package/dist/core/WeatherSystem/shaders/fog.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/rain.js +206 -7
- package/dist/core/WeatherSystem/shaders/rain.js.map +1 -1
- package/dist/core/WeatherSystem/shaders/sky.js +87 -3
- package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
- package/dist/core/WeatherSystem/sky/index.js +104 -135
- package/dist/core/WeatherSystem/sky/index.js.map +1 -1
- package/dist/core/WeatherSystem/utils/constant.js +44 -38
- package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
- package/dist/core/WeatherSystem/utils/math.js +18 -25
- package/dist/core/WeatherSystem/utils/math.js.map +1 -1
- package/dist/core/WeatherSystem/utils/type.js +1 -1
- package/dist/core/WeatherSystem/utils/type.js.map +1 -1
- package/dist/core/WeatherSystem/weather/index.js +96 -141
- package/dist/core/WeatherSystem/weather/index.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BufferAttribute","Mesh","RepeatWrapping","ShaderMaterial","SphereGeometry","TextureLoader","cloudShader","CloudDensity","T_TileNoise","T_soft_smoke","textureLoader","_defaultOption","texture1","load","texture2","duration","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","skyTime","CloudMesh","
|
|
1
|
+
{"version":3,"names":["BufferAttribute","Mesh","RepeatWrapping","ShaderMaterial","SphereGeometry","TextureLoader","cloudShader","CloudDensity","T_TileNoise","T_soft_smoke","textureLoader","_defaultOption","texture1","load","texture2","duration","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","skyTime","CloudMesh","constructor","_defineProperty","option","wrapS","wrapT","setUniforms","_objectSpread","iTime","geometry","Math","PI","positions","attributes","position","array","uvs","Float32Array","length","i","x","z","u","v","setAttribute","material","uniforms","vertexShader","fragmentShader","side","transparent","depthWrite","Object","assign","keys","forEach","key","value","setTime","time","setAlpha","alpha","setScale","scale","setSpeed","setFlash","setEffect","type","ops","density","update"],"sources":["../../../../../src/core/WeatherSystem/objects/sky/cloud.ts"],"sourcesContent":["import { BufferAttribute, Mesh, RepeatWrapping, ShaderMaterial, SphereGeometry, TextureLoader } from '@anov/3d-core'\nimport cloudShader from '../../shaders/cloud'\nimport type { ICloudOption } from '../../utils/constant'\nimport { CloudDensity, T_TileNoise, T_soft_smoke } from '../../utils/constant'\n\nconst textureLoader = new TextureLoader()\n\nconst _defaultOption: ICloudOption = {\n texture1: textureLoader.load(T_soft_smoke),\n texture2: textureLoader.load(T_TileNoise),\n duration: 2,\n cloudDensity: 0.02,\n cloudDensity2: 1.6,\n cloudalpha: 0.8,\n cloudscale: 8.0,\n speed: 0.2,\n color: [0.9, 0.9, 0.9],\n flash: 0.3,\n skyTime: 7.0,\n}\n\nclass CloudMesh extends Mesh {\n option: ICloudOption = _defaultOption\n\n uniforms: any = {}\n mesh!: Mesh\n loaded!: Promise<Boolean>\n\n constructor() {\n super()\n if (this.option.texture1)\n this.option.texture1.wrapS = this.option.texture1.wrapT = RepeatWrapping\n if (this.option.texture2)\n this.option.texture2.wrapS = this.option.texture2.wrapT = RepeatWrapping\n this.setUniforms({\n ...this.option,\n iTime: 0,\n })\n\n this.geometry = new SphereGeometry(1, 320, 320, 0, Math.PI * 2, 0, 1.5)\n const positions = this.geometry.attributes.position.array\n const uvs = new Float32Array(positions.length / 3 * 2) // 创建新的 UV 数组\n\n // 重新计算 UV 坐标\n for (let i = 0; i < positions.length / 3; i++) {\n const x = positions[i * 3]\n const z = positions[i * 3 + 2]\n\n const u = (x * 0.8 + 1) / 2 // 将 x 坐标映射到 [0, 1]\n const v = (z * 0.8 + 1) / 2 // 将 z 坐标映射到 [0, 1]\n\n uvs[i * 2] = u\n uvs[i * 2 + 1] = v\n }\n // 将新的 UV 坐标添加到几何体\n this.geometry.setAttribute('uv', new BufferAttribute(uvs, 2))\n\n this.material = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: cloudShader.vertexShader,\n fragmentShader: cloudShader.fragmentShader,\n side: 2,\n transparent: true,\n depthWrite: false,\n })\n // this.position.y = -2000\n // this.scale.set (19990, 6000, 19990)\n }\n\n /**\n * 设置天气的Uniforms\n * @param option\n */\n private setUniforms(option: ICloudOption) {\n Object.assign(this.option, option)\n\n Object.keys(option).forEach((key: string) => {\n this.uniforms[key] = { value: option[key] }\n })\n }\n\n setTime(time: number) {\n this.setUniforms({ skyTime: time })\n // console.log(time)\n // this.setUniforms({ skyTime: time.toFixed(1) })\n }\n\n public setAlpha(alpha: number) {\n this.setUniforms({ cloudalpha: alpha })\n }\n\n public setScale(scale: number) {\n this.setUniforms({ cloudscale: scale })\n }\n\n public setSpeed(speed: number) {\n this.setUniforms({ speed })\n }\n\n public setFlash(flash: number) {\n this.setUniforms({ flash })\n }\n\n public setEffect(type: string, ops: ICloudOption) {\n const density = CloudDensity[type] || {}\n this.setUniforms({ ...density, ...ops })\n }\n\n public update() {\n const { iTime } = this.uniforms\n iTime.value += 0.005\n }\n}\n\nexport default CloudMesh"],"mappings":"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"}
|
|
@@ -1,130 +1,112 @@
|
|
|
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 _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 _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
6
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
7
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
8
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
9
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
10
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
11
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
12
1
|
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; }
|
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" ==
|
|
14
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
3
|
+
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); }
|
|
15
4
|
import { Group, Mesh, Vector3 } from '@anov/3d-core';
|
|
16
5
|
import { EWeatherType } from "../../utils/type";
|
|
17
6
|
import OutlineMesh from "./outline";
|
|
18
7
|
import CloudMesh from "./cloud";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
8
|
+
class SkyMesh extends Mesh {
|
|
9
|
+
constructor(option) {
|
|
10
|
+
super();
|
|
11
|
+
_defineProperty(this, "outline", void 0);
|
|
12
|
+
_defineProperty(this, "cloud", void 0);
|
|
13
|
+
_defineProperty(this, "group", void 0);
|
|
14
|
+
this.group = new Group();
|
|
15
|
+
this.outline = new OutlineMesh();
|
|
16
|
+
this.cloud = new CloudMesh();
|
|
17
|
+
this.initialize(option);
|
|
18
|
+
}
|
|
19
|
+
initialize(option) {
|
|
20
|
+
this.group.add(this.outline);
|
|
21
|
+
this.group.add(this.cloud);
|
|
22
|
+
this.group.position.copy(new Vector3().fromArray(option.position));
|
|
23
|
+
this.group.scale.copy(new Vector3().fromArray(option.scale));
|
|
24
|
+
this.add(this.group);
|
|
34
25
|
}
|
|
35
|
-
_createClass(SkyMesh, [{
|
|
36
|
-
key: "initialize",
|
|
37
|
-
value: function initialize(option) {
|
|
38
|
-
this.group.add(this.outline);
|
|
39
|
-
this.group.add(this.cloud);
|
|
40
|
-
this.group.position.copy(new Vector3().fromArray(option.position));
|
|
41
|
-
this.group.scale.copy(new Vector3().fromArray(option.scale));
|
|
42
|
-
this.add(this.group);
|
|
43
|
-
}
|
|
44
26
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.cloud.setTime(time);
|
|
54
|
-
}
|
|
27
|
+
/**
|
|
28
|
+
* 设置时间
|
|
29
|
+
* @param {number} time - 时间值
|
|
30
|
+
*/
|
|
31
|
+
setTime(time) {
|
|
32
|
+
this.outline.setTime(time);
|
|
33
|
+
this.cloud.setTime(time);
|
|
34
|
+
}
|
|
55
35
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var effects = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, EWeatherType.Sunny, {
|
|
36
|
+
/**
|
|
37
|
+
* 设置云效果
|
|
38
|
+
* @param {string} type - 效果类型
|
|
39
|
+
* @param {ICloudOption} ops - 配置参数
|
|
40
|
+
*/
|
|
41
|
+
setEffect(type, time) {
|
|
42
|
+
this.setTime(time);
|
|
43
|
+
const effects = {
|
|
44
|
+
[EWeatherType.Sunny]: {
|
|
66
45
|
cloudalpha: 3.0,
|
|
67
46
|
cloudscale: 10.0,
|
|
68
47
|
speed: 0.08,
|
|
69
48
|
flash: 0.0
|
|
70
|
-
}
|
|
49
|
+
},
|
|
50
|
+
[EWeatherType.Cloudy]: {
|
|
71
51
|
cloudalpha: 1.5,
|
|
72
52
|
cloudscale: 6.0,
|
|
73
53
|
speed: 0.09,
|
|
74
54
|
flash: 0.0
|
|
75
|
-
}
|
|
55
|
+
},
|
|
56
|
+
[EWeatherType.Overcast]: {
|
|
76
57
|
cloudalpha: 1.8,
|
|
77
58
|
cloudscale: 4,
|
|
78
59
|
speed: 0.08,
|
|
79
60
|
flash: 1.0
|
|
80
|
-
}
|
|
61
|
+
},
|
|
62
|
+
[EWeatherType.Rain]: {
|
|
81
63
|
cloudalpha: 1.8,
|
|
82
64
|
cloudscale: 4,
|
|
83
65
|
speed: 0.08,
|
|
84
66
|
flash: 1.0
|
|
85
|
-
}
|
|
67
|
+
},
|
|
68
|
+
[EWeatherType.Rain_Thunderstorm]: {
|
|
86
69
|
cloudalpha: 1.8,
|
|
87
70
|
cloudscale: 4,
|
|
88
71
|
speed: 0.08,
|
|
89
72
|
flash: 1.0
|
|
90
|
-
}
|
|
73
|
+
},
|
|
74
|
+
[EWeatherType.Snow]: {
|
|
91
75
|
cloudalpha: 2.7,
|
|
92
76
|
cloudscale: 4,
|
|
93
77
|
speed: 0.08,
|
|
94
78
|
flash: 0
|
|
95
|
-
}
|
|
79
|
+
},
|
|
80
|
+
[EWeatherType.Snow_Blizzard]: {
|
|
96
81
|
cloudalpha: 2.7,
|
|
97
82
|
cloudscale: 4,
|
|
98
83
|
speed: 0.08,
|
|
99
84
|
flash: 0
|
|
100
|
-
}
|
|
85
|
+
},
|
|
86
|
+
[EWeatherType.Sand_Dust_Calm]: {
|
|
101
87
|
cloudalpha: 1.6,
|
|
102
88
|
cloudscale: 6,
|
|
103
89
|
speed: 0.1,
|
|
104
90
|
flash: 0
|
|
105
|
-
}
|
|
91
|
+
},
|
|
92
|
+
[EWeatherType.Foggy]: {
|
|
106
93
|
cloudalpha: 2.0,
|
|
107
94
|
cloudscale: 9,
|
|
108
95
|
speed: 0.08,
|
|
109
96
|
flash: 0.0
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
this.removeFromParent();
|
|
125
|
-
}
|
|
126
|
-
}]);
|
|
127
|
-
return SkyMesh;
|
|
128
|
-
}(Mesh);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
this.cloud.setEffect(type, effects[type]);
|
|
100
|
+
}
|
|
101
|
+
update() {
|
|
102
|
+
this.cloud.update();
|
|
103
|
+
}
|
|
104
|
+
delete() {
|
|
105
|
+
this.group.remove(this.outline);
|
|
106
|
+
this.group.remove(this.cloud);
|
|
107
|
+
this.remove(this.group);
|
|
108
|
+
this.removeFromParent();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
129
111
|
export default SkyMesh;
|
|
130
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Group","Mesh","Vector3","EWeatherType","OutlineMesh","CloudMesh","SkyMesh","
|
|
1
|
+
{"version":3,"names":["Group","Mesh","Vector3","EWeatherType","OutlineMesh","CloudMesh","SkyMesh","constructor","option","_defineProperty","group","outline","cloud","initialize","add","position","copy","fromArray","scale","setTime","time","setEffect","type","effects","Sunny","cloudalpha","cloudscale","speed","flash","Cloudy","Overcast","Rain","Rain_Thunderstorm","Snow","Snow_Blizzard","Sand_Dust_Calm","Foggy","update","delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/sky/index.ts"],"sourcesContent":["import { Group, Mesh, Vector3 } from '@anov/3d-core'\nimport { EWeatherType } from '../../utils/type'\nimport OutlineMesh from './outline'\nimport CloudMesh from './cloud'\n\nclass SkyMesh extends Mesh {\n outline: OutlineMesh\n cloud: CloudMesh\n group: Group\n\n constructor(option: { position: number[]; scale: number[] }) {\n super()\n\n this.group = new Group()\n this.outline = new OutlineMesh()\n this.cloud = new CloudMesh()\n\n this.initialize(option)\n }\n\n initialize(option) {\n this.group.add(this.outline)\n this.group.add(this.cloud)\n this.group.position.copy(new Vector3().fromArray(option.position))\n this.group.scale.copy(new Vector3().fromArray(option.scale))\n this.add(this.group)\n }\n\n /**\n * 设置时间\n * @param {number} time - 时间值\n */\n setTime(time: number) {\n this.outline.setTime(time)\n this.cloud.setTime(time)\n }\n\n /**\n * 设置云效果\n * @param {string} type - 效果类型\n * @param {ICloudOption} ops - 配置参数\n */\n setEffect(type: string, time: number) {\n this.setTime(time)\n const effects = {\n [EWeatherType.Sunny]: { cloudalpha: 3.0, cloudscale: 10.0, speed: 0.08, flash: 0.0 },\n [EWeatherType.Cloudy]: { cloudalpha: 1.5, cloudscale: 6.0, speed: 0.09, flash: 0.0 },\n [EWeatherType.Overcast]: { cloudalpha: 1.8, cloudscale: 4, speed: 0.08, flash: 1.0 },\n [EWeatherType.Rain]: { cloudalpha: 1.8, cloudscale: 4, speed: 0.08, flash: 1.0 },\n [EWeatherType.Rain_Thunderstorm]: { cloudalpha: 1.8, cloudscale: 4, speed: 0.08, flash: 1.0 },\n [EWeatherType.Snow]: { cloudalpha: 2.7, cloudscale: 4, speed: 0.08, flash: 0 },\n [EWeatherType.Snow_Blizzard]: { cloudalpha: 2.7, cloudscale: 4, speed: 0.08, flash: 0 },\n [EWeatherType.Sand_Dust_Calm]: { cloudalpha: 1.6, cloudscale: 6, speed: 0.1, flash: 0 },\n [EWeatherType.Foggy]: { cloudalpha: 2.0, cloudscale: 9, speed: 0.08, flash: 0.0 },\n }\n this.cloud.setEffect(type, effects[type])\n }\n\n update() {\n this.cloud.update()\n }\n\n delete() {\n this.group.remove(this.outline)\n this.group.remove(this.cloud)\n this.remove(this.group)\n this.removeFromParent()\n }\n}\n\nexport default SkyMesh\n"],"mappings":";;;AAAA,SAASA,KAAK,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AACpD,SAASC,YAAY;AACrB,OAAOC,WAAW;AAClB,OAAOC,SAAS;AAEhB,MAAMC,OAAO,SAASL,IAAI,CAAC;EAKzBM,WAAWA,CAACC,MAA+C,EAAE;IAC3D,KAAK,CAAC,CAAC;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAEP,IAAI,CAACC,KAAK,GAAG,IAAIV,KAAK,CAAC,CAAC;IACxB,IAAI,CAACW,OAAO,GAAG,IAAIP,WAAW,CAAC,CAAC;IAChC,IAAI,CAACQ,KAAK,GAAG,IAAIP,SAAS,CAAC,CAAC;IAE5B,IAAI,CAACQ,UAAU,CAACL,MAAM,CAAC;EACzB;EAEAK,UAAUA,CAACL,MAAM,EAAE;IACjB,IAAI,CAACE,KAAK,CAACI,GAAG,CAAC,IAAI,CAACH,OAAO,CAAC;IAC5B,IAAI,CAACD,KAAK,CAACI,GAAG,CAAC,IAAI,CAACF,KAAK,CAAC;IAC1B,IAAI,CAACF,KAAK,CAACK,QAAQ,CAACC,IAAI,CAAC,IAAId,OAAO,CAAC,CAAC,CAACe,SAAS,CAACT,MAAM,CAACO,QAAQ,CAAC,CAAC;IAClE,IAAI,CAACL,KAAK,CAACQ,KAAK,CAACF,IAAI,CAAC,IAAId,OAAO,CAAC,CAAC,CAACe,SAAS,CAACT,MAAM,CAACU,KAAK,CAAC,CAAC;IAC5D,IAAI,CAACJ,GAAG,CAAC,IAAI,CAACJ,KAAK,CAAC;EACtB;;EAEA;AACF;AACA;AACA;EACES,OAAOA,CAACC,IAAY,EAAE;IACpB,IAAI,CAACT,OAAO,CAACQ,OAAO,CAACC,IAAI,CAAC;IAC1B,IAAI,CAACR,KAAK,CAACO,OAAO,CAACC,IAAI,CAAC;EAC1B;;EAEA;AACF;AACA;AACA;AACA;EACEC,SAASA,CAACC,IAAY,EAAEF,IAAY,EAAE;IACpC,IAAI,CAACD,OAAO,CAACC,IAAI,CAAC;IAClB,MAAMG,OAAO,GAAG;MACd,CAACpB,YAAY,CAACqB,KAAK,GAAG;QAAEC,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,IAAI;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAI,CAAC;MACpF,CAACzB,YAAY,CAAC0B,MAAM,GAAG;QAAEJ,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,GAAG;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAI,CAAC;MACpF,CAACzB,YAAY,CAAC2B,QAAQ,GAAG;QAAEL,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAI,CAAC;MACpF,CAACzB,YAAY,CAAC4B,IAAI,GAAG;QAAEN,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAI,CAAC;MAChF,CAACzB,YAAY,CAAC6B,iBAAiB,GAAG;QAAEP,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAI,CAAC;MAC7F,CAACzB,YAAY,CAAC8B,IAAI,GAAG;QAAER,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAE,CAAC;MAC9E,CAACzB,YAAY,CAAC+B,aAAa,GAAG;QAAET,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAE,CAAC;MACvF,CAACzB,YAAY,CAACgC,cAAc,GAAG;QAAEV,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,CAAC;QAAEC,KAAK,EAAE,GAAG;QAAEC,KAAK,EAAE;MAAE,CAAC;MACvF,CAACzB,YAAY,CAACiC,KAAK,GAAG;QAAEX,UAAU,EAAE,GAAG;QAAEC,UAAU,EAAE,CAAC;QAAEC,KAAK,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAI;IAClF,CAAC;IACD,IAAI,CAAChB,KAAK,CAACS,SAAS,CAACC,IAAI,EAAEC,OAAO,CAACD,IAAI,CAAC,CAAC;EAC3C;EAEAe,MAAMA,CAAA,EAAG;IACP,IAAI,CAACzB,KAAK,CAACyB,MAAM,CAAC,CAAC;EACrB;EAEAC,MAAMA,CAAA,EAAG;IACP,IAAI,CAAC5B,KAAK,CAAC6B,MAAM,CAAC,IAAI,CAAC5B,OAAO,CAAC;IAC/B,IAAI,CAACD,KAAK,CAAC6B,MAAM,CAAC,IAAI,CAAC3B,KAAK,CAAC;IAC7B,IAAI,CAAC2B,MAAM,CAAC,IAAI,CAAC7B,KAAK,CAAC;IACvB,IAAI,CAAC8B,gBAAgB,CAAC,CAAC;EACzB;AACF;AAEA,eAAelC,OAAO"}
|
|
@@ -1,28 +1,13 @@
|
|
|
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 _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 _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
6
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
7
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
8
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
9
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
10
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
11
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
12
1
|
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; }
|
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" ==
|
|
14
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
3
|
+
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); }
|
|
15
4
|
import { BufferAttribute, Mesh, ShaderMaterial, SphereGeometry } from '@anov/3d-core';
|
|
16
5
|
import skyShader from "../../shaders/sky";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
_classCallCheck(this, OutlineMesh);
|
|
23
|
-
_this = _super.call(this);
|
|
24
|
-
_defineProperty(_assertThisInitialized(_this), "mesh", void 0);
|
|
25
|
-
_defineProperty(_assertThisInitialized(_this), "uniforms", {
|
|
6
|
+
class OutlineMesh extends Mesh {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
_defineProperty(this, "mesh", void 0);
|
|
10
|
+
_defineProperty(this, "uniforms", {
|
|
26
11
|
skyTime: {
|
|
27
12
|
value: 12.0
|
|
28
13
|
},
|
|
@@ -30,25 +15,25 @@ var OutlineMesh = /*#__PURE__*/function (_Mesh) {
|
|
|
30
15
|
value: 0.8
|
|
31
16
|
}
|
|
32
17
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
this.geometry = new SphereGeometry(1, 32, 32, 0, Math.PI * 2, 0, Math.PI);
|
|
19
|
+
const positions = this.geometry.attributes.position.array;
|
|
20
|
+
const uvs = new Float32Array(positions.length / 3 * 2); // 创建新的 UV 数组
|
|
36
21
|
|
|
37
22
|
// 重新计算 UV 坐标
|
|
38
|
-
for (
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
23
|
+
for (let i = 0; i < positions.length / 3; i++) {
|
|
24
|
+
const x = positions[i * 3];
|
|
25
|
+
const z = positions[i * 3 + 2];
|
|
26
|
+
const u = (x * 0.8 + 1) / 2; // 将 x 坐标映射到 [0, 1]
|
|
27
|
+
const v = (z * 0.8 + 1) / 2; // 将 z 坐标映射到 [0, 1]
|
|
43
28
|
|
|
44
29
|
uvs[i * 2] = u;
|
|
45
30
|
uvs[i * 2 + 1] = v;
|
|
46
31
|
}
|
|
47
32
|
|
|
48
33
|
// 将新的 UV 坐标添加到几何体
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
uniforms:
|
|
34
|
+
this.geometry.setAttribute('uv', new BufferAttribute(uvs, 2));
|
|
35
|
+
this.material = new ShaderMaterial({
|
|
36
|
+
uniforms: this.uniforms,
|
|
52
37
|
vertexShader: skyShader.vertexShader,
|
|
53
38
|
fragmentShader: skyShader.fragmentShader,
|
|
54
39
|
side: 2,
|
|
@@ -59,18 +44,13 @@ var OutlineMesh = /*#__PURE__*/function (_Mesh) {
|
|
|
59
44
|
|
|
60
45
|
// this.position.y = -500
|
|
61
46
|
// this.scale.set(19990, 8000, 19990)
|
|
62
|
-
|
|
63
|
-
return _this;
|
|
47
|
+
this.renderOrder = -1;
|
|
64
48
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
}]);
|
|
73
|
-
return OutlineMesh;
|
|
74
|
-
}(Mesh);
|
|
49
|
+
setTime(time) {
|
|
50
|
+
this.uniforms.skyTime = {
|
|
51
|
+
value: time.toFixed(1)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
75
55
|
export default OutlineMesh;
|
|
76
56
|
//# sourceMappingURL=outline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BufferAttribute","Mesh","ShaderMaterial","SphereGeometry","skyShader","OutlineMesh","
|
|
1
|
+
{"version":3,"names":["BufferAttribute","Mesh","ShaderMaterial","SphereGeometry","skyShader","OutlineMesh","constructor","_defineProperty","skyTime","value","skyOpacity","geometry","Math","PI","positions","attributes","position","array","uvs","Float32Array","length","i","x","z","u","v","setAttribute","material","uniforms","vertexShader","fragmentShader","side","transparent","depthWrite","toneMapped","renderOrder","setTime","time","toFixed"],"sources":["../../../../../src/core/WeatherSystem/objects/sky/outline.ts"],"sourcesContent":["import { BufferAttribute, Mesh, ShaderMaterial, SphereGeometry } from '@anov/3d-core'\nimport skyShader from '../../shaders/sky'\n\nclass OutlineMesh extends Mesh {\n mesh!: Mesh\n uniforms: any = {\n skyTime: { value: 12.0 },\n skyOpacity: { value: 0.8 },\n }\n\n constructor() {\n super()\n\n this.geometry = new SphereGeometry(1, 32, 32, 0, Math.PI * 2, 0, Math.PI)\n\n const positions = this.geometry.attributes.position.array\n const uvs = new Float32Array(positions.length / 3 * 2) // 创建新的 UV 数组\n\n // 重新计算 UV 坐标\n for (let i = 0; i < positions.length / 3; i++) {\n const x = positions[i * 3]\n const z = positions[i * 3 + 2]\n\n const u = (x * 0.8 + 1) / 2 // 将 x 坐标映射到 [0, 1]\n const v = (z * 0.8 + 1) / 2 // 将 z 坐标映射到 [0, 1]\n\n uvs[i * 2] = u\n uvs[i * 2 + 1] = v\n }\n\n // 将新的 UV 坐标添加到几何体\n this.geometry.setAttribute('uv', new BufferAttribute(uvs, 2))\n\n this.material = new ShaderMaterial({\n uniforms: this.uniforms,\n vertexShader: skyShader.vertexShader,\n fragmentShader: skyShader.fragmentShader,\n side: 2,\n transparent: true,\n depthWrite: false,\n toneMapped: false, // 添加这行\n })\n\n // this.position.y = -500\n // this.scale.set(19990, 8000, 19990)\n this.renderOrder = -1\n }\n\n setTime(time: number) {\n this.uniforms.skyTime = { value: time.toFixed(1) }\n }\n}\n\nexport default OutlineMesh"],"mappings":";;;AAAA,SAASA,eAAe,EAAEC,IAAI,EAAEC,cAAc,EAAEC,cAAc,QAAQ,eAAe;AACrF,OAAOC,SAAS;AAEhB,MAAMC,WAAW,SAASJ,IAAI,CAAC;EAO7BK,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IAAAC,eAAA;IAAAA,eAAA,mBANO;MACdC,OAAO,EAAE;QAAEC,KAAK,EAAE;MAAK,CAAC;MACxBC,UAAU,EAAE;QAAED,KAAK,EAAE;MAAI;IAC3B,CAAC;IAKC,IAAI,CAACE,QAAQ,GAAG,IAAIR,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAES,IAAI,CAACC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAED,IAAI,CAACC,EAAE,CAAC;IAEzE,MAAMC,SAAS,GAAG,IAAI,CAACH,QAAQ,CAACI,UAAU,CAACC,QAAQ,CAACC,KAAK;IACzD,MAAMC,GAAG,GAAG,IAAIC,YAAY,CAACL,SAAS,CAACM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAC;;IAEvD;IACA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,SAAS,CAACM,MAAM,GAAG,CAAC,EAAEC,CAAC,EAAE,EAAE;MAC7C,MAAMC,CAAC,GAAGR,SAAS,CAACO,CAAC,GAAG,CAAC,CAAC;MAC1B,MAAME,CAAC,GAAGT,SAAS,CAACO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAE9B,MAAMG,CAAC,GAAG,CAACF,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAC;MAC5B,MAAMG,CAAC,GAAG,CAACF,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAC;;MAE5BL,GAAG,CAACG,CAAC,GAAG,CAAC,CAAC,GAAGG,CAAC;MACdN,GAAG,CAACG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGI,CAAC;IACpB;;IAEA;IACA,IAAI,CAACd,QAAQ,CAACe,YAAY,CAAC,IAAI,EAAE,IAAI1B,eAAe,CAACkB,GAAG,EAAE,CAAC,CAAC,CAAC;IAE7D,IAAI,CAACS,QAAQ,GAAG,IAAIzB,cAAc,CAAC;MACjC0B,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,YAAY,EAAEzB,SAAS,CAACyB,YAAY;MACpCC,cAAc,EAAE1B,SAAS,CAAC0B,cAAc;MACxCC,IAAI,EAAE,CAAC;MACPC,WAAW,EAAE,IAAI;MACjBC,UAAU,EAAE,KAAK;MACjBC,UAAU,EAAE,KAAK,CAAE;IACrB,CAAC,CAAC;;IAEF;IACA;IACA,IAAI,CAACC,WAAW,GAAG,CAAC,CAAC;EACvB;EAEAC,OAAOA,CAACC,IAAY,EAAE;IACpB,IAAI,CAACT,QAAQ,CAACpB,OAAO,GAAG;MAAEC,KAAK,EAAE4B,IAAI,CAACC,OAAO,CAAC,CAAC;IAAE,CAAC;EACpD;AACF;AAEA,eAAejC,WAAW"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const CloudShader = {
|
|
2
2
|
uniforms: {
|
|
3
3
|
texture1: {
|
|
4
4
|
value: null
|
|
@@ -34,8 +34,79 @@ var CloudShader = {
|
|
|
34
34
|
value: 7.0
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
-
vertexShader:
|
|
38
|
-
|
|
37
|
+
vertexShader: `varying highp vec2 vUv;
|
|
38
|
+
void main() {
|
|
39
|
+
vUv = uv;
|
|
40
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
41
|
+
}`,
|
|
42
|
+
fragmentShader: `
|
|
43
|
+
uniform float iTime;
|
|
44
|
+
uniform float cloudDensity;
|
|
45
|
+
uniform float cloudDensity2;
|
|
46
|
+
uniform float cloudalpha;
|
|
47
|
+
uniform float cloudscale;
|
|
48
|
+
uniform float speed;
|
|
49
|
+
uniform float flash;
|
|
50
|
+
uniform float skyTime;
|
|
51
|
+
uniform vec3 color;
|
|
52
|
+
uniform sampler2D texture1;
|
|
53
|
+
uniform sampler2D texture2;
|
|
54
|
+
uniform sampler2D BackTex1;
|
|
55
|
+
|
|
56
|
+
varying highp vec2 vUv;
|
|
57
|
+
|
|
58
|
+
vec3 colorfix(vec3 color) {
|
|
59
|
+
return vec3(color.r * 0.1, color.g * 0.1, color.b * 0.1);//0.00392
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
float distanceTo(vec2 src, vec2 dst) {
|
|
63
|
+
float dx = src.x - dst.x;
|
|
64
|
+
float dy = src.y - dst.y;
|
|
65
|
+
float dv = dx * dx + dy * dy;
|
|
66
|
+
return sqrt(dv);
|
|
67
|
+
}
|
|
68
|
+
float Zsin(float x) {
|
|
69
|
+
float y = abs(fract(x * 0.3) - 0.5) * 2.;
|
|
70
|
+
return y;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
vec4 morningColor = vec4(0.5, 0.7, 1.0, 0.2); // 清晨颜色
|
|
74
|
+
vec4 dayColor = vec4(0.3, 0.6, 1.0, 1.0); // 白天颜色
|
|
75
|
+
vec4 eveningColor = vec4(0.8, 0.4, 0.6, 1.0); // 傍晚颜色
|
|
76
|
+
vec4 nightColor = vec4(0.1, 0.1, 0.3, 0.2); // 夜晚颜色
|
|
77
|
+
|
|
78
|
+
vec4 getSkyColor(float time) {
|
|
79
|
+
vec4 timeColor;
|
|
80
|
+
if (time < 6.0) {
|
|
81
|
+
timeColor = mix(nightColor, morningColor, time / 6.0);
|
|
82
|
+
} else if (time < 12.0) {
|
|
83
|
+
timeColor = mix(morningColor, dayColor, (time - 6.0) / 6.0);
|
|
84
|
+
} else if (time < 18.0) {
|
|
85
|
+
timeColor = mix(dayColor, eveningColor, (time - 12.0) / 6.0);
|
|
86
|
+
} else {
|
|
87
|
+
timeColor = mix(eveningColor, nightColor, (time - 18.0) / 6.0);
|
|
88
|
+
}
|
|
89
|
+
return timeColor;
|
|
90
|
+
}
|
|
91
|
+
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
|
|
92
|
+
vec2 uv = vUv;
|
|
93
|
+
uv -= vec2(.5);
|
|
94
|
+
vec2 uvR = mat2(cos(iTime * speed), -sin(iTime * speed), sin(iTime * speed), cos(iTime * speed)) * uv;
|
|
95
|
+
vec2 uvR_m = mat2(cos(iTime * 0.8 * speed), -sin(iTime * 0.8 * speed), sin(iTime * 0.8 * speed), cos(iTime * 0.8 * speed)) * uv;///旋转矩阵
|
|
96
|
+
uvR *= (sin(iTime) * 0.01 + 1.);
|
|
97
|
+
vec3 T1 = texture(texture1, uvR_m * cloudscale).rgb;
|
|
98
|
+
vec3 T2 = texture(texture2, uvR * cloudscale * 0.2).rgb;
|
|
99
|
+
vec3 T1base = vec3(pow(T1.x, cloudDensity) * 10.);
|
|
100
|
+
vec3 T2noise = vec3(pow(T2.x, cloudDensity));
|
|
101
|
+
vec3 T2noiseS = vec3(pow(T2.x, 5.)) * vec3(0.1, 0.5, 0.8) * clamp((Zsin(iTime * 5.) * 100. - 99.), 0., 1.) * flash;
|
|
102
|
+
float sphere = pow(distanceTo(vec2(0.5, 0.5), vUv), 9.) * 5000.;
|
|
103
|
+
fragColor = vec4(T1base * T2noise * colorfix(color) + T2noiseS, pow(T1.x, cloudalpha) * cloudDensity2 * pow(T2.x, cloudalpha)*(1.-sphere)*(getSkyColor(skyTime).a));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
void main() {
|
|
107
|
+
vec2 fragCoord = gl_FragCoord.xy;
|
|
108
|
+
mainImage(gl_FragColor, fragCoord);
|
|
109
|
+
}`
|
|
39
110
|
};
|
|
40
111
|
export default CloudShader;
|
|
41
112
|
//# sourceMappingURL=cloud.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CloudShader","uniforms","texture1","value","texture2","iTime","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","skyTime","vertexShader","fragmentShader"],"sources":["../../../../src/core/WeatherSystem/shaders/cloud.ts"],"sourcesContent":["const CloudShader = {\n uniforms: {\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.3 },\n color: { value: [0.9, 0.9, 0.9] },\n flash: { value: 0.0 },\n skyTime: { value: 7.0 },\n },\n vertexShader:\n `varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }`,\n fragmentShader:\n `\n uniform float iTime;\n uniform float cloudDensity;\n uniform float cloudDensity2;\n uniform float cloudalpha;\n uniform float cloudscale;\n uniform float speed;\n uniform float flash;\n uniform float skyTime;\n uniform vec3 color;\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D BackTex1;\n \n varying highp vec2 vUv;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r * 0.1, color.g * 0.1, color.b * 0.1);//0.00392\n }\n\n float distanceTo(vec2 src, vec2 dst) {\n float dx = src.x - dst.x;\n float dy = src.y - dst.y;\n float dv = dx * dx + dy * dy;\n return sqrt(dv);\n }\n float Zsin(float x) {\n float y = abs(fract(x * 0.3) - 0.5) * 2.;\n return y;\n }\n\n vec4 morningColor = vec4(0.5, 0.7, 1.0, 0.2); // 清晨颜色\n vec4 dayColor = vec4(0.3, 0.6, 1.0, 1.0); // 白天颜色\n vec4 eveningColor = vec4(0.8, 0.4, 0.6, 1.0); // 傍晚颜色\n vec4 nightColor = vec4(0.1, 0.1, 0.3, 0.2); // 夜晚颜色\n\n vec4 getSkyColor(float time) {\n vec4 timeColor;\n if (time < 6.0) {\n timeColor = mix(nightColor, morningColor, time / 6.0);\n } else if (time < 12.0) {\n timeColor = mix(morningColor, dayColor, (time - 6.0) / 6.0);\n } else if (time < 18.0) {\n timeColor = mix(dayColor, eveningColor, (time - 12.0) / 6.0);\n } else {\n timeColor = mix(eveningColor, nightColor, (time - 18.0) / 6.0);\n }\n return timeColor;\n} \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n uv -= vec2(.5);\n vec2 uvR = mat2(cos(iTime * speed), -sin(iTime * speed), sin(iTime * speed), cos(iTime * speed)) * uv; \n vec2 uvR_m = mat2(cos(iTime * 0.8 * speed), -sin(iTime * 0.8 * speed), sin(iTime * 0.8 * speed), cos(iTime * 0.8 * speed)) * uv;///旋转矩阵\n uvR *= (sin(iTime) * 0.01 + 1.);\n vec3 T1 = texture(texture1, uvR_m * cloudscale).rgb;\n vec3 T2 = texture(texture2, uvR * cloudscale * 0.2).rgb;\n vec3 T1base = vec3(pow(T1.x, cloudDensity) * 10.);\n vec3 T2noise = vec3(pow(T2.x, cloudDensity));\n vec3 T2noiseS = vec3(pow(T2.x, 5.)) * vec3(0.1, 0.5, 0.8) * clamp((Zsin(iTime * 5.) * 100. - 99.), 0., 1.) * flash; \n float sphere = pow(distanceTo(vec2(0.5, 0.5), vUv), 9.) * 5000.;\n fragColor = vec4(T1base * T2noise * colorfix(color) + T2noiseS, pow(T1.x, cloudalpha) * cloudDensity2 * pow(T2.x, cloudalpha)*(1.-sphere)*(getSkyColor(skyTime).a));\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }`,\n}\n\nexport default CloudShader"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"names":["CloudShader","uniforms","texture1","value","texture2","iTime","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","skyTime","vertexShader","fragmentShader"],"sources":["../../../../src/core/WeatherSystem/shaders/cloud.ts"],"sourcesContent":["const CloudShader = {\n uniforms: {\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.3 },\n color: { value: [0.9, 0.9, 0.9] },\n flash: { value: 0.0 },\n skyTime: { value: 7.0 },\n },\n vertexShader:\n `varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }`,\n fragmentShader:\n `\n uniform float iTime;\n uniform float cloudDensity;\n uniform float cloudDensity2;\n uniform float cloudalpha;\n uniform float cloudscale;\n uniform float speed;\n uniform float flash;\n uniform float skyTime;\n uniform vec3 color;\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D BackTex1;\n \n varying highp vec2 vUv;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r * 0.1, color.g * 0.1, color.b * 0.1);//0.00392\n }\n\n float distanceTo(vec2 src, vec2 dst) {\n float dx = src.x - dst.x;\n float dy = src.y - dst.y;\n float dv = dx * dx + dy * dy;\n return sqrt(dv);\n }\n float Zsin(float x) {\n float y = abs(fract(x * 0.3) - 0.5) * 2.;\n return y;\n }\n\n vec4 morningColor = vec4(0.5, 0.7, 1.0, 0.2); // 清晨颜色\n vec4 dayColor = vec4(0.3, 0.6, 1.0, 1.0); // 白天颜色\n vec4 eveningColor = vec4(0.8, 0.4, 0.6, 1.0); // 傍晚颜色\n vec4 nightColor = vec4(0.1, 0.1, 0.3, 0.2); // 夜晚颜色\n\n vec4 getSkyColor(float time) {\n vec4 timeColor;\n if (time < 6.0) {\n timeColor = mix(nightColor, morningColor, time / 6.0);\n } else if (time < 12.0) {\n timeColor = mix(morningColor, dayColor, (time - 6.0) / 6.0);\n } else if (time < 18.0) {\n timeColor = mix(dayColor, eveningColor, (time - 12.0) / 6.0);\n } else {\n timeColor = mix(eveningColor, nightColor, (time - 18.0) / 6.0);\n }\n return timeColor;\n} \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n uv -= vec2(.5);\n vec2 uvR = mat2(cos(iTime * speed), -sin(iTime * speed), sin(iTime * speed), cos(iTime * speed)) * uv; \n vec2 uvR_m = mat2(cos(iTime * 0.8 * speed), -sin(iTime * 0.8 * speed), sin(iTime * 0.8 * speed), cos(iTime * 0.8 * speed)) * uv;///旋转矩阵\n uvR *= (sin(iTime) * 0.01 + 1.);\n vec3 T1 = texture(texture1, uvR_m * cloudscale).rgb;\n vec3 T2 = texture(texture2, uvR * cloudscale * 0.2).rgb;\n vec3 T1base = vec3(pow(T1.x, cloudDensity) * 10.);\n vec3 T2noise = vec3(pow(T2.x, cloudDensity));\n vec3 T2noiseS = vec3(pow(T2.x, 5.)) * vec3(0.1, 0.5, 0.8) * clamp((Zsin(iTime * 5.) * 100. - 99.), 0., 1.) * flash; \n float sphere = pow(distanceTo(vec2(0.5, 0.5), vUv), 9.) * 5000.;\n fragColor = vec4(T1base * T2noise * colorfix(color) + T2noiseS, pow(T1.x, cloudalpha) * cloudDensity2 * pow(T2.x, cloudalpha)*(1.-sphere)*(getSkyColor(skyTime).a));\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }`,\n}\n\nexport default CloudShader"],"mappings":"AAAA,MAAMA,WAAW,GAAG;EAClBC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,QAAQ,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IACzBE,KAAK,EAAE;MAAEF,KAAK,EAAE;IAAE,CAAC;IAEnBG,YAAY,EAAE;MAAEH,KAAK,EAAE;IAAK,CAAC;IAC7BI,aAAa,EAAE;MAAEJ,KAAK,EAAE;IAAE,CAAC;IAC3BK,UAAU,EAAE;MAAEL,KAAK,EAAE;IAAE,CAAC;IACxBM,UAAU,EAAE;MAAEN,KAAK,EAAE;IAAI,CAAC;IAC1BO,KAAK,EAAE;MAAEP,KAAK,EAAE;IAAI,CAAC;IACrBQ,KAAK,EAAE;MAAER,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IACjCS,KAAK,EAAE;MAAET,KAAK,EAAE;IAAI,CAAC;IACrBU,OAAO,EAAE;MAAEV,KAAK,EAAE;IAAI;EACxB,CAAC;EACDW,YAAY,EACV;AACJ;AACA;AACA;AACA,MAAM;EACJC,cAAc,EACb;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAef,WAAW"}
|