three-scene
Version:
3D 场景
142 lines (139 loc) • 2.22 kB
TypeScript
import { TSL, Vector3 } from 'three/webgpu'
/**
* 长条烟雾
*/
export interface StripOptions {
/**
* 宽度
* 默认 10
*/
width: number
/**
* 高度
* 默认 10
*/
height: number
/**
* 分段数(长宽分段,最终分段为:长宽*分段数)
* 默认 10
*/
segment: number
/**
* 速度(风速、扭曲)
* 默认 0.2
*/
speed: number | ReturnType<typeof TSL.uniform>
/**
* 颜色
* 默认 0xffffff
*/
color: number | string
/**
* 颜色饱和
* 默认 3
*/
alphaPow: number
/**
* 扭曲次数
* 默认 5
*/
twistNums: number
/**
* 扭曲范围
* 默认 5
*/
twistRange: number
/**
* 左右风速
* 默认 0.1
*/
RLSpeed: number
/**
* 上下风速
* 默认 0.1
*/
TDSpeed: number
/**
* 风力偏差
* 默认 50
*/
offset: number
/**
* 风力
* 默认 0.03
*/
power: number | ReturnType<typeof TSL.uniform>
/**
* 贴图地址
*/
textureSrc: string
}
/**
* 粒子烟雾
*/
export interface ParticleOptions {
/**
* 大小
*/
size: number
/**
* 粒子个数
*/
count: number
/**
* 速度
*/
speed: number | ReturnType<typeof TSL.uniform>
/**
* 周期最小值
*/
lifeRangeMin: number
/**
* 周期最大值-可无限大,越大越快
*/
lifeRangeMax: number
/**
* 粒子偏差最小值(粒子将在最小值与最大值内活动)
*/
offsetRangeMin: number[] | Vector3
/**
* 粒子偏差最大值(粒子将在最小值与最大值内活动)
*/
offsetRangeMax: number[] | Vector3
/**
* 缩放最小倍数
*/
scaleMin: number
/**
* 缩放最大倍数
*/
scaleMax: number
/**
* 旋转最小角度
*/
rotateMin: number
/**
* 旋转最大角度
*/
rotateMax: number
/**
* 混合颜色
*/
mixColor: number | string | (number | string)[]
/**
* 混合颜色开始位置
*/
mixColorStart: number
/**
* 混合颜色最低透明度
*/
mixColorMinOpacity: number
/**
* 贴图地址
*/
textureSrc: string
/**
* 初始缩放倍数(动画起点的缩放倍数)
*/
startScale: number
}