Affector QML Type

논리 파티클의 수명이 다할 때까지 언제든지 파티클의 속성에 변경 사항을 적용합니다. 더 보기...

Import Statement: import QtQuick.Particles
Inherited By:

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

속성

신호

상세 설명

기본 어펙터는 속성을 변경하지 않지만 파티클이 특정 조건을 충족할 때 신호를 방출하는 데 사용할 수 있습니다.

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

어펙터는 다른 파티클 시스템 요소와는 다른 성능 특성을 가지고 있습니다. 특히 시뮬레이션을 실시간 또는 더 빠르게 유지하기 위해 몇 가지 단순화 기능이 있습니다. 어펙터로 시스템을 실행할 때 프레임 타이밍이 너무 커지면(프레임당 1초 이상) 어펙터가 더 빠르지만 덜 정확한 시뮬레이션으로 코너링을 시도하게 됩니다. 시스템에 여러 개의 어펙터가 있는 경우 적용 순서가 보장되지 않으며, 큰 시간 이동을 시뮬레이션할 때는 각각 전체 이동을 시뮬레이션하므로 작은 시간 이동에 비해 다른 결과가 나올 수 있습니다.

일부 하드웨어에서는 여러 개의 인플루언서가 있는 많은 수의 파티클(수백 개)에 대한 정확한 시뮬레이션이 가능할 수 있지만, 성능이 낮은 하드웨어에서는 세분성이 떨어지는 시뮬레이션으로 인해 시뮬레이션에 작은 불규칙성을 예상해야 합니다.

프로퍼티 문서

acceleration : StochasticDirection

영향을 받는 파티클의 가속도가 이 방향으로 설정됩니다.


enabled : bool

활성화가 거짓으로 설정되면 이 이펙터는 어떤 파티클에도 영향을 미치지 않습니다.

보통 조건부로 이펙터를 켜거나 끄는 데 사용됩니다.

기본값은 참입니다.


groups : list<string>

영향을 받을 논리적 파티클 그룹.

비어 있으면 모든 파티클에 영향을 줍니다.


once : bool

one을 true로 설정하면 이 어펙터는 각 파티클의 수명에 한 번만 영향을 줍니다. 이 어펙터가 일반적으로 시간에 따른 연속 효과를 시뮬레이션하는 경우, 파티클에 영향을 미치는 순간 1초의 효과를 시뮬레이션합니다.

기본값은 거짓입니다.


position : StochasticDirection

영향을 받는 파티클의 위치는 ParticleSystem 을 기준으로 이 방향으로 설정됩니다. 방향을 점으로 해석할 때는 ParticleSystem 의 0,0에 밑면이 있고 끝이 지정된 위치가 되는 화살표라고 생각하면 됩니다.


relative : bool

영향을 받는 파티클의 기존 위치/속도/가속도를 새 파티클에 추가할지 여부입니다.

기본값은 참입니다.


shape : Shape

크기가 정의된 경우 모양 속성을 사용하여 직사각형이 아닌 영역에 영향을 줄 수 있습니다.


system : ParticleSystem

이것은 요소의 영향을 받는 시스템입니다. 어펙터가 ParticleSystem 의 직접 자식인 경우 자동으로 이 요소와 연결됩니다.


velocity : StochasticDirection

영향을 받는 파티클의 속도는 이 방향으로 설정됩니다.


whenCollidingWith : list<string>

여기에 논리적 파티클 그룹이 지정된 경우, 검사 중인 파티클이 이러한 그룹 중 하나의 파티클과 교차하는 경우에만 어펙터가 트리거됩니다.

이는 그룹 프로퍼티와는 다릅니다. 그룹의 프로퍼티는 검사할 파티클을 선택하고, 다른 기준(모양에 따라 수정된 어펙터의 범위 내에 있는 경우 등)을 충족하는 경우 언제 충돌하는 파티클 그룹 중 하나의 파티클과 교차하는지 다시 테스트합니다.

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


신호 문서

affectParticles(Array particles, real dt)

이 신호는 파티클이 영향을 받도록 선택되었을 때 방출됩니다. particles 는 직접 조작할 수 있는 파티클 오브젝트의 배열입니다.

dt 는 마지막으로 영향을 받은 이후 시간입니다. 궤적 조작을 실시간으로 정규화하려면 dt 을 사용합니다.

참고: 자바스크립트는 실행 속도가 느리므로 대용량 파티클 시스템에서는 사용하지 않는 것이 좋습니다.

참고: 해당 핸들러는 onAffectParticles 입니다.


affected(real x, real y)

이 신호는 영향을 받도록 파티클을 선택할 때 발생합니다. 파티클이 어펙터에 의해 고려되었지만 실제로 어떤 식으로든 변경되지 않은 경우에는 이 신호가 발생하지 않습니다.

어펙터에 영향을 줄 수 없는 특수한 경우(예: 어펙터 {})에는 이 신호가 연결하면 고려 중인 모든 파티클에 대해 방출됩니다. 이를 통해 파티클에 대한 응답으로 임의의 코드를 실행할 수 있습니다(파티클 자체에 영향을 주는 코드를 실행하려면 Affector::onAffectParticles 신호 처리기를 사용하세요). 이 신호는 파티클별로 자바스크립트 코드를 실행하므로 대용량 파티클 시스템에서는 사용하지 않는 것이 좋습니다.

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

참고: 해당 핸들러는 onAffected 입니다.


© 2025 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.