ParticleAffector QML Type

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

Import Statement: import QtQuick.Particles
Inherited By:

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

속성

신호

상세 설명

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

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

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

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

프로퍼티 문서

enabled : bool

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

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

기본값은 참입니다.


groups : list<string>

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

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


once : bool

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

기본값은 거짓입니다.


shape : Shape

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


system : ParticleSystem

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


whenCollidingWith : list<string>

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

이는 그룹 프로퍼티와는 다릅니다. 그룹의 프로퍼티는 검사할 파티클을 선택하고, 다른 기준( ParticleAffector, 모양에 따라 수정된 범위 내에 있는 경우 포함)을 충족하면 다시 검사하여 whenCollidingWith의 파티클 그룹 중 하나의 파티클과 교차하는지 확인합니다.

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


신호 문서

affected(real x, real y)

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

ParticleAffector 에 영향을 줄 수 없는 특수한 경우(예: ParticleAffector {}), 이 신호는 해당 파티클에 연결하면 고려 중인 모든 파티클에 대해 발산됩니다. 이를 통해 파티클에 대한 응답으로 임의의 코드를 실행할 수 있습니다(파티클 자체에 영향을 주는 코드를 실행하려면 ParticleAffector::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.