@anov/3d-ability 0.0.118 → 0.0.120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/business/HeatMap/HeatMap.js +7 -4
  2. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  3. package/dist/business/MaterialSwitch/inject.js +1 -1
  4. package/dist/business/MaterialSwitch/inject.js.map +1 -1
  5. package/dist/business/MaterialSwitch/shader/realFade.d.ts +2 -2
  6. package/dist/business/MaterialSwitch/shader/realFade.js +2 -2
  7. package/dist/business/MaterialSwitch/shader/realFade.js.map +1 -1
  8. package/dist/business/Poi/title/index.d.ts +1 -1
  9. package/dist/business/Poi/title/index.js +15 -7
  10. package/dist/business/Poi/title/index.js.map +1 -1
  11. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +2 -1
  12. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  13. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +2 -1
  14. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  15. package/dist/core/Material/FinirMaterial/FinirMaterial.js +3 -2
  16. package/dist/core/Material/FinirMaterial/FinirMaterial.js.map +1 -1
  17. package/dist/core/Material/SurfaceMaterial/index.d.ts +1 -0
  18. package/dist/core/Material/SurfaceMaterial/index.js +17 -10
  19. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  20. package/dist/core/WeatherSystem/objects/rain/index.d.ts +2 -0
  21. package/dist/core/WeatherSystem/objects/rain/index.js +7 -0
  22. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  23. package/dist/core/WeatherSystem/objects/rain/lineRain.d.ts +21 -0
  24. package/dist/core/WeatherSystem/objects/rain/lineRain.js +218 -0
  25. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -0
  26. package/dist/core/WeatherSystem/objects/sky/outline.js +2 -1
  27. package/dist/core/WeatherSystem/objects/sky/outline.js.map +1 -1
  28. package/dist/core/WeatherSystem/shaders/cloud.js +1 -1
  29. package/dist/core/WeatherSystem/shaders/cloud.js.map +1 -1
  30. package/dist/core/WeatherSystem/shaders/sky.js +1 -1
  31. package/dist/core/WeatherSystem/shaders/sky.js.map +1 -1
  32. package/package.json +4 -4
@@ -0,0 +1,218 @@
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 ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
+ 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); } }
6
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7
+ 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); }
8
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9
+ 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); }; }
10
+ 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); }
11
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
12
+ 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; } }
13
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
14
+ 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; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
+ 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); }
17
+ import { Group, Mesh, MeshStandardMaterial, PlaneGeometry, TextureLoader, use } from '@anov/3d-core';
18
+ // import { Rain_Panel, Snow_panle } from '../../utils/constant'
19
+
20
+ var textureLoader = new TextureLoader();
21
+ var _defaultOption = {
22
+ // texture1: textureLoader.load(Snow_panle),
23
+ // texture2rain: textureLoader.load(Rain_Panel),
24
+ size: 5.0,
25
+ snowT1density: 0.1,
26
+ rainT1density: 0.1,
27
+ snowSpeed: 1.0,
28
+ cameraPos: [0, 500.0, 0],
29
+ rainSpeed: 3.0,
30
+ rainAngle: 0.0
31
+ };
32
+ var LineRainMesh = /*#__PURE__*/function (_Mesh) {
33
+ _inherits(LineRainMesh, _Mesh);
34
+ var _super = _createSuper(LineRainMesh);
35
+ function LineRainMesh(option) {
36
+ var _this;
37
+ _classCallCheck(this, LineRainMesh);
38
+ _this = _super.call(this);
39
+ _defineProperty(_assertThisInitialized(_this), "option", _defaultOption);
40
+ _defineProperty(_assertThisInitialized(_this), "uniforms", {});
41
+ _defineProperty(_assertThisInitialized(_this), "loaded", void 0);
42
+ var group = new Group();
43
+ var width = option.width,
44
+ height = option.height;
45
+ _this.setUniforms(_objectSpread(_objectSpread({}, _this.option), {}, {
46
+ iTime: 0
47
+ }));
48
+
49
+ // const createPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {
50
+ // const suiji = Math.random() * (width / 3)
51
+ // const geometry = new PlaneGeometry(width + suiji, height + suiji)
52
+ // const material = new ShaderMaterial({
53
+ // uniforms: this.uniforms,
54
+ // vertexShader: RainShader.vertexShaderFar,
55
+ // fragmentShader: RainShader.fragmentShaderFar,
56
+ // side: 2,
57
+ // blending: 2,
58
+ // transparent: true,
59
+ // depthWrite: false,
60
+ // depthTest: true,
61
+ // })
62
+
63
+ // const plane = new Mesh(geometry, material)
64
+ // plane.renderOrder = 10
65
+ // plane.position.set(x, y, z)
66
+ // plane.rotation.set(rotationX, rotationY, rotationZ)
67
+ // return plane
68
+ // }
69
+
70
+ // const createNearPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {
71
+ // const suiji = Math.random() * (width / 1)
72
+ // const geometry = new PlaneGeometry(width / 2 + suiji, height / 2 + suiji)
73
+ // const material = new ShaderMaterial({
74
+ // uniforms: this.uniforms,
75
+ // vertexShader: RainShader.vertexShaderNear,
76
+ // fragmentShader: RainShader.fragmentShaderNear,
77
+ // side: 2,
78
+ // blending: 2,
79
+ // transparent: true,
80
+ // depthWrite: true,
81
+ // depthTest: true,
82
+ // })
83
+
84
+ // const plane = new Mesh(geometry, material)
85
+ // plane.renderOrder = 10
86
+ // plane.position.set(x, y, z)
87
+ // plane.rotation.set(rotationX, rotationY, rotationZ)
88
+ // return plane
89
+ // }
90
+
91
+ // const count = 6
92
+ // const distance = 150
93
+ // for (let j = -count; j <= count; j++) {
94
+ // const plane = createPlane(0, 0, j * distance, 0, 0, 0)
95
+ // group.add(plane)
96
+ // }
97
+ // for (let j = -count; j <= count; j++) {
98
+ // const plane = createPlane(j * distance, 0, 0, 0, Math.PI / 2, 0)
99
+ // group.add(plane)
100
+ // }
101
+
102
+ // for (let j = -15; j <= 15; j++) {
103
+ // const plane = createNearPlane(0, 0, j * j * j * 1, 0, 0, 0)
104
+ // group.add(plane)
105
+ // }
106
+ // for (let j = -15; j <= 15; j++) {
107
+ // const plane = createNearPlane(j * j * j * 1, 0, 0, 0, Math.PI / 2, 0)
108
+ // group.add(plane)
109
+ // }
110
+
111
+ // const material2d = new ShaderMaterial({
112
+ // uniforms: this.uniforms,
113
+ // vertexShader: RainShader.vertexShader2d,
114
+ // fragmentShader: RainShader.fragmentShader2d,
115
+ // side: 2,
116
+ // transparent: true,
117
+ // depthWrite: false,
118
+ // })
119
+
120
+ // const rain2dGeometry = new PlaneGeometry(100, 100)
121
+ // const rain2d = new Mesh(rain2dGeometry, material2d)
122
+ // rain2d.renderOrder = 10
123
+
124
+ var rain2dGeometry = new PlaneGeometry(100, 100);
125
+ var material2d = new MeshStandardMaterial({
126
+ color: 0xff0000
127
+ });
128
+ var rain2d = new Mesh(rain2dGeometry, material2d);
129
+ group.add(rain2d);
130
+ _this.add(group);
131
+ return _this;
132
+ }
133
+ _createClass(LineRainMesh, [{
134
+ key: "setUniforms",
135
+ value: function setUniforms(option) {
136
+ var _this2 = this;
137
+ Object.assign(this.option, option);
138
+ Object.keys(option).forEach(function (key) {
139
+ _this2.uniforms[key] = {
140
+ value: option[key]
141
+ };
142
+ });
143
+ }
144
+ }, {
145
+ key: "setSize",
146
+ value: function setSize(size) {
147
+ this.setUniforms({
148
+ size: size
149
+ });
150
+ }
151
+ }, {
152
+ key: "setSpeed",
153
+ value: function setSpeed(speed) {
154
+ this.setUniforms({
155
+ snowSpeed: speed
156
+ });
157
+ }
158
+ }, {
159
+ key: "setRain",
160
+ value: function setRain(scale) {
161
+ this.setUniforms({
162
+ rainT1density: scale
163
+ });
164
+ }
165
+ }, {
166
+ key: "setSnow",
167
+ value: function setSnow(scale) {
168
+ this.setUniforms({
169
+ snowT1density: scale
170
+ });
171
+ }
172
+ }, {
173
+ key: "setEffect",
174
+ value: function setEffect(ops) {
175
+ var _this3 = this;
176
+ var size = ops.size,
177
+ snowT1density = ops.snowT1density,
178
+ rainT1density = ops.rainT1density,
179
+ snowSpeed = ops.snowSpeed;
180
+ Object.keys(ops).forEach(function (key) {
181
+ switch (key) {
182
+ case 'size':
183
+ _this3.setSize(size);
184
+ break;
185
+ case 'snowT1density':
186
+ _this3.setSpeed(snowSpeed);
187
+ break;
188
+ case 'rainT1density':
189
+ _this3.setRain(rainT1density);
190
+ break;
191
+ case 'snowSpeed':
192
+ _this3.setSnow(snowT1density);
193
+ break;
194
+ }
195
+ });
196
+ }
197
+ }, {
198
+ key: "update",
199
+ value: function update() {
200
+ var _use$useScene = use.useScene(),
201
+ camera = _use$useScene.camera;
202
+ var _this$uniforms = this.uniforms,
203
+ iTime = _this$uniforms.iTime,
204
+ cameraPos = _this$uniforms.cameraPos;
205
+ iTime.value += 0.1;
206
+ cameraPos.value = [camera.position.x, camera.position.y, camera.position.z];
207
+ }
208
+ }, {
209
+ key: "delete",
210
+ value: function _delete() {
211
+ this.remove();
212
+ this.removeFromParent();
213
+ }
214
+ }]);
215
+ return LineRainMesh;
216
+ }(Mesh);
217
+ export default LineRainMesh;
218
+ //# sourceMappingURL=lineRain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Group","Mesh","MeshStandardMaterial","PlaneGeometry","TextureLoader","use","textureLoader","_defaultOption","size","snowT1density","rainT1density","snowSpeed","cameraPos","rainSpeed","rainAngle","LineRainMesh","_Mesh","_inherits","_super","_createSuper","option","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","width","height","setUniforms","_objectSpread","iTime","rain2dGeometry","material2d","color","rain2d","add","_createClass","key","value","_this2","Object","assign","keys","forEach","uniforms","setSize","setSpeed","speed","setRain","scale","setSnow","setEffect","ops","_this3","update","_use$useScene","useScene","camera","_this$uniforms","position","x","y","z","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/lineRain.ts"],"sourcesContent":["import { Group, Mesh, MeshStandardMaterial, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, use } from '@anov/3d-core'\nimport RainShader from '../../shaders/rain'\nimport type { IRainOption } from '../../utils/constant'\n// import { Rain_Panel, Snow_panle } from '../../utils/constant'\n\nconst textureLoader = new TextureLoader()\n\nconst _defaultOption: IRainOption = {\n // texture1: textureLoader.load(Snow_panle),\n // texture2rain: textureLoader.load(Rain_Panel),\n size: 5.0,\n snowT1density: 0.1,\n rainT1density: 0.1,\n snowSpeed: 1.0,\n cameraPos: [0, 500.0, 0],\n rainSpeed: 3.0,\n rainAngle: 0.0,\n}\n\nclass LineRainMesh extends Mesh {\n option: IRainOption = _defaultOption\n uniforms: any = {}\n loaded!: Promise<Boolean>\n\n constructor(option: { width: number; height: number; segment: number }) {\n super()\n\n const group = new Group()\n const { width, height } = option\n\n this.setUniforms({\n ...this.option,\n iTime: 0,\n })\n\n // const createPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n // const suiji = Math.random() * (width / 3)\n // const geometry = new PlaneGeometry(width + suiji, height + suiji)\n // const material = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShaderFar,\n // fragmentShader: RainShader.fragmentShaderFar,\n // side: 2,\n // blending: 2,\n // transparent: true,\n // depthWrite: false,\n // depthTest: true,\n // })\n\n // const plane = new Mesh(geometry, material)\n // plane.renderOrder = 10\n // plane.position.set(x, y, z)\n // plane.rotation.set(rotationX, rotationY, rotationZ)\n // return plane\n // }\n\n // const createNearPlane = (x: number, y: number, z: number, rotationX: number, rotationY: number, rotationZ: number) => {\n // const suiji = Math.random() * (width / 1)\n // const geometry = new PlaneGeometry(width / 2 + suiji, height / 2 + suiji)\n // const material = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShaderNear,\n // fragmentShader: RainShader.fragmentShaderNear,\n // side: 2,\n // blending: 2,\n // transparent: true,\n // depthWrite: true,\n // depthTest: true,\n // })\n\n // const plane = new Mesh(geometry, material)\n // plane.renderOrder = 10\n // plane.position.set(x, y, z)\n // plane.rotation.set(rotationX, rotationY, rotationZ)\n // return plane\n // }\n\n // const count = 6\n // const distance = 150\n // for (let j = -count; j <= count; j++) {\n // const plane = createPlane(0, 0, j * distance, 0, 0, 0)\n // group.add(plane)\n // }\n // for (let j = -count; j <= count; j++) {\n // const plane = createPlane(j * distance, 0, 0, 0, Math.PI / 2, 0)\n // group.add(plane)\n // }\n\n // for (let j = -15; j <= 15; j++) {\n // const plane = createNearPlane(0, 0, j * j * j * 1, 0, 0, 0)\n // group.add(plane)\n // }\n // for (let j = -15; j <= 15; j++) {\n // const plane = createNearPlane(j * j * j * 1, 0, 0, 0, Math.PI / 2, 0)\n // group.add(plane)\n // }\n\n // const material2d = new ShaderMaterial({\n // uniforms: this.uniforms,\n // vertexShader: RainShader.vertexShader2d,\n // fragmentShader: RainShader.fragmentShader2d,\n // side: 2,\n // transparent: true,\n // depthWrite: false,\n // })\n\n // const rain2dGeometry = new PlaneGeometry(100, 100)\n // const rain2d = new Mesh(rain2dGeometry, material2d)\n // rain2d.renderOrder = 10\n \nconst rain2dGeometry = new PlaneGeometry(100, 100)\nconst material2d = new MeshStandardMaterial({color:0xff0000})\nconst rain2d = new Mesh(rain2dGeometry, material2d)\n \n\n group.add(rain2d)\n this.add(group)\n }\n\n private setUniforms(option: IRainOption) {\n Object.assign(this.option, option)\n\n Object.keys(option).forEach((key: string) => {\n this.uniforms[key] = { value: option[key] }\n })\n }\n\n public setSize(size: number) {\n this.setUniforms({ size })\n }\n\n public setSpeed(speed: number) {\n this.setUniforms({ snowSpeed: speed })\n }\n\n public setRain(scale: number) {\n this.setUniforms({ rainT1density: scale })\n }\n\n public setSnow(scale: number) {\n this.setUniforms({ snowT1density: scale })\n }\n\n public setEffect(ops: IRainOption) {\n const { size, snowT1density, rainT1density, snowSpeed } = ops\n Object.keys(ops).forEach((key: string) => {\n switch (key) {\n case 'size':\n this.setSize(size!)\n break\n case 'snowT1density':\n this.setSpeed(snowSpeed!)\n break\n case 'rainT1density':\n this.setRain(rainT1density!)\n break\n case 'snowSpeed':\n this.setSnow(snowT1density!)\n break\n }\n })\n }\n\n public update() {\n const { camera } = use.useScene()\n const { iTime, cameraPos } = this.uniforms\n iTime.value += 0.1\n cameraPos.value = [camera.position.x, camera.position.y, camera.position.z]\n }\n\n delete() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default LineRainMesh"],"mappings":"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"}
@@ -53,7 +53,8 @@ var OutlineMesh = /*#__PURE__*/function (_Mesh) {
53
53
  fragmentShader: skyShader.fragmentShader,
54
54
  side: 2,
55
55
  transparent: true,
56
- depthWrite: false
56
+ depthWrite: false,
57
+ toneMapped: false // 添加这行
57
58
  });
58
59
 
59
60
  // this.position.y = -500
@@ -1 +1 @@
1
- {"version":3,"names":["BufferAttribute","Mesh","ShaderMaterial","SphereGeometry","skyShader","OutlineMesh","_Mesh","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","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","renderOrder","_createClass","key","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 })\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;AAAyB,IAEnCC,WAAW,0BAAAC,KAAA;EAAAC,SAAA,CAAAF,WAAA,EAAAC,KAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,WAAA;EAOf,SAAAA,YAAA,EAAc;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,WAAA;IACZK,KAAA,GAAAF,MAAA,CAAAI,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,eANO;MACdK,OAAO,EAAE;QAAEC,KAAK,EAAE;MAAK,CAAC;MACxBC,UAAU,EAAE;QAAED,KAAK,EAAE;MAAI;IAC3B,CAAC;IAKCN,KAAA,CAAKQ,QAAQ,GAAG,IAAIf,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAEgB,IAAI,CAACC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAED,IAAI,CAACC,EAAE,CAAC;IAEzE,IAAMC,SAAS,GAAGX,KAAA,CAAKQ,QAAQ,CAACI,UAAU,CAACC,QAAQ,CAACC,KAAK;IACzD,IAAMC,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,IAAMC,CAAC,GAAGR,SAAS,CAACO,CAAC,GAAG,CAAC,CAAC;MAC1B,IAAME,CAAC,GAAGT,SAAS,CAACO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAE9B,IAAMG,CAAC,GAAG,CAACF,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAC;MAC5B,IAAMG,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;IACAtB,KAAA,CAAKQ,QAAQ,CAACe,YAAY,CAAC,IAAI,EAAE,IAAIjC,eAAe,CAACyB,GAAG,EAAE,CAAC,CAAC,CAAC;IAE7Df,KAAA,CAAKwB,QAAQ,GAAG,IAAIhC,cAAc,CAAC;MACjCiC,QAAQ,EAAEzB,KAAA,CAAKyB,QAAQ;MACvBC,YAAY,EAAEhC,SAAS,CAACgC,YAAY;MACpCC,cAAc,EAAEjC,SAAS,CAACiC,cAAc;MACxCC,IAAI,EAAE,CAAC;MACPC,WAAW,EAAE,IAAI;MACjBC,UAAU,EAAE;IACd,CAAC,CAAC;;IAEF;IACA;IACA9B,KAAA,CAAK+B,WAAW,GAAG,CAAC,CAAC;IAAA,OAAA/B,KAAA;EACvB;EAACgC,YAAA,CAAArC,WAAA;IAAAsC,GAAA;IAAA3B,KAAA,EAED,SAAA4B,QAAQC,IAAY,EAAE;MACpB,IAAI,CAACV,QAAQ,CAACpB,OAAO,GAAG;QAAEC,KAAK,EAAE6B,IAAI,CAACC,OAAO,CAAC,CAAC;MAAE,CAAC;IACpD;EAAC;EAAA,OAAAzC,WAAA;AAAA,EA9CuBJ,IAAI;AAiD9B,eAAeI,WAAW"}
1
+ {"version":3,"names":["BufferAttribute","Mesh","ShaderMaterial","SphereGeometry","skyShader","OutlineMesh","_Mesh","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","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","_createClass","key","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;AAAyB,IAEnCC,WAAW,0BAAAC,KAAA;EAAAC,SAAA,CAAAF,WAAA,EAAAC,KAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,WAAA;EAOf,SAAAA,YAAA,EAAc;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,WAAA;IACZK,KAAA,GAAAF,MAAA,CAAAI,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,eANO;MACdK,OAAO,EAAE;QAAEC,KAAK,EAAE;MAAK,CAAC;MACxBC,UAAU,EAAE;QAAED,KAAK,EAAE;MAAI;IAC3B,CAAC;IAKCN,KAAA,CAAKQ,QAAQ,GAAG,IAAIf,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAEgB,IAAI,CAACC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAED,IAAI,CAACC,EAAE,CAAC;IAEzE,IAAMC,SAAS,GAAGX,KAAA,CAAKQ,QAAQ,CAACI,UAAU,CAACC,QAAQ,CAACC,KAAK;IACzD,IAAMC,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,IAAMC,CAAC,GAAGR,SAAS,CAACO,CAAC,GAAG,CAAC,CAAC;MAC1B,IAAME,CAAC,GAAGT,SAAS,CAACO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAE9B,IAAMG,CAAC,GAAG,CAACF,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAC;MAC5B,IAAMG,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;IACAtB,KAAA,CAAKQ,QAAQ,CAACe,YAAY,CAAC,IAAI,EAAE,IAAIjC,eAAe,CAACyB,GAAG,EAAE,CAAC,CAAC,CAAC;IAE7Df,KAAA,CAAKwB,QAAQ,GAAG,IAAIhC,cAAc,CAAC;MACjCiC,QAAQ,EAAEzB,KAAA,CAAKyB,QAAQ;MACvBC,YAAY,EAAEhC,SAAS,CAACgC,YAAY;MACpCC,cAAc,EAAEjC,SAAS,CAACiC,cAAc;MACxCC,IAAI,EAAE,CAAC;MACPC,WAAW,EAAE,IAAI;MACjBC,UAAU,EAAE,KAAK;MACjBC,UAAU,EAAE,KAAK,CAAE;IACrB,CAAC,CAAC;;IAEF;IACA;IACA/B,KAAA,CAAKgC,WAAW,GAAG,CAAC,CAAC;IAAA,OAAAhC,KAAA;EACvB;EAACiC,YAAA,CAAAtC,WAAA;IAAAuC,GAAA;IAAA5B,KAAA,EAED,SAAA6B,QAAQC,IAAY,EAAE;MACpB,IAAI,CAACX,QAAQ,CAACpB,OAAO,GAAG;QAAEC,KAAK,EAAE8B,IAAI,CAACC,OAAO,CAAC,CAAC;MAAE,CAAC;IACpD;EAAC;EAAA,OAAA1C,WAAA;AAAA,EA/CuBJ,IAAI;AAkD9B,eAAeI,WAAW"}
@@ -35,7 +35,7 @@ var CloudShader = {
35
35
  }
36
36
  },
37
37
  vertexShader: "varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }",
38
- fragmentShader: "\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); // \u6E05\u6668\u989C\u8272\n vec4 dayColor = vec4(0.3, 0.6, 1.0, 1.0); // \u767D\u5929\u989C\u8272\n vec4 eveningColor = vec4(0.8, 0.4, 0.6, 1.0); // \u508D\u665A\u989C\u8272\n vec4 nightColor = vec4(0.1, 0.1, 0.3, 0.2); // \u591C\u665A\u989C\u8272\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;///\u65CB\u8F6C\u77E9\u9635\n uvR *= (sin(iTime) * 0.2 + 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 }"
38
+ fragmentShader: "\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); // \u6E05\u6668\u989C\u8272\n vec4 dayColor = vec4(0.3, 0.6, 1.0, 1.0); // \u767D\u5929\u989C\u8272\n vec4 eveningColor = vec4(0.8, 0.4, 0.6, 1.0); // \u508D\u665A\u989C\u8272\n vec4 nightColor = vec4(0.1, 0.1, 0.3, 0.2); // \u591C\u665A\u989C\u8272\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;///\u65CB\u8F6C\u77E9\u9635\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 }"
39
39
  };
40
40
  export default CloudShader;
41
41
  //# 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.2 + 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,IAAMA,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,yJAKR;EACJC,cAAc;AAqEhB,CAAC;AAED,eAAef,WAAW"}
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,IAAMA,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,yJAKR;EACJC,cAAc;AAqEhB,CAAC;AAED,eAAef,WAAW"}
@@ -8,7 +8,7 @@ var SkyShader = {
8
8
  }
9
9
  },
10
10
  vertexShader: "varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }",
11
- fragmentShader: "\n uniform float skyTime;\n uniform float skyOpacity;\n\n varying vec2 vUv;\n \n vec4 midnightColor = vec4(0.0602, 0.0919, 0.2500, 0.6); // \u5348\u591C0.05, 0.05, 0.15\n vec4 dawnColor = vec4(0.4005, 0.5432, 0.8510, 0.8); // \u51CC\u66680.3, 0.4, 0.6\n vec4 morningColor = vec4(0.4416, 0.7050, 1.0000, 0.7); // \u65E9\u66680.5, 0.7, 1.0\n vec4 noonColor = vec4(0.5842, 0.7033, 1.0000, 0.6); // \u4E2D\u53480.3, 0.6, 1.0\n vec4 afternoonColor = vec4(0.3844, 0.6402, 1.0000, 0.6); // \u4E0B\u5348\n vec4 duskColor = vec4(0.7050, 0.4721, 0.5914, 0.6); // \u9EC4\u660F\n vec4 eveningColor = vec4(0.5983, 0.3761, 0.4871, 0.7); // \u508D\u665A\n vec4 nightColor = vec4(0.0947, 0.0947, 0.1500, 0.6); // \u591C\u665A\n \n vec4 getSkyColor(float time) {\n vec4 timeColor;\n if (time < 3.0) {\n // \u5348\u591C\u5230\u51CC\u6668\n timeColor = mix(midnightColor, dawnColor, time / 3.0);\n } else if (time < 6.0) {\n // \u51CC\u6668\u5230\u65E9\u6668\n timeColor = mix(dawnColor, morningColor, (time - 3.0) / 3.0);\n } else if (time < 9.0) {\n // \u65E9\u6668\u5230\u4E2D\u5348\n timeColor = mix(morningColor, noonColor, (time - 6.0) / 3.0);\n } else if (time < 15.0) {\n // \u4E2D\u5348\u5230\u4E0B\u5348\n timeColor = mix(noonColor, afternoonColor, (time - 9.0) / 6.0);\n } else if (time < 18.0) {\n // \u4E0B\u5348\u5230\u9EC4\u660F\n timeColor = mix(afternoonColor, duskColor, (time - 15.0) / 3.0);\n } else if (time < 19.5) {\n // \u9EC4\u660F\u5230\u508D\u665A\n timeColor = mix(duskColor, eveningColor, (time - 18.0) / 1.5);\n } else if (time < 21.0) {\n // \u508D\u665A\u5230\u591C\u665A\n timeColor = mix(eveningColor, nightColor, (time - 19.5) / 1.5);\n } else {\n // \u591C\u665A\u5230\u5348\u591C\n timeColor = mix(nightColor, midnightColor, (time - 21.0) / 3.0);\n }\n return timeColor;\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 void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n // vec4 skyColor1 = vec4(.086, .298, .458, 1.);///2d5a7c,.176,.352,.486,,164c75\n // vec4 skyColor2 = vec4(.711, .849, .903, 1.);///9cbfcd,.611,.749,.803\n vec4 skyColor1 = vec4(0., 0., 0., 1.);///2d5a7c,.176,.352,.486,,164c75\n vec4 skyColor2 = vec4(.95, .95, .95, 1.);///9cbfcd,.611,.749,.803\n \n float sphere1 = pow(distanceTo(vec2(0.5, 0.5), vUv), 1.02) * 1.8;\n \n fragColor = skyColor1;\n vec4 timeColor = getSkyColor(skyTime);\n // vec4 color = mix(skyColor1, skyColor2, sphere1)*timeColor;\n float sphere1_clamp = clamp(sphere1, 0.0, 1.0);\n vec3 color = vec3(sphere1)*timeColor.rgb;\n\n // fragColor=vec4(color,timeColor.a) ;\n fragColor=vec4(color,0.97) ;\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }"
11
+ fragmentShader: "\n uniform float skyTime;\n uniform float skyOpacity;\n\n varying vec2 vUv;\n \n vec4 midnightColor = vec4(0.0602, 0.0919, 0.2500, 0.6); // \u5348\u591C0.05, 0.05, 0.15\n vec4 dawnColor = vec4(0.4005, 0.5432, 0.8510, 0.8); // \u51CC\u66680.3, 0.4, 0.6\n vec4 morningColor = vec4(0.4416, 0.7050, 1.0000, 0.7); // \u65E9\u66680.5, 0.7, 1.0\n vec4 noonColor = vec4(0.5842, 0.7033, 1.0000, 0.6); // \u4E2D\u53480.3, 0.6, 1.0\n vec4 afternoonColor = vec4(0.3844, 0.6402, 1.0000, 0.6); // \u4E0B\u5348\n vec4 duskColor = vec4(0.7050, 0.4721, 0.5914, 0.6); // \u9EC4\u660F\n vec4 eveningColor = vec4(0.5983, 0.3761, 0.4871, 0.7); // \u508D\u665A\n vec4 nightColor = vec4(0.0947, 0.0947, 0.1500, 0.6); // \u591C\u665A\n \n // sRGB\u5230\u7EBF\u6027\u7A7A\u95F4\u7684\u8F6C\u6362\u51FD\u6570\n vec3 sRGBToLinear(vec3 srgb) {\n return pow(srgb, vec3(2.2));\n }\n\n vec4 getSkyColor(float time) {\n vec4 timeColor;\n if (time < 3.0) {\n // \u5348\u591C\u5230\u51CC\u6668\n timeColor = mix(midnightColor, dawnColor, time / 3.0);\n } else if (time < 6.0) {\n // \u51CC\u6668\u5230\u65E9\u6668\n timeColor = mix(dawnColor, morningColor, (time - 3.0) / 3.0);\n } else if (time < 9.0) {\n // \u65E9\u6668\u5230\u4E2D\u5348\n timeColor = mix(morningColor, noonColor, (time - 6.0) / 3.0);\n } else if (time < 15.0) {\n // \u4E2D\u5348\u5230\u4E0B\u5348\n timeColor = mix(noonColor, afternoonColor, (time - 9.0) / 6.0);\n } else if (time < 18.0) {\n // \u4E0B\u5348\u5230\u9EC4\u660F\n timeColor = mix(afternoonColor, duskColor, (time - 15.0) / 3.0);\n } else if (time < 19.5) {\n // \u9EC4\u660F\u5230\u508D\u665A\n timeColor = mix(duskColor, eveningColor, (time - 18.0) / 1.5);\n } else if (time < 21.0) {\n // \u508D\u665A\u5230\u591C\u665A\n timeColor = mix(eveningColor, nightColor, (time - 19.5) / 1.5);\n } else {\n // \u591C\u665A\u5230\u5348\u591C\n timeColor = mix(nightColor, midnightColor, (time - 21.0) / 3.0);\n }\n return timeColor;\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 void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n // vec4 skyColor1 = vec4(.086, .298, .458, 1.);///2d5a7c,.176,.352,.486,,164c75\n // vec4 skyColor2 = vec4(.711, .849, .903, 1.);///9cbfcd,.611,.749,.803\n vec4 skyColor1 = vec4(0., 0., 0., 1.);///2d5a7c,.176,.352,.486,,164c75\n vec4 skyColor2 = vec4(.95, .95, .95, 1.);///9cbfcd,.611,.749,.803\n \n float sphere1 = (pow(distanceTo(vec2(0.5, 0.5), vUv), 2.8)+0.2) * 2.8;\n \n fragColor = skyColor1;\n vec4 timeColor = getSkyColor(skyTime);\n // vec4 color = mix(skyColor1, skyColor2, sphere1)*timeColor;\n float sphere1_clamp = clamp(sphere1, 0.0, 1.0);\n vec3 color = vec3(sphere1)*timeColor.rgb;\n\n // fragColor=vec4(color,timeColor.a) ;\n // \u5C06\u989C\u8272\u8F6C\u6362\u5230\u7EBF\u6027\u7A7A\u95F4\u4EE5\u8865\u507FOutputPass\u7684sRGB\u8F6C\u6362\n color = sRGBToLinear(color);\n fragColor=vec4((color+vec3(0.05))*1.2,0.97) ;\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }"
12
12
  };
13
13
  export default SkyShader;
14
14
  //# sourceMappingURL=sky.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SkyShader","uniforms","skyTime","value","skyOpacity","vertexShader","fragmentShader"],"sources":["../../../../src/core/WeatherSystem/shaders/sky.ts"],"sourcesContent":["const SkyShader = {\n uniforms: {\n skyTime: { value: 7.0 },\n skyOpacity: { value: 1.0 },\n },\n vertexShader: `varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }`,\n fragmentShader: `\n uniform float skyTime;\n uniform float skyOpacity;\n\n varying vec2 vUv;\n \n vec4 midnightColor = vec4(0.0602, 0.0919, 0.2500, 0.6); // 午夜0.05, 0.05, 0.15\n vec4 dawnColor = vec4(0.4005, 0.5432, 0.8510, 0.8); // 凌晨0.3, 0.4, 0.6\n vec4 morningColor = vec4(0.4416, 0.7050, 1.0000, 0.7); // 早晨0.5, 0.7, 1.0\n vec4 noonColor = vec4(0.5842, 0.7033, 1.0000, 0.6); // 中午0.3, 0.6, 1.0\n vec4 afternoonColor = vec4(0.3844, 0.6402, 1.0000, 0.6); // 下午\n vec4 duskColor = vec4(0.7050, 0.4721, 0.5914, 0.6); // 黄昏\n vec4 eveningColor = vec4(0.5983, 0.3761, 0.4871, 0.7); // 傍晚\n vec4 nightColor = vec4(0.0947, 0.0947, 0.1500, 0.6); // 夜晚\n \n vec4 getSkyColor(float time) {\n vec4 timeColor;\n if (time < 3.0) {\n // 午夜到凌晨\n timeColor = mix(midnightColor, dawnColor, time / 3.0);\n } else if (time < 6.0) {\n // 凌晨到早晨\n timeColor = mix(dawnColor, morningColor, (time - 3.0) / 3.0);\n } else if (time < 9.0) {\n // 早晨到中午\n timeColor = mix(morningColor, noonColor, (time - 6.0) / 3.0);\n } else if (time < 15.0) {\n // 中午到下午\n timeColor = mix(noonColor, afternoonColor, (time - 9.0) / 6.0);\n } else if (time < 18.0) {\n // 下午到黄昏\n timeColor = mix(afternoonColor, duskColor, (time - 15.0) / 3.0);\n } else if (time < 19.5) {\n // 黄昏到傍晚\n timeColor = mix(duskColor, eveningColor, (time - 18.0) / 1.5);\n } else if (time < 21.0) {\n // 傍晚到夜晚\n timeColor = mix(eveningColor, nightColor, (time - 19.5) / 1.5);\n } else {\n // 夜晚到午夜\n timeColor = mix(nightColor, midnightColor, (time - 21.0) / 3.0);\n }\n return timeColor;\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 void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n // vec4 skyColor1 = vec4(.086, .298, .458, 1.);///2d5a7c,.176,.352,.486,,164c75\n // vec4 skyColor2 = vec4(.711, .849, .903, 1.);///9cbfcd,.611,.749,.803\n vec4 skyColor1 = vec4(0., 0., 0., 1.);///2d5a7c,.176,.352,.486,,164c75\n vec4 skyColor2 = vec4(.95, .95, .95, 1.);///9cbfcd,.611,.749,.803\n \n float sphere1 = pow(distanceTo(vec2(0.5, 0.5), vUv), 1.02) * 1.8;\n \n fragColor = skyColor1;\n vec4 timeColor = getSkyColor(skyTime);\n // vec4 color = mix(skyColor1, skyColor2, sphere1)*timeColor;\n float sphere1_clamp = clamp(sphere1, 0.0, 1.0);\n vec3 color = vec3(sphere1)*timeColor.rgb;\n\n // fragColor=vec4(color,timeColor.a) ;\n fragColor=vec4(color,0.97) ;\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }`,\n}\n\nexport default SkyShader"],"mappings":"AAAA,IAAMA,SAAS,GAAG;EAChBC,QAAQ,EAAE;IACRC,OAAO,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAC;IACvBC,UAAU,EAAE;MAAED,KAAK,EAAE;IAAI;EAC3B,CAAC;EACDE,YAAY,iJAIV;EACFC,cAAc;AA0EhB,CAAC;AAED,eAAeN,SAAS"}
1
+ {"version":3,"names":["SkyShader","uniforms","skyTime","value","skyOpacity","vertexShader","fragmentShader"],"sources":["../../../../src/core/WeatherSystem/shaders/sky.ts"],"sourcesContent":["const SkyShader = {\n uniforms: {\n skyTime: { value: 7.0 },\n skyOpacity: { value: 1.0 },\n },\n vertexShader: `varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }`,\n fragmentShader: `\n uniform float skyTime;\n uniform float skyOpacity;\n\n varying vec2 vUv;\n \n vec4 midnightColor = vec4(0.0602, 0.0919, 0.2500, 0.6); // 午夜0.05, 0.05, 0.15\n vec4 dawnColor = vec4(0.4005, 0.5432, 0.8510, 0.8); // 凌晨0.3, 0.4, 0.6\n vec4 morningColor = vec4(0.4416, 0.7050, 1.0000, 0.7); // 早晨0.5, 0.7, 1.0\n vec4 noonColor = vec4(0.5842, 0.7033, 1.0000, 0.6); // 中午0.3, 0.6, 1.0\n vec4 afternoonColor = vec4(0.3844, 0.6402, 1.0000, 0.6); // 下午\n vec4 duskColor = vec4(0.7050, 0.4721, 0.5914, 0.6); // 黄昏\n vec4 eveningColor = vec4(0.5983, 0.3761, 0.4871, 0.7); // 傍晚\n vec4 nightColor = vec4(0.0947, 0.0947, 0.1500, 0.6); // 夜晚\n \n // sRGB到线性空间的转换函数\n vec3 sRGBToLinear(vec3 srgb) {\n return pow(srgb, vec3(2.2));\n }\n\n vec4 getSkyColor(float time) {\n vec4 timeColor;\n if (time < 3.0) {\n // 午夜到凌晨\n timeColor = mix(midnightColor, dawnColor, time / 3.0);\n } else if (time < 6.0) {\n // 凌晨到早晨\n timeColor = mix(dawnColor, morningColor, (time - 3.0) / 3.0);\n } else if (time < 9.0) {\n // 早晨到中午\n timeColor = mix(morningColor, noonColor, (time - 6.0) / 3.0);\n } else if (time < 15.0) {\n // 中午到下午\n timeColor = mix(noonColor, afternoonColor, (time - 9.0) / 6.0);\n } else if (time < 18.0) {\n // 下午到黄昏\n timeColor = mix(afternoonColor, duskColor, (time - 15.0) / 3.0);\n } else if (time < 19.5) {\n // 黄昏到傍晚\n timeColor = mix(duskColor, eveningColor, (time - 18.0) / 1.5);\n } else if (time < 21.0) {\n // 傍晚到夜晚\n timeColor = mix(eveningColor, nightColor, (time - 19.5) / 1.5);\n } else {\n // 夜晚到午夜\n timeColor = mix(nightColor, midnightColor, (time - 21.0) / 3.0);\n }\n return timeColor;\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 void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n // vec4 skyColor1 = vec4(.086, .298, .458, 1.);///2d5a7c,.176,.352,.486,,164c75\n // vec4 skyColor2 = vec4(.711, .849, .903, 1.);///9cbfcd,.611,.749,.803\n vec4 skyColor1 = vec4(0., 0., 0., 1.);///2d5a7c,.176,.352,.486,,164c75\n vec4 skyColor2 = vec4(.95, .95, .95, 1.);///9cbfcd,.611,.749,.803\n \n float sphere1 = (pow(distanceTo(vec2(0.5, 0.5), vUv), 2.8)+0.2) * 2.8;\n \n fragColor = skyColor1;\n vec4 timeColor = getSkyColor(skyTime);\n // vec4 color = mix(skyColor1, skyColor2, sphere1)*timeColor;\n float sphere1_clamp = clamp(sphere1, 0.0, 1.0);\n vec3 color = vec3(sphere1)*timeColor.rgb;\n\n // fragColor=vec4(color,timeColor.a) ;\n // 将颜色转换到线性空间以补偿OutputPass的sRGB转换\n color = sRGBToLinear(color);\n fragColor=vec4((color+vec3(0.05))*1.2,0.97) ;\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }`,\n}\n\nexport default SkyShader"],"mappings":"AAAA,IAAMA,SAAS,GAAG;EAChBC,QAAQ,EAAE;IACRC,OAAO,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAC;IACvBC,UAAU,EAAE;MAAED,KAAK,EAAE;IAAI;EAC3B,CAAC;EACDE,YAAY,iJAIV;EACFC,cAAc;AAiFhB,CAAC;AAED,eAAeN,SAAS"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d-ability",
3
- "version": "0.0.118",
3
+ "version": "0.0.120",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -16,7 +16,7 @@
16
16
  "package.json"
17
17
  ],
18
18
  "peerDependencies": {
19
- "@anov/3d-core": "^0.0.65"
19
+ "@anov/3d-core": "^0.0.66"
20
20
  },
21
21
  "dependencies": {
22
22
  "@rengr/heatmap.js": "^2.0.10",
@@ -25,7 +25,7 @@
25
25
  "gsap": "^3.12.5",
26
26
  "javascript-state-machine": "^3.1.0",
27
27
  "lodash": "^4.17.21",
28
- "postprocessing": "^6.33.3",
28
+ "postprocessing": "^6.37.3",
29
29
  "rxjs": "7.8.1",
30
30
  "suncalc": "^1.9.0",
31
31
  "supercluster": "^8.0.1",
@@ -36,7 +36,7 @@
36
36
  "@types/lodash": "^4.14.196",
37
37
  "@types/suncalc": "^1.9.2",
38
38
  "@types/supercluster": "^7.1.3",
39
- "@anov/3d-core": "^0.0.65"
39
+ "@anov/3d-core": "^0.0.66"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "father build",