@soonspacejs/plugin-effect 2.13.7 → 2.13.8
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/README.md +4 -4
- package/dist/builds/BuildsShader.d.ts +5 -0
- package/dist/circle-wave/index.d.ts +28 -0
- package/dist/contact-shadows/HorizontalBlurShader.d.ts +21 -0
- package/dist/contact-shadows/VerticalBlurShader.d.ts +21 -0
- package/dist/contact-shadows/index.d.ts +2 -0
- package/dist/cylinder-wave/index.d.ts +23 -0
- package/dist/flame/FlameImg.d.ts +2 -0
- package/dist/flame/FlameShader.d.ts +17 -0
- package/dist/index.d.ts +196 -0
- package/dist/index.esm.js +1 -5689
- package/dist/points-wave/PointsWaveShader.d.ts +5 -0
- package/dist/sparkles/SparklesShader.d.ts +5 -0
- package/dist/sparkles/SparklesUtils.d.ts +6 -0
- package/dist/water/index.d.ts +52 -0
- package/dist/water/tools.d.ts +3 -0
- package/dist/weather/RainImg.d.ts +2 -0
- package/package.json +3 -3
- package/dist/index.esm.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# @soonspacejs/plugin-effect
|
|
2
|
-
|
|
3
|
-
> Effect plugin for SoonSpace.js
|
|
4
|
-
|
|
1
|
+
# @soonspacejs/plugin-effect
|
|
2
|
+
|
|
3
|
+
> Effect plugin for SoonSpace.js
|
|
4
|
+
|
|
5
5
|
Document: [http://www.xwbuilders.com:8800/plugin/effect.html](http://www.xwbuilders.com:8800/plugin/effect.html)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Mesh, MeshBasicMaterial, PlaneGeometry } from 'three';
|
|
2
|
+
import { IVector3 } from 'soonspacejs';
|
|
3
|
+
export interface InnerCircleWaveOptions {
|
|
4
|
+
textureUrl: string[];
|
|
5
|
+
position: IVector3;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
isScaleAnimate: boolean;
|
|
9
|
+
isOpacityAnimate: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class CircleWave {
|
|
12
|
+
outMaterial: MeshBasicMaterial | undefined;
|
|
13
|
+
outPlaneGeometry: PlaneGeometry | undefined;
|
|
14
|
+
outMesh: Mesh<PlaneGeometry, MeshBasicMaterial> | undefined;
|
|
15
|
+
inMaterial: MeshBasicMaterial;
|
|
16
|
+
inPlaneGeometry: PlaneGeometry;
|
|
17
|
+
inMesh: Mesh<PlaneGeometry, MeshBasicMaterial>;
|
|
18
|
+
readonly isScaleAnimate: boolean;
|
|
19
|
+
readonly isOpacityAnimate: boolean;
|
|
20
|
+
readonly AngleUnit: number;
|
|
21
|
+
readonly MaxScale: number;
|
|
22
|
+
readonly OpacityUnit: number;
|
|
23
|
+
readonly ScaleUnit: number;
|
|
24
|
+
constructor(options: InnerCircleWaveOptions);
|
|
25
|
+
createPlane(width?: number, height?: number): PlaneGeometry;
|
|
26
|
+
createMaterial(texturePath: string): MeshBasicMaterial;
|
|
27
|
+
update(): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Two pass Gaussian blur filter (horizontal and vertical blur shaders)
|
|
3
|
+
* - see http://www.cake23.de/traveling-wavefronts-lit-up.html
|
|
4
|
+
*
|
|
5
|
+
* - 9 samples per pass
|
|
6
|
+
* - standard deviation 2.7
|
|
7
|
+
* - "h" and "v" parameters should be set to "1 / width" and "1 / height"
|
|
8
|
+
*/
|
|
9
|
+
declare const HorizontalBlurShader: {
|
|
10
|
+
uniforms: {
|
|
11
|
+
tDiffuse: {
|
|
12
|
+
value: null;
|
|
13
|
+
};
|
|
14
|
+
h: {
|
|
15
|
+
value: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
vertexShader: string;
|
|
19
|
+
fragmentShader: string;
|
|
20
|
+
};
|
|
21
|
+
export { HorizontalBlurShader, };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Two pass Gaussian blur filter (horizontal and vertical blur shaders)
|
|
3
|
+
* - see http://www.cake23.de/traveling-wavefronts-lit-up.html
|
|
4
|
+
*
|
|
5
|
+
* - 9 samples per pass
|
|
6
|
+
* - standard deviation 2.7
|
|
7
|
+
* - "h" and "v" parameters should be set to "1 / width" and "1 / height"
|
|
8
|
+
*/
|
|
9
|
+
declare const VerticalBlurShader: {
|
|
10
|
+
uniforms: {
|
|
11
|
+
tDiffuse: {
|
|
12
|
+
value: null;
|
|
13
|
+
};
|
|
14
|
+
v: {
|
|
15
|
+
value: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
vertexShader: string;
|
|
19
|
+
fragmentShader: string;
|
|
20
|
+
};
|
|
21
|
+
export { VerticalBlurShader, };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CylinderGeometry, MeshBasicMaterial } from 'three';
|
|
2
|
+
import { IVector3 } from 'soonspacejs';
|
|
3
|
+
export interface InnerCylinderWaveOptions {
|
|
4
|
+
position: IVector3;
|
|
5
|
+
topRadius: number;
|
|
6
|
+
bottomRadius: number;
|
|
7
|
+
height: number;
|
|
8
|
+
texturePath: string;
|
|
9
|
+
color: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class CylinderWave {
|
|
12
|
+
material: MeshBasicMaterial;
|
|
13
|
+
geometry: CylinderGeometry;
|
|
14
|
+
mesh: any;
|
|
15
|
+
position: any;
|
|
16
|
+
maxScale: number;
|
|
17
|
+
minScale: number;
|
|
18
|
+
private opacityUnit;
|
|
19
|
+
constructor(options: InnerCylinderWaveOptions);
|
|
20
|
+
createGeometry(topRadius: number, bottomRadius: number, height: number): CylinderGeometry;
|
|
21
|
+
creatematerial(texturePath: string, color: string): MeshBasicMaterial;
|
|
22
|
+
update(): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "data:image/png;base64,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";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author mattatz / http://mattatz.github.io
|
|
3
|
+
*
|
|
4
|
+
* Ray tracing based real-time procedural volumetric fire shader.
|
|
5
|
+
*
|
|
6
|
+
* Based on
|
|
7
|
+
* Alfred et al. Real-Time procedural volumetric fire / http://dl.acm.org/citation.cfm?id=1230131
|
|
8
|
+
* and
|
|
9
|
+
* webgl-noise / https://github.com/ashima/webgl-noise/blob/master/src/noise3D.glsl
|
|
10
|
+
* and
|
|
11
|
+
* primitive: blog | object space raymarching / https://github.com/ashima/webgl-noise/blob/master/src/noise3D.glsl
|
|
12
|
+
*/
|
|
13
|
+
declare const _default: {
|
|
14
|
+
vertexShader: string;
|
|
15
|
+
fragmentShader: string;
|
|
16
|
+
};
|
|
17
|
+
export default _default;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { Blending } from 'three';
|
|
2
|
+
import SoonSpace, { IVector3, IColor } from 'soonspacejs';
|
|
3
|
+
import type { PluginObject, PluginObjectInfo } from 'soonspacejs';
|
|
4
|
+
import { ParticleCluster, ParticleClusterOptions } from '@three3d/particle';
|
|
5
|
+
export * from '@three3d/particle';
|
|
6
|
+
import { InnerCircleWaveOptions } from './circle-wave';
|
|
7
|
+
import { InnerCylinderWaveOptions } from './cylinder-wave';
|
|
8
|
+
import { WaterOptions } from './water';
|
|
9
|
+
export interface FlameOptions extends PluginObjectInfo {
|
|
10
|
+
magnitude?: number;
|
|
11
|
+
gain?: number;
|
|
12
|
+
imgUrl?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SmokeOptions extends PluginObjectInfo {
|
|
15
|
+
imgUrl?: string;
|
|
16
|
+
count?: number;
|
|
17
|
+
maxAge?: number;
|
|
18
|
+
size?: number;
|
|
19
|
+
acceleration?: number;
|
|
20
|
+
velocity?: IVector3;
|
|
21
|
+
color?: IColor[];
|
|
22
|
+
}
|
|
23
|
+
export interface Smoke2Options extends PluginObjectInfo {
|
|
24
|
+
imgUrl?: string;
|
|
25
|
+
radius?: number;
|
|
26
|
+
maxLife?: number;
|
|
27
|
+
maxSize?: number;
|
|
28
|
+
rate?: number;
|
|
29
|
+
colors?: IColor[];
|
|
30
|
+
blending?: Blending;
|
|
31
|
+
}
|
|
32
|
+
export interface SparklesOptions extends PluginObjectInfo {
|
|
33
|
+
count?: number;
|
|
34
|
+
speed?: number | Float32Array;
|
|
35
|
+
opacity?: number | Float32Array;
|
|
36
|
+
color?: IColor | Float32Array;
|
|
37
|
+
size?: number | Float32Array;
|
|
38
|
+
scalar?: number | [number, number, number] | IVector3;
|
|
39
|
+
noise?: number | [number, number, number] | IVector3 | Float32Array;
|
|
40
|
+
}
|
|
41
|
+
export interface CreateWaterOptions extends PluginObjectInfo, Omit<WaterOptions, 'userData'> {
|
|
42
|
+
/**
|
|
43
|
+
* 是否开启水的动画
|
|
44
|
+
* @remarks
|
|
45
|
+
* 如果开启,则会一直触发场景渲染
|
|
46
|
+
* 如果关闭,则不会主动触发场景渲染,但在渲染渲染时仍会有动画效果,只是不会主动触发场景渲染
|
|
47
|
+
*/
|
|
48
|
+
animation?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface ContactShadowsOptions extends Omit<PluginObjectInfo, 'scale'> {
|
|
51
|
+
opacity?: number;
|
|
52
|
+
width?: number;
|
|
53
|
+
height?: number;
|
|
54
|
+
blur?: number;
|
|
55
|
+
far?: number;
|
|
56
|
+
resolution?: number;
|
|
57
|
+
frames?: number;
|
|
58
|
+
scale?: number | [x: number, y: number];
|
|
59
|
+
darkness?: number;
|
|
60
|
+
}
|
|
61
|
+
export interface WeatherOptions {
|
|
62
|
+
/**
|
|
63
|
+
* 粒子贴图
|
|
64
|
+
*/
|
|
65
|
+
imgUrl?: string;
|
|
66
|
+
/**
|
|
67
|
+
* 颜色
|
|
68
|
+
*/
|
|
69
|
+
color?: IColor;
|
|
70
|
+
/**
|
|
71
|
+
* 大小
|
|
72
|
+
*/
|
|
73
|
+
size?: number;
|
|
74
|
+
/**
|
|
75
|
+
* 不透明度
|
|
76
|
+
*/
|
|
77
|
+
opacity?: number;
|
|
78
|
+
/**
|
|
79
|
+
* 粒子数量
|
|
80
|
+
*/
|
|
81
|
+
count?: number;
|
|
82
|
+
/**
|
|
83
|
+
* 粒子范围
|
|
84
|
+
*/
|
|
85
|
+
range?: number;
|
|
86
|
+
/**
|
|
87
|
+
* 粒子左右速度的随机范围
|
|
88
|
+
*/
|
|
89
|
+
velocityX?: [number, number];
|
|
90
|
+
/**
|
|
91
|
+
* 粒子上下速度的随机范围
|
|
92
|
+
*/
|
|
93
|
+
velocityY?: [number, number];
|
|
94
|
+
}
|
|
95
|
+
export type CircleWaveOptions = InnerCircleWaveOptions & PluginObjectInfo;
|
|
96
|
+
export type CylinderWaveOptions = InnerCylinderWaveOptions & PluginObjectInfo;
|
|
97
|
+
export interface PointsWaveOptions extends PluginObjectInfo {
|
|
98
|
+
xAxisCount?: number;
|
|
99
|
+
zAxisCount?: number;
|
|
100
|
+
showDistance?: number;
|
|
101
|
+
separation?: number;
|
|
102
|
+
size?: number;
|
|
103
|
+
maxFluctua?: number;
|
|
104
|
+
color?: IColor;
|
|
105
|
+
opacity?: number;
|
|
106
|
+
}
|
|
107
|
+
export interface BuildsOptions extends PluginObjectInfo {
|
|
108
|
+
buildWidth?: number;
|
|
109
|
+
buildHeigh?: number;
|
|
110
|
+
buildDepth?: number;
|
|
111
|
+
count?: number;
|
|
112
|
+
gapX?: number;
|
|
113
|
+
gapZ?: number;
|
|
114
|
+
showDistance?: number;
|
|
115
|
+
randShift?: number;
|
|
116
|
+
color?: IColor;
|
|
117
|
+
}
|
|
118
|
+
declare class EffectPlugin {
|
|
119
|
+
readonly ssp: SoonSpace;
|
|
120
|
+
[x: string]: any;
|
|
121
|
+
/**
|
|
122
|
+
* 天气预设图片
|
|
123
|
+
*/
|
|
124
|
+
readonly weatherPresetImgs: {
|
|
125
|
+
rain: string;
|
|
126
|
+
snow: any;
|
|
127
|
+
};
|
|
128
|
+
private _weatherId;
|
|
129
|
+
constructor(ssp: SoonSpace);
|
|
130
|
+
/**
|
|
131
|
+
* 创建火焰
|
|
132
|
+
* @params params
|
|
133
|
+
* @returns
|
|
134
|
+
*/
|
|
135
|
+
createFlame(params: FlameOptions): PluginObject;
|
|
136
|
+
/**
|
|
137
|
+
* 创建烟雾
|
|
138
|
+
* @param params
|
|
139
|
+
* @returns
|
|
140
|
+
*/
|
|
141
|
+
createSmoke(params: SmokeOptions): PluginObject;
|
|
142
|
+
createSmoke2(params: Smoke2Options): PluginObject;
|
|
143
|
+
/**
|
|
144
|
+
* 创建星星
|
|
145
|
+
* @param params
|
|
146
|
+
* @returns
|
|
147
|
+
*/
|
|
148
|
+
createSparkles(params: SparklesOptions): PluginObject;
|
|
149
|
+
/**
|
|
150
|
+
* 创建接触阴影
|
|
151
|
+
* @params params
|
|
152
|
+
*/
|
|
153
|
+
createContactShadows({ scale, frames, opacity, width, height, blur, darkness, far, resolution, ...props }: ContactShadowsOptions): PluginObject;
|
|
154
|
+
/**
|
|
155
|
+
* 开启天气
|
|
156
|
+
* @param param0
|
|
157
|
+
*/
|
|
158
|
+
openWeather(params?: WeatherOptions): void;
|
|
159
|
+
/**
|
|
160
|
+
* 关闭天气
|
|
161
|
+
*/
|
|
162
|
+
closeWeather(): void;
|
|
163
|
+
/**
|
|
164
|
+
* 创建粒子簇
|
|
165
|
+
* @param options
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
168
|
+
createParticleCluster(options: ParticleClusterOptions): ParticleCluster;
|
|
169
|
+
/**
|
|
170
|
+
* 创建圆形光波
|
|
171
|
+
* @param options
|
|
172
|
+
* @returns
|
|
173
|
+
*/
|
|
174
|
+
createCircleWave(options: CircleWaveOptions): PluginObject;
|
|
175
|
+
/**
|
|
176
|
+
* 创建立柱光波
|
|
177
|
+
* @param options
|
|
178
|
+
* @returns
|
|
179
|
+
*/
|
|
180
|
+
createCylinderWave(options: CylinderWaveOptions): PluginObject;
|
|
181
|
+
/**
|
|
182
|
+
* 创建粒子波浪
|
|
183
|
+
* @param options
|
|
184
|
+
* @returns
|
|
185
|
+
*/
|
|
186
|
+
createPointsWave(options: PointsWaveOptions): PluginObject;
|
|
187
|
+
/**
|
|
188
|
+
* 创建建筑
|
|
189
|
+
* @param options
|
|
190
|
+
* @returns
|
|
191
|
+
*/
|
|
192
|
+
createBuilds(options: BuildsOptions): PluginObject;
|
|
193
|
+
createWater(options: CreateWaterOptions): PluginObject;
|
|
194
|
+
removeEffect(id: PluginObjectInfo['id']): boolean;
|
|
195
|
+
}
|
|
196
|
+
export default EffectPlugin;
|