影响器 QML 类型

在粒子生命周期的任何一点应用于逻辑粒子属性的变化。 更多...

导入语句import QtQuick.Particles
继承自

年龄吸引力摩擦力重力群体目标精灵目标湍流徘徊

属性

信号

详细说明

基本影响器不会更改任何属性,但可以用于在粒子满足某些条件时发出信号。

如果影响器有定义的大小,那么它只影响屏幕上大小和位置在其内部的粒子。

影响器与其他粒子系统元素具有不同的性能特征。特别是,它们有一些简化以尝试在实时或更快地保持模拟。当运行具有影响器的系统时,过大的不规则帧时间(> 每帧一秒)会导致影响器尝试通过更快速但精度较低的模拟来取巧。如果系统有多个影响器,应用的顺序没有保证,且在模拟较大的时间位移时,它们将各自模拟整个位移,这可能导致与较小时间位移不同的结果。

在具有多个影响器的大量粒子(数百个)上实现准确的模拟可能会在一些硬件上可行,但在硬件性能较弱的设备上,您应该期望模拟中的小不规则性,因为模拟的粒度较差。

属性文档

加速度 : 随机方向

受影响的粒子将具有此方向的速度。


启用 : bool

如果将启用设置为false,则此影响因子不会影响任何粒子。

通常,这用于有条件地打开或关闭影响因子。

默认值是true。


: list<string>

哪些逻辑粒子组将受到影响。

如果为空,则将影响所有粒子。


once : bool

如果once设置为true,则此影响因子将只在粒子的生命周期内影响每个粒子一次。如果影响因子通常模拟随时间持续的效果,那么它将在影响粒子的那一刻模拟一秒钟的时间效果。

默认值是false。


位置 : StochasticDirection

受影响的粒子将将其位置设置为相对于ParticleSystem的此方向。当将方向解释为点时,想象它为ParticleSystem的0,0为基,指定位置为尖端。


relative : bool

是否将受影响的粒子的现有位置/速度/加速度添加到新的位置。

默认值是true。


形状 : Shape

如果已定义大小,则可以使用形状属性影响非矩形区域。


系统 : ParticleSystem

这是受此元素影响的系统。如果影响因子是ParticleSystem的直接子元素,则它将自动与之关联。


速度 : StochasticDirection

受影响的粒子将将其速度设置为此方向。


whenCollidingWith : list<string>

如果指定了任何逻辑粒子组,则影响因子仅在检查的粒子与这些组中的一个粒子的粒子交叉时才会触发。

这与groups属性不同。groups属性选择可能被检查的粒子,如果它们符合其他标准(包括位于影响因子内,形状修改后),则它们将再次被检查,以看它们是否与whenCollidingWith中的粒子组之一交叉。

默认情况下,未指定任何组。


信号文档

affectParticles(Array particles, real dt)

当选择影响粒子时发出此信号。 particles 是可以直接操作的粒子对象的数组。

dt 是上次受到影响以来经过的时间。使用 dt 将轨迹操作Normalization到真实时间。

注意: JavaScript的执行速度较慢,因此不建议在高容量的粒子系统中使用此功能。

注意: 相应处理程序是 onAffectParticles


affected(real x, real y)

当选择影响粒子时发出此信号。如果粒子被认为由影响因子考虑但未进行任何更改,则不会发出此信号。

在特殊情况下,如果一个影响者没有可能产生影响的效应(例如影响者 {}),如果你连接到它,那么将对该所有考虑中的粒子发出该信号。这允许你在响应粒子时执行任意代码(如果你想要执行影响粒子本身的代码,可以使用 Affector::onAffectParticles 信号处理器)。因为这是为每个粒子执行 JavaScript 代码,所以不建议在高容量的粒子系统中使用此信号。

(x, y) 是粒子当前的位置。

注意:相应的处理器是 onAffected


© 2024 Qt 公司。本文档中的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相关标志是芬兰及/或全球其他国家的 Qt 公司的 商标。所有其他商标都属于其相应所有者。