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 にパーティクルを表示させるには、少なくとも1つのエミッターが必要です。放出量を制御するには、いくつかの方法があります:
- emitRate を設定することで、1秒あたりに連続して放出される粒子の数を制御します。
- `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
このプロパティは、1秒あたりのパーティクル数として、一定の発射レートを定義します。たとえば、emitRateが120で、システムのアニメーションが1秒あたり60フレームの場合、毎フレーム2つの新しいパーティクルが発射されます。
デフォルト値は0 です。
enabled : bool
「enabled」が「false 」に設定されている場合、このエミッターはパーティクルを一切放出しません。通常、これはエミッターを条件に応じてオンまたはオフにするために使用されます。バーストの放出を継続したい場合は、この設定を「false 」に切り替えるのではなく、「emitRate 」を「0」のままにしておいてください。
デフォルト値はtrue です。
lifeSpan : int
このプロパティは、1つのパーティクルの存続時間をミリ秒単位で指定します。
デフォルト値は1000 です。
「lifeSpanVariation」も参照してください 。
lifeSpanVariation : int
このプロパティは、1つの粒子の寿命の変動をミリ秒単位で定義します。
たとえば、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 」のいずれかです。形状は、エミッターノードのプロパティに基づいて拡大・縮小、配置、回転が行われます。「Shapefill 」プロパティが 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.