Qt Quick 파티클 시스템 사용
모든 파티클 시스템 유형에 대한 문서는 QtQuick.Particles 모듈 페이지에서 확인할 수 있습니다.
particles 모듈의 유형을 사용하려면 다음 줄을 사용하여 모듈을 임포트하십시오:
import QtQuick.ParticlesParticleSystem
이 파티클 시스템은 ParticleSystem, Painters, Emitters, Affectors라는 네 가지 주요 QML 유형을 포함합니다.
ParticleSystem 유형은 다른 모든 유형을 하나로 묶어주며, 공유 타임라인을 관리합니다. Painters, Emitters 및 Affectors는 서로 상호작용하기 위해 모두 동일한 ParticleSystem 을 가져야 합니다.
이 제약 조건만 충족한다면 ParticleSystem을 원하는 만큼 만들 수 있으므로, 논리적인 구분 방식은 상호작용을 원하는 모든 유형에 대해 하나의 ParticleSystem 을 두거나, 유형의 수가 적고 관리하기 쉬운 경우에는 단 하나만 사용하는 것입니다.
논리적 입자
모든 파티클 시스템 유형은 “논리적 파티클”을 대상으로 작동합니다. 각 파티클은 파티클 시스템 내부에 논리적 표현을 가지며, 유형들은 바로 이 논리적 파티클을 대상으로 작용합니다. 모든 논리적 파티클이 시각화될 필요는 없으며, 일부 논리적 파티클은 화면에 여러 개의 시각적 파티클이 그려지게 할 수도 있습니다.
입자 그룹
모든 논리적 입자는 입자 그룹의 구성원이며, 각 그룹은 이름으로 식별됩니다. 다른 그룹이 지정되지 않은 경우, 논리적 입자는 "" (빈 문자열)이라는 이름의 그룹에 속하며, 이 그룹은 다른 그룹과 동일하게 작동합니다. 그룹은 입자를 제어하기 위한 목적과, 확률적 상태 전환을 가질 수 있다는 점 등 두 가지 목적으로 사용됩니다.
그룹이 입자를 제어하는 이유는 어떤 입자 시스템 유형을 사용하더라도 개별 입자에 직접 접근할 수 없기 때문입니다. 모든 유형은 그룹 전체에 작용하므로, (일반적인 확률적 매개변수 변동을 제외하고) 서로 다른 방식으로 동작해야 하는 입자들은 서로 다른 그룹에 속해야 합니다.
입자는 동적으로 그룹을 변경할 수도 있습니다. 이 경우 입자의 궤적은 변하지 않지만, 서로 다른 ParticlePainter나 Affector의 영향을 받을 수 있습니다. 입자의 그룹은 Affector에 의해 변경되거나, ParticleGroup 유형에서 확률적 상태 전환이 정의될 수 있습니다.
일반적으로 그룹은 확률적 상태 전환이 필요한 경우에만 ` ParticleGroup `에서 정의해야 합니다. 그렇지 않은 경우, 타입의 `particle` 또는 `particles` 속성에 사용되는 문자열로 그룹을 간단히 정의하는 것으로 충분합니다.
이미터
방출기(Emitters)는 시스템 내에 논리적 입자를 방출합니다. 이 입자들은 궤적과 수명을 가지지만 시각화되지 않습니다. 이 입자들은 방출기의 위치에서 방출됩니다.
TrailEmitters는 다른 논리적 입자의 위치에서 입자를 방출하는 특수한 유형의 방출기입니다. TrailEmitter 의 경계 내에 있는 해당 유형의 논리적 입자라면, 마치 그 위에 TrailEmitter 와 동일한 속성을 가진 방출기가 있는 것처럼 해당 위치에서 입자가 방출됩니다.
ParticlePainters
페인터(Painters)는 논리적 입자를 시각화하는 유형입니다. 해당 페인터에 할당된 그룹에 속하고, 그 경계 내에 있는(또는 유형에 clip 속성을 설정하지 않은 경우 경계 외부에 있는) 각 논리적 입자는 ParticlePainter 의 유형에 따라 시각화됩니다. ParticlePainter 의 기본 타입은 아무것도 그리지 않습니다. ImageParticle 는 입자 위치에 이미지를 렌더링합니다. ItemParticle 를 사용하면 임의의 QML 델리게이트를 통해 논리적 입자를 시각화할 수 있습니다. ModelParticle도 이와 유사하지만, 뷰 클래스와 유사한 방식으로 델리게이트들 간에 모델 데이터를 조정합니다.
ParticlePainter 는 씬에서 입자를 시각화하는 QML 유형이므로, 입자를 다른 유형의 위나 아래에 시각적으로 배치할 때 중요한 것은 바로 이 유형의 Z 값입니다.
어펙터
어펙터(Affectors)는 파티클 시스템의 선택적 구성 요소입니다. 어펙터는 파티클의 궤적을 변경하거나 시뮬레이션 내 수명을 조기에 종료하는 등 시뮬레이션에 다양한 조작을 수행할 수 있습니다. 성능상의 이유로, 파티클 수가 많은 시스템에서는 어펙터를 사용하지 않는 것이 좋습니다.
확률적 매개변수
파티클 시스템은 다수의 인스턴스에 걸쳐 매개변수를 확률적으로 제어함으로써 이점을 얻기 때문에, 파티클 시스템에서는 여러 확률적 보조 유형이 사용됩니다. 이러한 매개변수에 확률적 변동을 원하지 않는다면, 해당 유형에 변동을 지정하지 마십시오.
방향
방향은 각도와 크기, 또는 x 및 y 성분으로 지정할 수 있습니다. 두 방법 모두로 어떤 방향이든 지정할 수 있지만, x 및 y 성분을 변경하는 것과 각도 및 크기를 변경하는 것 사이에는 상당한 차이가 있습니다. x 및 y 성분을 변경하면 지정된 점을 중심으로 한 직사각형 영역이 생성되는 반면, 각도를 변경하면 지정된 점을 중심으로 한 호가 생성됩니다.
도형
입자 시스템에는 도형을 나타내는 여러 유형이 포함되어 있습니다. 이러한 유형은 도형을 시각화하지 않으며, 도형 내의 임의의 점을 선택하는 데 사용됩니다. 무작위성이 없는 특정 점을 원한다면, 너비와 높이를 0으로 설정된 도형(기본값)을 사용하십시오. 그렇지 않은 경우, 도형 유형을 사용하여 영역을 지정하면, 결과에서 해당 영역 내에서 무작위로 선택된 점을 사용할 수 있습니다.
Qt Quick Particles 예제 - 이미터, 예제 어펙터, 예제 이미지 파티클 및 예제 어펙터 - 시스템도 참조하십시오.
© 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.