7.8 KiB
7.8 KiB
| outline | ||
|---|---|---|
|
SeismicWave
- 源文件:
packages/sdk/src/effect/SeismicWave.ts - 文档位置:
packages/docs/api/effect/SeismicWave.md
接口:SeismicWaveOptions
- 作用:SeismicWaveOptions 的结构定义。
字段
| 字段名 | 类型 | 必填 | 作用 |
|---|---|---|---|
emitterPositions |
THREE.Vector3[] |
否 | 用于保存 emitterPositions 的集合数据。 |
minRadius |
number |
否 | 用于保存 minRadius 对应的数据。 |
maxRadius |
number |
否 | 用于保存 maxRadius 对应的数据。 |
waveDuration |
number |
否 | 用于保存 waveDuration 对应的数据。 |
spawnInterval |
number |
否 | 用于保存 spawnInterval 对应的数据。 |
opacity |
number |
否 | 控制对象或材质的透明度。 |
color |
THREE.Color |
否 | 颜色配置。 |
autoStart |
boolean |
否 | 用于标记 autoStart 的启用状态。 |
startDelay |
number |
否 | 用于保存 startDelay 对应的数据。 |
shape |
'sphere' | 'hemisphere' |
否 | 用于保存 shape 对应的数据。 |
useRangeCulling |
boolean |
否 | 用于标记 useRangeCulling 的启用状态。 |
类:SeismicWave
- 作用:SeismicWave 类。
构造函数
new SeismicWave(options?: SeismicWaveOptions)
-
作用:创建 SeismicWave 实例。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
options |
SeismicWaveOptions |
否 | 当前功能对应的配置项。 |
- 出参:
SeismicWave - 返回说明:返回当前类实例。
new SeismicWave(position: THREE.Vector3, startDelay?: number)
-
作用:创建 SeismicWave 实例。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
position |
THREE.Vector3 |
是 | 位置参数。 |
startDelay |
number |
否 | 参数 startDelay,类型为 number。 |
- 出参:
SeismicWave - 返回说明:返回当前类实例。
new SeismicWave(positions: THREE.Vector3[], startDelay?: number)
-
作用:创建 SeismicWave 实例。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
positions |
THREE.Vector3[] |
是 | 参数 positions,类型为 THREE.Vector3[]。 |
startDelay |
number |
否 | 参数 startDelay,类型为 number。 |
- 出参:
SeismicWave - 返回说明:返回当前类实例。
new SeismicWave(optionsOrPosition?: SeismicWaveOptions | THREE.Vector3 | THREE.Vector3[], startDelay?: number)
-
作用:创建 SeismicWave 实例。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
optionsOrPosition |
SeismicWaveOptions | THREE.Vector3 | THREE.Vector3[] |
否 | 参数 optionsOrPosition,类型为 SeismicWaveOptions | THREE.Vector3 | THREE.Vector3[]。 |
startDelay |
number |
否 | 参数 startDelay,类型为 number。 |
- 出参:
SeismicWave - 返回说明:返回当前类实例。
属性
| 属性名 | 可见性 | 类型 | 作用 |
|---|---|---|---|
options |
public |
Required<SeismicWaveOptions> |
用于保存 options 对应的数据。 |
emitters |
public |
SeismicEmitter[] |
用于保存 emitters 的集合数据。 |
waves |
public |
SeismicWaveInstance[] |
用于保存 waves 的集合数据。 |
geometry |
public |
THREE.SphereGeometry | null |
用于保存 geometry 对应的数据。 |
active |
public |
boolean |
用于标记 active 的启用状态。 |
startTime |
public |
number | null |
用于保存 startTime 对应的数据。 |
delayTimer |
public |
number | null |
用于保存 delayTimer 对应的数据。 |
boundingBox |
public |
ParametricBox | null |
用于保存 boundingBox 对应的数据。 |
方法
init(): void
-
作用:执行 init 初始化逻辑。
-
入参:无
-
出参:
void -
返回说明:无返回值。
start(): void
-
作用:执行 start 相关逻辑。
-
入参:无
-
出参:
void -
返回说明:无返回值。
startWithDelay(delay: number): void
-
作用:执行 start With Delay 相关逻辑。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
delay |
number |
是 | 参数 delay,类型为 number。 |
- 出参:
void - 返回说明:无返回值。
stop(): void
-
作用:执行 stop 相关逻辑。
-
入参:无
-
出参:
void -
返回说明:无返回值。
clearWaves(): void
-
作用:清理 Waves。
-
入参:无
-
出参:
void -
返回说明:无返回值。
spawnWave(position: THREE.Vector3): void
-
作用:执行 spawn Wave 相关逻辑。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
position |
THREE.Vector3 |
是 | 位置参数。 |
- 出参:
void - 返回说明:无返回值。
update(data: RenderEventData): void
-
作用:更新 update。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
data |
RenderEventData |
是 | 输入数据。 |
- 出参:
void - 返回说明:无返回值。
removeFromScene(scene: THREE.Scene): void
-
作用:移除 From Scene。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
scene |
THREE.Scene |
是 | 目标场景实例。 |
- 出参:
void - 返回说明:无返回值。
setOpacity(opacity: number): void
-
作用:设置 Opacity。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
opacity |
number |
是 | 参数 opacity,类型为 number。 |
- 出参:
void - 返回说明:无返回值。
setColor(color: number): void
-
作用:设置 Color。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
color |
number |
是 | 颜色参数。 |
- 出参:
void - 返回说明:无返回值。
updateEmitterPositions(positions: THREE.Vector3[]): void
-
作用:更新 Emitter Positions。
-
入参:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
positions |
THREE.Vector3[] |
是 | 参数 positions,类型为 THREE.Vector3[]。 |
- 出参:
void - 返回说明:无返回值。
dispose(): void
-
作用:释放资源并销毁当前实例。
-
入参:无
-
出参:
void -
返回说明:无返回值。
createDefaultEmitters(): THREE.Vector3[]
-
作用:创建 Default Emitters。
-
入参:无
-
出参:
THREE.Vector3[] -
返回说明:返回数组结果,元素类型为
THREE.Vector3。
构造示例
- 来源:
packages/demo/src/disasterFormationPanel/GoldMineScene/MineSeismicPanel.vue
const section = bus.getSection();
faultSlip = new FaultSlip(section, {autoStart: true});
faultSlipSeismicWave = new SeismicWave({
emitterPositions: [new THREE.Vector3(0, 0, 0)],
shape: 'sphere',
autoStart: true
});
hasFaultSlip.value = true;
};
- 来源:
packages/demo/src/disasterFormationPanel/GoldMineScene/MineSeismicPanel.vue
const createRockBurst = () => {
rockBurstSeismicWave = new SeismicWave({
emitterPositions: [new THREE.Vector3(1.5, 1.5, 1.5)],
shape: 'sphere',
autoStart: true
});
hasRockBurst.value = true;
};
函数示例
SeismicWave.dispose
- 来源:
packages/demo/src/disasterFormationPanel/GoldMineScene/MineSeismicPanel.vue
if (faultSlipSeismicWave) {
faultSlipSeismicWave.dispose();
faultSlipSeismicWave = null;
}
hasFaultSlip.value = false;
};
Demo 参考
SeismicWave
以下示例文件中可以看到该 API 的实际调用方式:
packages/demo/src/disasterFormationPanel/GoldMineScene/MineSeismicPanel.vuepackages/demo/src/disasterFormationPanel/OilGasScene/OilGasMineSeismicPanel.vuepackages/demo/src/panels/TunnelScene/DisturbanceLoadingPanel.vue