ParticleEmitter3D QML Type
논리 입자용 이미터. 더 보기...
| Import Statement: | import QtQuick3D.Particles3D |
| Since: | Qt 6.2 |
| Inherits: | |
| Inherited By: |
속성
- EmitMode : enumeration
(since 6.10) - depthBias : real
- emitBursts : List<EmitBurst3D>
- emitMode : EmitMode
(since 6.10) - emitRate : real
- enabled : bool
- lifeSpan : int
- lifeSpanVariation : int
- particle : Particle3D
- particleEndScale : real
- particleEndScaleVariation : real
- particleRotation : vector3d
- particleRotationVariation : vector3d
- particleRotationVelocity : vector3d
- particleRotationVelocityVariation : vector3d
- particleScale : real
- particleScaleVariation : real
- reversed : bool
(since 6.10) - shape : ParticleAbstractShape3D
- system : ParticleSystem3D
- velocity : Direction3D
방법
- vector3d burst(int count)
- vector3d burst(int count, int duration)
- vector3d burst(int count, int duration, vector3d position)
상세 설명
이 요소는 지정된 초기 속성을 가진 논리적 입자를 ParticleSystem3D 로 방출합니다.
ParticleSystem3D 에 입자가 존재하려면 적어도 하나의 방출기가 필요합니다. 방출량을 제어하는 방법에는 몇 가지가 있습니다:
- emitRate 을 설정하여 초당 지속적으로 방출되는 입자 수를 제어합니다.
- emitBursts 속성에 EmitBurst3D 요소를 추가하여 선언적으로 버스트를 방출합니다.
- burst() 메서드 중 하나를 호출하여 즉시 버스트를 방출합니다.
속성 설명서
EmitMode : enumeration [since 6.10]
shape를 사용하는 이미터의 방출 모드를 정의합니다.
| 상수 | 설명 |
|---|---|
ParticleEmitter3D.Default | 기본 방출 동작입니다. |
ParticleEmitter3D.SurfaceNormal | 입자는 표면 법선 방향을 따라 방출됩니다. 입자 모양이 필요합니다. 이미터가 트레일 이미터인 경우, 표면 법선은 따라가는 입자에서 상속됩니다. |
ParticleEmitter3D.SurfaceReflected | 입자는 속도 벡터와 표면 법선의 반사 방향을 따라 방출됩니다. 이미터가 트레일 이미터인 경우, 표면 법선과 속도는 따라가는 입자에서 상속됩니다. 입자 모양이 필요합니다. |
이 속성은 Qt 6.10에서 도입되었습니다.
depthBias : real
이미터의 깊이 바이어스를 저장합니다. 객체를 정렬할 때 깊이 바이어스가 카메라로부터의 객체 거리에 더해집니다. 이를 통해 서로 가까이 있는 객체들 간의 렌더링 순서를 강제할 수 있으며, 그렇지 않으면 프레임마다 다른 순서로 렌더링될 수 있습니다. 음수 값을 설정하면 정렬 값이 카메라 쪽으로 더 가까워지고, 양수 값을 설정하면 카메라에서 더 멀어집니다.
emitBursts : List<EmitBurst3D>
이 속성은 ` EmitBurst3D ` 요소로 구성된 목록을 받아 버스트를 선언적으로 정의합니다. 버스트의 시작 시간, 개수 및 지속 시간이 사전에 알려진 경우, 예를 들어 ` Timer`를 사용하여 ` burst()`를 호출하는 것보다 이 속성을 사용하는 것이 더 좋습니다.
예를 들어, 시작 시점에 100개의 파티클을 방출하고 2초 후에 50개의 파티클을 방출하려면 다음과 같이 합니다:
ParticleEmitter3D {
emitBursts: [
EmitBurst3D {
time: 0
amount: 100
},
EmitBurst3D {
time: 2000
amount: 50
}
]
}burst()도 참조하십시오 .
emitMode : EmitMode [default: ParticleEmitter3D.Default, since 6.10]
이 속성은 모양이 지정된 이미터의 방출 모드를 정의합니다.
이 속성은 Qt 6.10에서 도입되었습니다.
emitRate : real
이 속성은 초당 입자 수 단위로 표현되는 일정한 입자 방출 속도를 정의합니다. 예를 들어, emitRate가 120이고 시스템이 초당 60프레임으로 애니메이션이 재생될 경우, 매 프레임마다 2개의 새로운 입자가 방출됩니다.
기본값은 0 입니다.
enabled : bool
'enabled'가 ' false'로 설정되어 있으면, 이 이미터는 어떤 입자도 방출하지 않습니다. 일반적으로 이 설정은 이미터를 조건에 따라 켜거나 끄는 데 사용됩니다. 버스트 방출을 계속하려면, 이 설정을 ' false'로 전환하지 말고 ' emitRate '를 0으로 유지하십시오.
기본값은 true 입니다.
lifeSpan : int
이 속성은 단일 입자의 수명을 밀리초 단위로 정의합니다.
기본값은 1000 입니다.
lifeSpanVariation도 참조하십시오 .
lifeSpanVariation : int
이 속성은 단일 입자의 수명 변동을 밀리초 단위로 정의합니다.
예를 들어, 3초에서 4초 사이 동안 존재하는 입자를 생성하려면:
ParticleEmitter3D {
...
lifeSpan: 3500
lifeSpanVariation: 500
}기본값은 0 입니다.
lifeSpan도 참조하십시오 .
particle : Particle3D
이 속성은 이 이미터가 방출하는 논리적 파티클을 정의합니다. 이미터에는 파티클이 정의되어 있어야 하며, 그렇지 않으면 아무것도 방출하지 않습니다. 파티클은 ‘ SpriteParticle3D ’ 또는 ‘ ModelParticle3D ’ 중 하나여야 합니다.
particleEndScale : real
이 속성은 입자 lifeSpan 의 끝 부분에서 입자의 크기 배율을 정의합니다. 입자 끝 부분의 크기에 변화를 주려면 particleEndScaleVariation 를 사용하십시오. 값이 음수일 경우, 끝 부분의 크기는 particleScale 와 동일하므로, 입자 lifeSpan 동안 크기가 변하지 않습니다.
기본값은 -1.0 입니다.
particleScale 및 particleScaleVariation도 참조하십시오 .
particleEndScaleVariation : real
이 속성은 입자의 최종 크기 범위를 정의합니다. 값이 음수일 경우, 최종 크기에도 ` particleScaleVariation `가 적용됩니다. 예를 들어, 크기가 0.5~1.5에서 시작하여 1.0~5.0에서 끝나는 입자를 생성하려면 다음과 같이 설정합니다:
ParticleEmitter3D {
...
particleScale: 1.0
particleScaleVariation: 0.5
particleEndScale: 3.0
particleEndScaleVariation: 2.0
}기본값은 ` -1.0`입니다.
particleEndScale항목도 참조하십시오 .
particleRotation : vector3d
이 속성은 시작 시점의 입자 회전 각도를 정의합니다. 회전 각도는 오일러 각도로 도(°) 단위로 지정됩니다.
particleRotationVariation도 참조하십시오 .
particleRotationVariation : vector3d
이 속성은 시작 시점에 입자의 회전 변화를 정의합니다. 회전 변화는 오일러 각도로 도(°) 단위로 정의됩니다.
예를 들어, 완전히 무작위적인 회전 각도로 입자를 방출하려면:
ParticleEmitter3D {
...
particleRotationVariation: Qt.vector3d(180, 180, 180)
}particleRotation도 참조하십시오 .
particleRotationVelocity : vector3d
이 속성은 시작 시점의 입자 회전 속도를 정의합니다. 회전 속도는 오일러 각도로 초당 도 단위로 정의됩니다.
particleRotationVelocityVariation도 참조하십시오 .
particleRotationVelocityVariation : vector3d
이 속성은 입자의 회전 속도 변화를 정의합니다. 회전 속도 변화는 오일러 각도로 초당 도 단위로 정의됩니다.
예를 들어, 초당 -100도에서 100도 사이의 임의의 회전 속도를 가지며 모든 방향으로 무작위 회전을 하는 입자를 생성하려면:
ParticleEmitter3D {
...
particleRotationVariation: Qt.vector3d(180, 180, 180)
particleRotationVelocityVariation: Qt.vector3d(100, 100, 100)
}particleRotationVelocity도 참조하십시오 .
particleScale : real
이 속성은 시작 시점의 파티클 크기를 결정하는 배율을 정의합니다. 파티클 크기에 변화를 주려면 ` particleScaleVariation`을 사용하십시오.
기본값은 1.0 입니다.
particleEndScale 및 particleScaleVariation도 참조하십시오 .
particleScaleVariation : real
이 속성은 파티클의 크기 변동을 정의합니다. 예를 들어, 0.5~1.5 크기의 파티클을 생성하려면:
ParticleEmitter3D {
...
particleScale: 1.0
particleScaleVariation: 0.5
}기본값은 0.0 입니다.
particleScale 및 particleEndScaleVariation도 참조하십시오 .
reversed : bool [default: false, since 6.10]
이 속성은 입자의 시간을 반대로 설정합니다. 즉, 방출된 입자가 종료 시간에서 시작 시간으로 이동합니다.
이 속성은 Qt 6.10에서 도입되었습니다.
shape : ParticleAbstractShape3D
이 속성은 방출 영역의 선택적 모양을 정의합니다. 모양은 ‘ ParticleShape3D ’ 또는 ‘ ParticleModelShape3D ’ 중 하나일 수 있습니다. 모양은 이미터 노드의 속성에 따라 크기가 조정되고, 위치가 지정되며, 회전됩니다. ‘Shape fill ’ 속성이 false로 설정된 경우, 방출은 모양의 표면에서만 이루어집니다.
모양이 정의되지 않은 경우, 방출은 이미터 노드의 중심점에서 이루어집니다.
system : ParticleSystem3D
이 속성은 이미터의 ParticleSystem3D 를 정의합니다. system이 이미터의 직접 상위 객체인 경우, 이 속성을 정의할 필요가 없습니다.
velocity : Direction3D
이 속성은 방출되는 입자의 초기 속도를 설정하는 데 사용할 수 있습니다. 속도가 설정되지 않은 경우, 입자는 정지 상태에서 시작하며, ‘ affectors ’가 사용되는 경우 해당 속도가 적용됩니다.
메서드 설명서
vector3d burst(int count)
이 메서드는 이 이미터에서 즉시 count 만큼의 입자를 방출합니다.
vector3d burst(int count, int duration)
이 메서드는 향후 duration 밀리초 동안 이 이미터에서 count 개수의 입자를 방출합니다.
vector3d burst(int count, int duration, vector3d position)
이 메서드는 향후 duration 밀리초 동안 이 이미터에서 count 개의 입자를 방출합니다. 입자는 마치 이미터가 position 에 있는 것처럼 방출되지만, 그 외의 모든 속성은 동일하게 유지됩니다.
© 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.