이 페이지에서

ParticleAffector QML Type

논리 입자의 수명 주기 중 어느 시점에서든 해당 입자의 속성에 변경 사항을 적용합니다. 더 보기...

Import Statement: import QtQuick.Particles
Inherited By:

Affector, Age, Attractor, Friction, Gravity, GroupGoal, SpriteGoal, Turbulence, and Wander

속성

신호

상세 설명

기본 ParticleAffector는 어떤 속성도 변경하지 않지만, 파티클이 특정 조건을 충족할 때 신호를 발생시키는 데 사용할 수 있습니다.

어펙터에 크기가 정의되어 있다면, 화면상에서 해당 크기와 위치 내에 있는 파티클에만 영향을 미칩니다.

어펙터는 다른 파티클 시스템 요소들과는 다른 성능 특성을 가집니다. 특히, 실시간 또는 그보다 더 빠른 속도로 시뮬레이션을 유지하기 위해 일부 기능이 단순화되어 있습니다. 애펙터가 포함된 시스템을 실행할 때, 프레임 간격이 너무 길어지면(프레임당 1초 이상) 애펙터는 더 빠르지만 정확도는 떨어지는 시뮬레이션으로 대충 처리하려고 시도합니다. 시스템에 여러 개의 어펙터가 있는 경우, 이들이 적용되는 순서는 보장되지 않으며, 더 큰 시간 이동을 시뮬레이션할 때는 각각 전체 이동량을 시뮬레이션하므로, 작은 시간 이동과 비교하여 다른 결과가 나올 수 있습니다.

일부 하드웨어에서는 여러 어펙터가 적용된 상태에서 다수의 입자(수백 개)에 대한 정확한 시뮬레이션이 가능할 수 있지만, 성능이 낮은 하드웨어에서는 시뮬레이션의 세분화 수준이 떨어지기 때문에 시뮬레이션에 약간의 불규칙성이 발생할 것으로 예상해야 합니다.

속성 문서

enabled : bool

'활성화됨'이 false로 설정된 경우, 이 어펙터는 어떤 파티클에도 영향을 미치지 않습니다.

일반적으로 이 옵션은 어펙터를 조건에 따라 켜거나 끄는 데 사용됩니다.

기본값은 true입니다.

groups : list<string>

어떤 논리적 파티클 그룹에 영향을 미칠지.

이 값이 비어 있으면 모든 파티클에 영향을 미칩니다.

once : bool

'once'가 true로 설정되면, 이 어펙터는 각 파티클의 수명 동안 한 번만 영향을 미칩니다. 어펙터가 일반적으로 시간에 따라 지속적인 효과를 시뮬레이션하는 경우, 파티클에 영향을 미치는 바로 그 순간에 1초 분량의 효과를 시뮬레이션합니다.

기본값은 false입니다.

shape : Shape

크기가 정의된 경우, shape 속성을 사용하여 직사각형이 아닌 영역에 적용할 수 있습니다.

system : ParticleSystem

이 시스템은 해당 요소의 영향을 받게 됩니다. ` ParticleAffector `가 ` ParticleSystem`의 직접 자식인 경우, 자동으로 해당 ` `와 연결됩니다.

whenCollidingWith : list<string>

여기에 논리적 파티클 그룹이 지정된 경우, 검사 대상 파티클이 해당 그룹 중 하나에 속한 파티클과 교차할 때만 파티클 어펙터가 트리거됩니다.

이는 groups 속성과 다릅니다. groups 속성은 검사 대상이 될 수 있는 파티클을 선택하며, 해당 파티클이 다른 기준( ParticleAffector 의 경계 내에 있고, shape에 의해 수정된 경우 포함)을 충족할 경우, whenCollidingWith에 지정된 파티클 그룹 중 하나에 속하는 파티클과 교차하는지 다시 테스트됩니다.

기본적으로 그룹은 지정되어 있지 않습니다.

신호 문서

affected(real x, real y)

이 신호는 영향을 받을 입자가 선택되었을 때 발생합니다. 입자가 ‘ ParticleAffector ’에 의해 고려되지만 실제로는 어떠한 변경도 가해지지 않은 경우에는 이 신호가 발생하지 않습니다.

ParticleAffector 가 적용할 수 있는 효과가 없는 특수한 경우(예: ParticleAffector {}), 이 신호에 연결되어 있다면 고려 대상인 모든 파티클에 대해 이 신호가 발생합니다. 이를 통해 파티클에 반응하여 임의의 코드를 실행할 수 있습니다(파티클 자체에 영향을 미치는 코드를 실행하려면 ParticleAffector::onAffectParticles 신호 핸들러를 사용하십시오). 이 기능은 파티클마다 JavaScript 코드를 실행하므로, 파티클 수가 많은 시스템에서는 이 신호를 사용하지 않는 것이 좋습니다.

(x, y)는 파티클의 현재 위치입니다.

참고: 이에 대응하는핸들러는 onAffected 입니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.