ParticleEmitter()

ParticleEmitter粒子发射器。

new ParticleEmitter()

Example
const emitter = new THING.ParticleEmitter();
emitter.particleCount = 100; // 粒子数量
emitter.distribution = 1; // 分布方式
emitter.duration = 2; // 持续时间
emitter.isLookAtCamera = true; // 是否朝向摄像机
emitter.isLookAtCameraY = true; // 是否锁定Y轴朝向摄像机
emitter.wiggle = {
	spread:0, // 抖动范围
	value:0 // 抖动值
};
emitter.rotation = {
	axisSpread:[0, 0, 0], // 旋转轴的变化范围
	randomise:false, // 是否随机旋转
	angleSpread:0, // 旋转角度的变化范围
	center:[0, 0, 0], // 旋转中心点
	angle:0, // 旋转角度
	static:false, // 是否静态旋转
	axis:[0, 1, 0] // 旋转轴
};
emitter.velocity = {
	randomise:false, // 是否随机速度
	value:[0, 25, 0], // 速度值
	distribution:1, // 分布方式
	spread:[10, 7.5, 10] // 速度的变化范围
};
emitter.size = {
	randomise:[false, false], // 是否随机大小
	spread:[0, 0], // 大小的变化范围
	value:[2, 0] // 大小值
};
emitter.angle = {
	randomise:[false, false], // 是否随机角度
	spread:[0, 0], // 角度的变化范围
	value:[1, 0] // 角度值
};
emitter.opacity = {
	randomise:[false, false], // 是否随机透明度
	spread:[0, 0], // 透明度的变化范围
	value:[1, 0.1] // 透明度值
};
emitter.color = {
	randomise:[false, false], // 是否随机颜色
	spread:[[0, 0, 0], [0, 0, 0]], // 颜色的变化范围
	value:[[0, 0, 0], [1, 1, 0]] // 颜色值
};
emitter.acceleration = {
	randomise:false, // 是否随机加速度
	value:[0, -10, 0], // 加速度值
	distribution:1, // 分布方式
	spread:[0, 0, 0] // 加速度的变化范围
};
emitter.maxAge = {
	spread:0, // 最大寿命的变化范围
	value:2 // 最大寿命值
};
emitter.position = {
 randomise:false, // 是否随机位置
 radius:10, // 半径
 spreadClamp:[0, 0, 0], // 位置的变化范围
 value:[0, 0, -50], // 位置值
 radiusScale:[1, 1, 1], // 半径的缩放比例
 distribution:1, // 分布方式
 spread:[0, 0, 0] // 位置的变化范围
};
emitter.drag = {
 randomise:false, // 是否随机阻力
 spread:0, // 阻力的变化范围
 value:0 // 阻力值
};

Members

acceleration :Acceleration

获取加速度。

activeMultiplier :number

获取/设置活跃倍数。介于 0 和 1 之间的值,描述应该发射的粒子数量的百分比,其中 0 表示 0%,1 表示 100%。

angle :ListAngle

获取角度。

color :ListColor

获取颜色。

direction :number

获取/设置方向。粒子的方向。如果值为 `1`,粒子将从粒子生命周期的开始位置开始。如果值为 `-1`,粒子将从粒子生命周期的结束位置开始,并逆向运动。

distribution :number

获取/设置分布方式。用于控制粒子的生成位置和力的行为。选项有 1(盒子)、2(球体)、3(圆盘)、4(线段)。

drag :Drag

获取拖拽属性。

duration :number|null

获取/设置持续时间。以秒为单位,表示此发射器应持续存在的时间。如果未指定,则发射器将无限期地发射粒子。

isLookAtCamera :boolean

获取/设置是否始终朝向相机。当 UseMesh 为 true 时生效。如果为 true,则表示其粒子将始终朝向相机。

isLookAtCameraY :boolean

获取/设置是否始终朝向相机并锁定 Y 轴。当 UseMesh 为 true 时生效。如果为 true,则表示其粒子将始终朝向相机并锁定 Y 轴。

isStatic :boolean

获取/设置是否静态。如果为 true,则表示这些粒子不会被模拟。

maxAge :MaxAge

获取/设置最大寿命属性。

opacity :ListOpacity

获取不透明度。

particleCount :number

获取/设置粒子数量。渲染时的粒子数量。

position :Position

获取位置。

rotation :Rotation

获取旋转属性。

size :ListSize

获取尺寸。

velocity :Velocity

获取速度。

Methods

getAttribute(key) → {any}

获取属性值。
Parameters:
Name Type Description
key THING.ADAPTER.ParticleEmitterAttributeType 属性键
Returns:
any - 返回属性值。

setAttribute(key, value)

设置属性值。
Parameters:
Name Type Description
key THING.ADAPTER.ParticleEmitterAttributeType 属性键
value any 属性值