physics.newParticleSystem()

类型 函数
physics.*
返回值 ParticleSystem
修订内容 版本 2024.3703
关键词 newParticleSystem、physics、particle、LiquidFun
另请参阅 object:createParticle()
object:createGroup()

概述

A ParticleSystem 对象包含在 LiquidFun 框架下表现得像液体的粒子。

一旦您创建了一个粒子系统,可以使用 object:createParticle()object:createGroup() 生成粒子。

需要注意的事项

语法

physics.newParticleSystem( params )
参数 (必需)

一个指定粒子系统属性的表 — 有关有效条目,请参见下一节。

参数参考

filename (必需)

字符串您想要用于每个单独粒子实例的纹理文件的文件名。

baseDir (可选)

常量默认情况下,纹理文件位于项目文件夹 (system.ResourceDirectory)。如果纹理文件位于 文档 目录中,请使用 system.DocumentsDirectory

density (可选)

数字此数值属性控制粒子的密度。默认情况下,此值设为 1.0

gravityScale (可选)

数字. 此数值属性控制重力的缩放。此值默认为 1.0

radius (可选)

数字. 为每个生成粒子控制物理体的半径。

imageRadius (可选)

数字. 如果已定义,粒子图像将以与物理体不同的半径渲染。否则,该图像将按 radius 的值渲染。

maxCount (可选)

数字. 此数值属性控制最大粒子数目。此值默认为 0,表示没有最大限制。

pressureStrength (可选)

数字. 响应压缩增加压力。较小值允许更大压缩。

dampingStrength (可选)

数字. 降低碰撞法向速度。较小值降低得更少。

elasticStrength (可选)

数字. 恢复弹性粒子组的形状。较大值增加弹性粒子速度。

springStrength (可选)

数字. 恢复弹簧粒子组的长度。较大值增加弹簧粒子速度。

viscousStrength (可选)

数字. 降低粘性粒子的相对速度。较大值更大程度地降低粘性粒子速度。

surfaceTensionPressureStrength (可选)

数字. 对约处于 00.2 范围内的拉伸粒子产生压力。较大值增加表面张力。

surfaceTensionNormalStrength (可选)

数字. 平滑约处于 00.2 范围内的拉伸粒子的轮廓。较大值使粒子簇更圆、更光滑且类似于水。12

repulsiveStrength (可选)

数字. 对排斥性粒子产生附加压力。较大值排斥更大,负值表示吸引。粒子稳定性范围约为 -0.22.0

powderStrength (可选)

数字. 在粉末粒子间产生排斥力。较大值排斥更大。

ejectionStrength (可选)

数字. 将粒子推出固体粒子组。较大值排斥更大。

staticPressureStrength (可选)

数字. 产生静压。较大值增加邻近粒子的压力。有关静压的说明,请参阅 此处

staticPressureRelaxation (可选)

数字. 降低静压计算中的不稳定性。较大值使用更少的迭代稳定静压。

staticPressureIterations (可选)

数字. 更改计算粒子的静压时的迭代次数。默认值为 8 次迭代。在某些情况下,您可以将迭代次数减少到 1,但这可能会在很多粒子聚合时造成不稳定性。如果您看到粒子像爆米花一样相互远离,则可能需要增加迭代次数。有关静压的说明,请参阅 此处

strictContactCheck (可选)

指定是否应该启用严格的粒子/体接触检查。此值默认为 false

colorMixingStrength (可选)

数字. 确定颜色混合的速度。值 1.0 表示立即混合粒子,而值 0.5 表示在每个仿真步骤中混合一半粒子。

destroyByAge (可选)

布尔值. 指定是否在无法创建更多粒子时按年龄销毁粒子。

lifetimeGranularity (可选)

数字。 粒子生命周期(以秒为单位)的粒度。一个粒子的最大生命周期 = (2^32 - 1) / (1.0f / 粒度大小) 秒,因此当值设置为 1/60 时,粒子的最大生命周期或存活时间为 2.27 年。

blendEquation (可选)

字符串。 设置粒子混合方程。可接受的值为 "subtract""reverseSubtract""disabled"

blendMode (可选)

字符串表。 设置粒子混合模式。可接受的字符串值为 "add""multiply""screen""normal"。它也可以是键值对,基于此处描述的自定义混合模式此处。 例如

blendMode = { srcColor="one", srcAlpha="one", dstColor="one", dstAlpha="one" }

示例

local particleSystem = physics.newParticleSystem(
    {
        filename = "particle.png",
        radius = 3
    }
)
local particleSystem = physics.newParticleSystem(
    {
        filename = "particle.png",
        radius = 4,
        imageRadius = 6,
        colorMixingStrength = 0.1,
        blendMode = "add"
    }
)