@anov/3d-ability 0.0.119 → 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.
- package/dist/core/Material/SurfaceMaterial/index.d.ts +1 -0
- package/dist/core/Material/SurfaceMaterial/index.js +17 -10
- package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/index.d.ts +2 -0
- package/dist/core/WeatherSystem/objects/rain/index.js +7 -0
- package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
- package/dist/core/WeatherSystem/objects/rain/lineRain.d.ts +21 -0
- package/dist/core/WeatherSystem/objects/rain/lineRain.js +218 -0
- package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -0
- package/package.json +3 -3
|
@@ -13,4 +13,5 @@ export declare class SurfaceMaterial {
|
|
|
13
13
|
static getMaterial(id: string): Promise<MeshPhysicalMaterial>;
|
|
14
14
|
static getMaterialAll(): Promise<MeshPhysicalMaterial[]>;
|
|
15
15
|
static loadModelMaterial(id: string): Promise<MeshPhysicalMaterial>;
|
|
16
|
+
static capitalizeFirstLetter(str: any): any;
|
|
16
17
|
}
|
|
@@ -50,29 +50,30 @@ export var SurfaceMaterial = /*#__PURE__*/function () {
|
|
|
50
50
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
51
51
|
while (1) switch (_context.prev = _context.next) {
|
|
52
52
|
case 0:
|
|
53
|
+
id = this.capitalizeFirstLetter(id);
|
|
53
54
|
if (!this.cache.has(id)) {
|
|
54
|
-
_context.next =
|
|
55
|
+
_context.next = 3;
|
|
55
56
|
break;
|
|
56
57
|
}
|
|
57
58
|
return _context.abrupt("return", this.cache.get(id).clone());
|
|
58
|
-
case
|
|
59
|
-
_context.prev =
|
|
60
|
-
_context.next =
|
|
59
|
+
case 3:
|
|
60
|
+
_context.prev = 3;
|
|
61
|
+
_context.next = 6;
|
|
61
62
|
return this.loadModelMaterial(id);
|
|
62
|
-
case
|
|
63
|
+
case 6:
|
|
63
64
|
material = _context.sent;
|
|
64
65
|
this.cache.set(id, material);
|
|
65
66
|
return _context.abrupt("return", material.clone());
|
|
66
|
-
case
|
|
67
|
-
_context.prev =
|
|
68
|
-
_context.t0 = _context["catch"](
|
|
67
|
+
case 11:
|
|
68
|
+
_context.prev = 11;
|
|
69
|
+
_context.t0 = _context["catch"](3);
|
|
69
70
|
console.error("Failed to load material ".concat(id, ":"), _context.t0);
|
|
70
71
|
throw _context.t0;
|
|
71
|
-
case
|
|
72
|
+
case 15:
|
|
72
73
|
case "end":
|
|
73
74
|
return _context.stop();
|
|
74
75
|
}
|
|
75
|
-
}, _callee, this, [[
|
|
76
|
+
}, _callee, this, [[3, 11]]);
|
|
76
77
|
}));
|
|
77
78
|
function getMaterial(_x) {
|
|
78
79
|
return _getMaterial.apply(this, arguments);
|
|
@@ -175,6 +176,12 @@ export var SurfaceMaterial = /*#__PURE__*/function () {
|
|
|
175
176
|
}
|
|
176
177
|
return loadModelMaterial;
|
|
177
178
|
}()
|
|
179
|
+
}, {
|
|
180
|
+
key: "capitalizeFirstLetter",
|
|
181
|
+
value: function capitalizeFirstLetter(str) {
|
|
182
|
+
if (!str) return '';
|
|
183
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
184
|
+
}
|
|
178
185
|
}]);
|
|
179
186
|
return SurfaceMaterial;
|
|
180
187
|
}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","LoaderModule","SOURCE_BASE_PATH","load","EMaterialType","SOURCE_PATH","Plaster","concat","Wood","Water","Glass","Iron","Moss","Emissive","Fresnel_Transparent","SurfaceMaterial","_getMaterial","_callee","id","material","_callee$","_context","cache","has","get","clone","loadModelMaterial","set","t0","console","getMaterial","_x","_getMaterialAll","_callee3","_this","materials","_callee3$","_context3","all","map","_ref","_callee2","_callee2$","_context2","_x2","getMaterialAll","_loadModelMaterial","_callee4","_mesh","uri","model","mesh","_callee4$","_context4","loadGLTF","url","draco","onLoad","gltf","scene","onError","traverse","child","_x3","Map"],"sources":["../../../../src/core/Material/SurfaceMaterial/index.ts"],"sourcesContent":["import type { Mesh, MeshPhysicalMaterial, Object3D } from '@anov/3d-core'\nimport { LoaderModule, utils } from '@anov/3d-core'\nimport { SOURCE_BASE_PATH } from '../../../business/Utils/constant'\n\nconst load = new LoaderModule()\nexport enum EMaterialType {\n Plaster = 'Plaster', // 涂料\n Wood = 'Wood', // 木质材质\n Water = 'Water', // 水材质\n Glass = 'Glass', // 玻璃材质\n Iron = 'Iron', // 金属材质\n Moss = 'Moss', // 苔藓材质\n Emissive = 'Emissive', // 发光材质(适用于夜晚窗户)\n}\n\nconst SOURCE_PATH = {\n Plaster: `${SOURCE_BASE_PATH}/material/plaster.glb`, // 涂料\n Wood: `${SOURCE_BASE_PATH}/material/wood.glb`, // 木质材质\n Water: `${SOURCE_BASE_PATH}/material/water.glb`, // 水材质\n Glass: `${SOURCE_BASE_PATH}/material/glass.glb`, // 玻璃材质\n Iron: `${SOURCE_BASE_PATH}/material/iron.glb`, // 金属材质\n Moss: `${SOURCE_BASE_PATH}/material/moss.glb`, // 苔藓材质\n Emissive: `${SOURCE_BASE_PATH}/material/emissive.glb`, // 发光材质(适用于夜晚窗户)\n Fresnel_Transparent: `${SOURCE_BASE_PATH}/material/emissive2.glb`,\n}\n\nexport class SurfaceMaterial {\n private static cache = new Map<string, MeshPhysicalMaterial>()\n\n static async getMaterial(id: string) {\n if (this.cache.has(id))\n return this.cache.get(id).clone()!\n\n try {\n const material = await this.loadModelMaterial(id)\n this.cache.set(id, material)\n return material.clone()\n }\n catch (error) {\n console.error(`Failed to load material ${id}:`, error)\n throw error\n }\n }\n\n static async getMaterialAll() {\n const materials = await Promise.all(Object.keys(SOURCE_PATH).map(async key => await this.getMaterial(key)))\n return materials\n }\n\n static async loadModelMaterial(id: string): Promise<MeshPhysicalMaterial> {\n const uri = SOURCE_PATH[id]\n if (!uri)\n throw new Error(`Invalid material ID: ${id}`)\n\n const model = await new Promise<Object3D>((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n draco: true,\n onLoad: gltf => resolve(gltf.scene.clone(true)),\n onError: err => reject(err),\n })\n })\n\n let mesh: Mesh | null = null\n model.traverse((child) => {\n if (!mesh && child.type === 'Mesh')\n mesh = child as Mesh\n })\n if (!mesh?.material)\n throw new Error(`No valid material found in ${id}`)\n\n return mesh.material as MeshPhysicalMaterial\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","LoaderModule","SOURCE_BASE_PATH","load","EMaterialType","SOURCE_PATH","Plaster","concat","Wood","Water","Glass","Iron","Moss","Emissive","Fresnel_Transparent","SurfaceMaterial","_getMaterial","_callee","id","material","_callee$","_context","capitalizeFirstLetter","cache","has","get","clone","loadModelMaterial","set","t0","console","getMaterial","_x","_getMaterialAll","_callee3","_this","materials","_callee3$","_context3","all","map","_ref","_callee2","_callee2$","_context2","_x2","getMaterialAll","_loadModelMaterial","_callee4","_mesh","uri","model","mesh","_callee4$","_context4","loadGLTF","url","draco","onLoad","gltf","scene","onError","traverse","child","_x3","str","toUpperCase","Map"],"sources":["../../../../src/core/Material/SurfaceMaterial/index.ts"],"sourcesContent":["import type { Mesh, MeshPhysicalMaterial, Object3D } from '@anov/3d-core'\nimport { LoaderModule, utils } from '@anov/3d-core'\nimport { SOURCE_BASE_PATH } from '../../../business/Utils/constant'\n\nconst load = new LoaderModule()\nexport enum EMaterialType {\n Plaster = 'Plaster', // 涂料\n Wood = 'Wood', // 木质材质\n Water = 'Water', // 水材质\n Glass = 'Glass', // 玻璃材质\n Iron = 'Iron', // 金属材质\n Moss = 'Moss', // 苔藓材质\n Emissive = 'Emissive', // 发光材质(适用于夜晚窗户)\n}\n\nconst SOURCE_PATH = {\n Plaster: `${SOURCE_BASE_PATH}/material/plaster.glb`, // 涂料\n Wood: `${SOURCE_BASE_PATH}/material/wood.glb`, // 木质材质\n Water: `${SOURCE_BASE_PATH}/material/water.glb`, // 水材质\n Glass: `${SOURCE_BASE_PATH}/material/glass.glb`, // 玻璃材质\n Iron: `${SOURCE_BASE_PATH}/material/iron.glb`, // 金属材质\n Moss: `${SOURCE_BASE_PATH}/material/moss.glb`, // 苔藓材质\n Emissive: `${SOURCE_BASE_PATH}/material/emissive.glb`, // 发光材质(适用于夜晚窗户)\n Fresnel_Transparent: `${SOURCE_BASE_PATH}/material/emissive2.glb`,\n}\n\nexport class SurfaceMaterial {\n private static cache = new Map<string, MeshPhysicalMaterial>()\n\n static async getMaterial(id: string) {\n id = this.capitalizeFirstLetter(id)\n if (this.cache.has(id))\n return this.cache.get(id).clone()!\n\n try {\n const material = await this.loadModelMaterial(id)\n this.cache.set(id, material)\n return material.clone()\n }\n catch (error) {\n console.error(`Failed to load material ${id}:`, error)\n throw error\n }\n }\n\n static async getMaterialAll() {\n const materials = await Promise.all(Object.keys(SOURCE_PATH).map(async key => await this.getMaterial(key)))\n return materials\n }\n\n static async loadModelMaterial(id: string): Promise<MeshPhysicalMaterial> {\n const uri = SOURCE_PATH[id]\n if (!uri)\n throw new Error(`Invalid material ID: ${id}`)\n\n const model = await new Promise<Object3D>((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n draco: true,\n onLoad: gltf => resolve(gltf.scene.clone(true)),\n onError: err => reject(err),\n })\n })\n\n let mesh: Mesh | null = null\n model.traverse((child) => {\n if (!mesh && child.type === 'Mesh')\n mesh = child as Mesh\n })\n if (!mesh?.material)\n throw new Error(`No valid material found in ${id}`)\n\n return mesh.material as MeshPhysicalMaterial\n }\n\n static capitalizeFirstLetter(str) {\n if (!str)\n return ''\n return str.charAt(0).toUpperCase() + str.slice(1)\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Group, Mesh } from '@anov/3d-core';
|
|
2
2
|
import PlaneMesh from './plane';
|
|
3
3
|
import PointMesh from './point';
|
|
4
|
+
import LineMesh from './lineRain';
|
|
4
5
|
declare class RainMesh extends Mesh {
|
|
5
6
|
plane: PlaneMesh;
|
|
6
7
|
point: PointMesh;
|
|
8
|
+
lineMesh: LineMesh;
|
|
7
9
|
group: Group;
|
|
8
10
|
option: any;
|
|
9
11
|
constructor(option: {
|
|
@@ -17,6 +17,7 @@ import { EWeatherType } from "../../utils/type";
|
|
|
17
17
|
import { Rain_Icon, Snow_Icon } from "../../utils/constant";
|
|
18
18
|
import PlaneMesh from "./plane";
|
|
19
19
|
import PointMesh from "./point";
|
|
20
|
+
import LineMesh from "./lineRain";
|
|
20
21
|
var RainMesh = /*#__PURE__*/function (_Mesh) {
|
|
21
22
|
_inherits(RainMesh, _Mesh);
|
|
22
23
|
var _super = _createSuper(RainMesh);
|
|
@@ -26,11 +27,13 @@ var RainMesh = /*#__PURE__*/function (_Mesh) {
|
|
|
26
27
|
_this = _super.call(this);
|
|
27
28
|
_defineProperty(_assertThisInitialized(_this), "plane", void 0);
|
|
28
29
|
_defineProperty(_assertThisInitialized(_this), "point", void 0);
|
|
30
|
+
_defineProperty(_assertThisInitialized(_this), "lineMesh", void 0);
|
|
29
31
|
_defineProperty(_assertThisInitialized(_this), "group", void 0);
|
|
30
32
|
_defineProperty(_assertThisInitialized(_this), "option", void 0);
|
|
31
33
|
_this.option = option;
|
|
32
34
|
_this.group = new Group();
|
|
33
35
|
_this.plane = new PlaneMesh(option);
|
|
36
|
+
_this.lineMesh = new LineMesh(option);
|
|
34
37
|
_this.point = new PointMesh();
|
|
35
38
|
_this.initialize();
|
|
36
39
|
return _this;
|
|
@@ -39,6 +42,7 @@ var RainMesh = /*#__PURE__*/function (_Mesh) {
|
|
|
39
42
|
key: "initialize",
|
|
40
43
|
value: function initialize() {
|
|
41
44
|
this.group.add(this.plane);
|
|
45
|
+
this.group.add(this.lineMesh);
|
|
42
46
|
this.group.add(this.point);
|
|
43
47
|
this.add(this.group);
|
|
44
48
|
}
|
|
@@ -104,18 +108,21 @@ var RainMesh = /*#__PURE__*/function (_Mesh) {
|
|
|
104
108
|
count: width * 40
|
|
105
109
|
});
|
|
106
110
|
this.plane.setEffect(planeEffects[type]);
|
|
111
|
+
this.lineMesh.setEffect(planeEffects[type]);
|
|
107
112
|
this.point.setEffect(pointEffects[type]);
|
|
108
113
|
}
|
|
109
114
|
}, {
|
|
110
115
|
key: "update",
|
|
111
116
|
value: function update() {
|
|
112
117
|
this.plane.update();
|
|
118
|
+
this.lineMesh.update();
|
|
113
119
|
this.point.update();
|
|
114
120
|
}
|
|
115
121
|
}, {
|
|
116
122
|
key: "delete",
|
|
117
123
|
value: function _delete() {
|
|
118
124
|
this.group.remove(this.plane);
|
|
125
|
+
this.group.remove(this.lineMesh);
|
|
119
126
|
this.group.remove(this.point);
|
|
120
127
|
this.remove(this.group);
|
|
121
128
|
this.removeFromParent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Group","Mesh","EWeatherType","Rain_Icon","Snow_Icon","PlaneMesh","PointMesh","RainMesh","_Mesh","_inherits","_super","_createSuper","option","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","plane","point","initialize","_createClass","key","value","add","setEffect","type","width","calculateSize","size","planeEffects","Rain","snowT1density","rainT1density","snowSpeed","rainSpeed","Rain_Thunderstorm","Snow","Snow_Blizzard","pointEffects","speed","range","icon","count","update","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/index.ts"],"sourcesContent":["import { Group, Mesh } from '@anov/3d-core'\nimport { EWeatherType } from '../../utils/type'\nimport { Rain_Icon, Snow_Icon } from '../../utils/constant'\nimport PlaneMesh from './plane'\nimport PointMesh from './point'\n\nclass RainMesh extends Mesh {\n plane: PlaneMesh\n point: PointMesh\n group: Group\n option\n\n constructor(option: { width: number;height: number;segment: number }) {\n super()\n this.option = option\n this.group = new Group()\n this.plane = new PlaneMesh(option)\n this.point = new PointMesh()\n\n this.initialize()\n }\n\n initialize() {\n this.group.add(this.plane)\n this.group.add(this.point)\n this.add(this.group)\n }\n\n /**\n * 设置云效果\n * @param {string} type - 效果类型\n * @param {ICloudOption} ops - 配置参数\n */\n setEffect(type: string) {\n const { width } = this.option\n const calculateSize = (size) => {\n return width * size / 2000\n }\n\n const planeEffects = {\n [EWeatherType.Rain]: { size: calculateSize(20), snowT1density: 0.0, rainT1density: 0.2, snowSpeed: 0.3, rainSpeed: 0.25 },\n [EWeatherType.Rain_Thunderstorm]: { size: calculateSize(30), snowT1density: 0.0, rainT1density: 0.3, snowSpeed: 0.6, rainSpeed: 0.31 },\n [EWeatherType.Snow]: { size: calculateSize(50), snowT1density: 0.2, rainT1density: 0, snowSpeed: 0.8 },\n [EWeatherType.Snow_Blizzard]: { size: calculateSize(40), snowT1density: 0.3, rainT1density: 0, snowSpeed: 0.6 },\n }\n const pointEffects = {\n [EWeatherType.Rain]: { speed: [0, 2, 0], range: width, size: 0.5, icon: Rain_Icon, count: 0 }, // width * 500\n [EWeatherType.Rain_Thunderstorm]: { speed: [0, 3, 0], size: 0.5, range: width, icon: Rain_Icon, count: 0 }, // width * 2200\n [EWeatherType.Snow]: { speed: [0, 1.5, 0], size: 4, range: width, icon: Snow_Icon, count: width * 20 },\n [EWeatherType.Snow_Blizzard]: { speed: [0, 2, 0], size: 5, range: width, icon: Snow_Icon, count: width * 40 },\n }\n this.plane.setEffect(planeEffects[type])\n this.point.setEffect(pointEffects[type])\n }\n\n update() {\n this.plane.update()\n this.point.update()\n }\n\n delete() {\n this.group.remove(this.plane)\n this.group.remove(this.point)\n this.remove(this.group)\n this.removeFromParent()\n }\n}\n\nexport default RainMesh\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,KAAK,EAAEC,IAAI,QAAQ,eAAe;AAC3C,SAASC,YAAY;AACrB,SAASC,SAAS,EAAEC,SAAS;AAC7B,OAAOC,SAAS;AAChB,OAAOC,SAAS;
|
|
1
|
+
{"version":3,"names":["Group","Mesh","EWeatherType","Rain_Icon","Snow_Icon","PlaneMesh","PointMesh","LineMesh","RainMesh","_Mesh","_inherits","_super","_createSuper","option","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","group","plane","lineMesh","point","initialize","_createClass","key","value","add","setEffect","type","width","calculateSize","size","planeEffects","Rain","snowT1density","rainT1density","snowSpeed","rainSpeed","Rain_Thunderstorm","Snow","Snow_Blizzard","pointEffects","speed","range","icon","count","update","_delete","remove","removeFromParent"],"sources":["../../../../../src/core/WeatherSystem/objects/rain/index.ts"],"sourcesContent":["import { Group, Mesh } from '@anov/3d-core'\nimport { EWeatherType } from '../../utils/type'\nimport { Rain_Icon, Snow_Icon } from '../../utils/constant'\nimport PlaneMesh from './plane'\nimport PointMesh from './point'\nimport LineMesh from './lineRain'\n\nclass RainMesh extends Mesh {\n plane: PlaneMesh\n point: PointMesh\n lineMesh: LineMesh\n group: Group\n option\n\n constructor(option: { width: number;height: number;segment: number }) {\n super()\n this.option = option\n this.group = new Group()\n this.plane = new PlaneMesh(option)\n this.lineMesh = new LineMesh(option)\n this.point = new PointMesh()\n\n this.initialize()\n }\n\n initialize() {\n this.group.add(this.plane)\n this.group.add(this.lineMesh)\n this.group.add(this.point)\n this.add(this.group)\n }\n\n /**\n * 设置云效果\n * @param {string} type - 效果类型\n * @param {ICloudOption} ops - 配置参数\n */\n setEffect(type: string) {\n const { width } = this.option\n const calculateSize = (size) => {\n return width * size / 2000\n }\n\n const planeEffects = {\n [EWeatherType.Rain]: { size: calculateSize(20), snowT1density: 0.0, rainT1density: 0.2, snowSpeed: 0.3, rainSpeed: 0.25 },\n [EWeatherType.Rain_Thunderstorm]: { size: calculateSize(30), snowT1density: 0.0, rainT1density: 0.3, snowSpeed: 0.6, rainSpeed: 0.31 },\n [EWeatherType.Snow]: { size: calculateSize(50), snowT1density: 0.2, rainT1density: 0, snowSpeed: 0.8 },\n [EWeatherType.Snow_Blizzard]: { size: calculateSize(40), snowT1density: 0.3, rainT1density: 0, snowSpeed: 0.6 },\n }\n const pointEffects = {\n [EWeatherType.Rain]: { speed: [0, 2, 0], range: width, size: 0.5, icon: Rain_Icon, count: 0 }, // width * 500\n [EWeatherType.Rain_Thunderstorm]: { speed: [0, 3, 0], size: 0.5, range: width, icon: Rain_Icon, count: 0 }, // width * 2200\n [EWeatherType.Snow]: { speed: [0, 1.5, 0], size: 4, range: width, icon: Snow_Icon, count: width * 20 },\n [EWeatherType.Snow_Blizzard]: { speed: [0, 2, 0], size: 5, range: width, icon: Snow_Icon, count: width * 40 },\n }\n this.plane.setEffect(planeEffects[type])\n this.lineMesh.setEffect(planeEffects[type])\n this.point.setEffect(pointEffects[type])\n }\n\n update() {\n this.plane.update()\n this.lineMesh.update()\n this.point.update()\n }\n\n delete() {\n this.group.remove(this.plane)\n this.group.remove(this.lineMesh)\n this.group.remove(this.point)\n this.remove(this.group)\n this.removeFromParent()\n }\n}\n\nexport default RainMesh\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,KAAK,EAAEC,IAAI,QAAQ,eAAe;AAC3C,SAASC,YAAY;AACrB,SAASC,SAAS,EAAEC,SAAS;AAC7B,OAAOC,SAAS;AAChB,OAAOC,SAAS;AAChB,OAAOC,QAAQ;AAAkB,IAE3BC,QAAQ,0BAAAC,KAAA;EAAAC,SAAA,CAAAF,QAAA,EAAAC,KAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,QAAA;EAOZ,SAAAA,SAAYK,MAAwD,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAP,QAAA;IACpEM,KAAA,GAAAH,MAAA,CAAAK,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IACPA,KAAA,CAAKD,MAAM,GAAGA,MAAM;IACpBC,KAAA,CAAKK,KAAK,GAAG,IAAInB,KAAK,CAAC,CAAC;IACxBc,KAAA,CAAKM,KAAK,GAAG,IAAIf,SAAS,CAACQ,MAAM,CAAC;IAClCC,KAAA,CAAKO,QAAQ,GAAG,IAAId,QAAQ,CAACM,MAAM,CAAC;IACpCC,KAAA,CAAKQ,KAAK,GAAG,IAAIhB,SAAS,CAAC,CAAC;IAE5BQ,KAAA,CAAKS,UAAU,CAAC,CAAC;IAAA,OAAAT,KAAA;EACnB;EAACU,YAAA,CAAAhB,QAAA;IAAAiB,GAAA;IAAAC,KAAA,EAED,SAAAH,WAAA,EAAa;MACX,IAAI,CAACJ,KAAK,CAACQ,GAAG,CAAC,IAAI,CAACP,KAAK,CAAC;MAC1B,IAAI,CAACD,KAAK,CAACQ,GAAG,CAAC,IAAI,CAACN,QAAQ,CAAC;MAC7B,IAAI,CAACF,KAAK,CAACQ,GAAG,CAAC,IAAI,CAACL,KAAK,CAAC;MAC1B,IAAI,CAACK,GAAG,CAAC,IAAI,CAACR,KAAK,CAAC;IACtB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAM,GAAA;IAAAC,KAAA,EAKA,SAAAE,UAAUC,IAAY,EAAE;MACtB,IAAQC,KAAK,GAAK,IAAI,CAACjB,MAAM,CAArBiB,KAAK;MACb,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAI,EAAK;QAC9B,OAAOF,KAAK,GAAGE,IAAI,GAAG,IAAI;MAC5B,CAAC;MAED,IAAMC,YAAY,GAAAhB,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KACff,YAAY,CAACgC,IAAI,EAAG;QAAEF,IAAI,EAAED,aAAa,CAAC,EAAE,CAAC;QAAEI,aAAa,EAAE,GAAG;QAAEC,aAAa,EAAE,GAAG;QAAEC,SAAS,EAAE,GAAG;QAAEC,SAAS,EAAE;MAAK,CAAC,GACxHpC,YAAY,CAACqC,iBAAiB,EAAG;QAAEP,IAAI,EAAED,aAAa,CAAC,EAAE,CAAC;QAAEI,aAAa,EAAE,GAAG;QAAEC,aAAa,EAAE,GAAG;QAAEC,SAAS,EAAE,GAAG;QAAEC,SAAS,EAAE;MAAK,CAAC,GACrIpC,YAAY,CAACsC,IAAI,EAAG;QAAER,IAAI,EAAED,aAAa,CAAC,EAAE,CAAC;QAAEI,aAAa,EAAE,GAAG;QAAEC,aAAa,EAAE,CAAC;QAAEC,SAAS,EAAE;MAAI,CAAC,GACrGnC,YAAY,CAACuC,aAAa,EAAG;QAAET,IAAI,EAAED,aAAa,CAAC,EAAE,CAAC;QAAEI,aAAa,EAAE,GAAG;QAAEC,aAAa,EAAE,CAAC;QAAEC,SAAS,EAAE;MAAI,CAAC,CAChH;MACD,IAAMK,YAAY,GAAAzB,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KACff,YAAY,CAACgC,IAAI,EAAG;QAAES,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAAEC,KAAK,EAAEd,KAAK;QAAEE,IAAI,EAAE,GAAG;QAAEa,IAAI,EAAE1C,SAAS;QAAE2C,KAAK,EAAE;MAAE,CAAC,GAC5F5C,YAAY,CAACqC,iBAAiB,EAAG;QAAEI,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAAEX,IAAI,EAAE,GAAG;QAAEY,KAAK,EAAEd,KAAK;QAAEe,IAAI,EAAE1C,SAAS;QAAE2C,KAAK,EAAE;MAAE,CAAC,GACzG5C,YAAY,CAACsC,IAAI,EAAG;QAAEG,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAAEX,IAAI,EAAE,CAAC;QAAEY,KAAK,EAAEd,KAAK;QAAEe,IAAI,EAAEzC,SAAS;QAAE0C,KAAK,EAAEhB,KAAK,GAAG;MAAG,CAAC,GACrG5B,YAAY,CAACuC,aAAa,EAAG;QAAEE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAAEX,IAAI,EAAE,CAAC;QAAEY,KAAK,EAAEd,KAAK;QAAEe,IAAI,EAAEzC,SAAS;QAAE0C,KAAK,EAAEhB,KAAK,GAAG;MAAG,CAAC,CAC9G;MACD,IAAI,CAACV,KAAK,CAACQ,SAAS,CAACK,YAAY,CAACJ,IAAI,CAAC,CAAC;MACxC,IAAI,CAACR,QAAQ,CAACO,SAAS,CAACK,YAAY,CAACJ,IAAI,CAAC,CAAC;MAC3C,IAAI,CAACP,KAAK,CAACM,SAAS,CAACc,YAAY,CAACb,IAAI,CAAC,CAAC;IAC1C;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAqB,OAAA,EAAS;MACP,IAAI,CAAC3B,KAAK,CAAC2B,MAAM,CAAC,CAAC;MACnB,IAAI,CAAC1B,QAAQ,CAAC0B,MAAM,CAAC,CAAC;MACtB,IAAI,CAACzB,KAAK,CAACyB,MAAM,CAAC,CAAC;IACrB;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAAsB,QAAA,EAAS;MACP,IAAI,CAAC7B,KAAK,CAAC8B,MAAM,CAAC,IAAI,CAAC7B,KAAK,CAAC;MAC7B,IAAI,CAACD,KAAK,CAAC8B,MAAM,CAAC,IAAI,CAAC5B,QAAQ,CAAC;MAChC,IAAI,CAACF,KAAK,CAAC8B,MAAM,CAAC,IAAI,CAAC3B,KAAK,CAAC;MAC7B,IAAI,CAAC2B,MAAM,CAAC,IAAI,CAAC9B,KAAK,CAAC;MACvB,IAAI,CAAC+B,gBAAgB,CAAC,CAAC;IACzB;EAAC;EAAA,OAAA1C,QAAA;AAAA,EAjEoBP,IAAI;AAoE3B,eAAeO,QAAQ"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Mesh } from '@anov/3d-core';
|
|
2
|
+
import type { IRainOption } from '../../utils/constant';
|
|
3
|
+
declare class LineRainMesh extends Mesh {
|
|
4
|
+
option: IRainOption;
|
|
5
|
+
uniforms: any;
|
|
6
|
+
loaded: Promise<Boolean>;
|
|
7
|
+
constructor(option: {
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
segment: number;
|
|
11
|
+
});
|
|
12
|
+
private setUniforms;
|
|
13
|
+
setSize(size: number): void;
|
|
14
|
+
setSpeed(speed: number): void;
|
|
15
|
+
setRain(scale: number): void;
|
|
16
|
+
setSnow(scale: number): void;
|
|
17
|
+
setEffect(ops: IRainOption): void;
|
|
18
|
+
update(): void;
|
|
19
|
+
delete(): void;
|
|
20
|
+
}
|
|
21
|
+
export default LineRainMesh;
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d-ability",
|
|
3
|
-
"version": "0.0.
|
|
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.
|
|
19
|
+
"@anov/3d-core": "^0.0.66"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@rengr/heatmap.js": "^2.0.10",
|
|
@@ -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.
|
|
39
|
+
"@anov/3d-core": "^0.0.66"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "father build",
|