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 を設定します。
- 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
このプロパティは、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
このプロパティは、開始時のパーティクルの回転速度を定義します。回転速度はオイラー角で1秒あたりの度数として定義されます。
particleRotationVelocityVariationも参照してください 。
particleRotationVelocityVariation : vector3d
このプロパティは、パーティクルの回転速度の変化を定義します。回転速度のバリエーションは、オイラー角で1秒あたりの度数として定義されます。
例えば、毎秒-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 ParticleModelShape3DShapeはエミッタ・ノード・プロパティに基づいて拡大縮小、位置決め、回転されます。Shapefill プロパティが false に設定されている場合、エミッティングはシェイプの表面からのみ行われます。
シェイプが定義されていない場合、エミッタノードの中心点からエミッティングが行われます。
system : ParticleSystem3D
このプロパティは、エミッタのParticleSystem3D を定義します。system がエミッタの直接の親である場合、このプロパティを定義する必要はありません。
velocity : Direction3D
このプロパティは、放出されるパーティクルの開始速度を設定するために使用できます。velocityが設定されていない場合、パーティクルは動かない状態からスタートし、velocityは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.