ParticleEmitter3D QML Type

論理パーティクルのエミッター。詳細...

Import Statement: import QtQuick3D.Particles3D
Since: Qt 6.2
Inherits:

Node

Inherited By:

TrailEmitter3D

プロパティ

メソッド

  • 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() メソッドのいずれかを呼び出して、バーストを即座に放出する。

プロパティの説明

depthBias : real

エミッタの深度バイアスを保持します。深度バイアスは、オブジェクトをソートするときにカメラからのオブジェクトの距離に追加されます。これは、異なるフレームで異なる順序でレンダリングされるかもしれない、互いに近いオブジェクト間のレンダリング順序を強制するために使用することができます。負の値はソート値をカメラに近づけ、正の値はカメラから遠ざけます。


emitBursts : List<EmitBurst3D>

このプロパティは、バーストを宣言的に定義するために、EmitBurst3D 要素のリストを取ります。バーストの開始時間、量、継続時間があらかじめわかっている場合は、Timerburst() を呼び出すなどするよりも、このプロパティを使用する方がよいでしょう。

例えば、開始時に100個のパーティクルを放出し、2秒後に50個のパーティクルを放出します:

ParticleEmitter3D {
    emitBursts: [
        EmitBurst3D {
            time: 0
            amount: 100
        },
        EmitBurst3D {
            time: 2000
            amount: 50
        }
    ]
}

burst()も参照してください


emitRate : real

このプロパティは、1秒あたりのパーティクルの放出率を定義します。例えば、emitRate が 120 で、システムが毎秒 60 フレームでアニメートする場合、毎フレームで 2 つの新しいパーティクルが放出されます。

デフォルト値は0 です。


enabled : bool

enabled をfalse に設定すると、このエミッタはパーティクルを放出しません。通常、これは条件付きでエミッタのオン/オフを切り替えるために使用します。バーストを放出し続けたい場合は、false に切り替えるのではなく、emitRate を 0 のままにしてください。

デフォルト値はtrue です。


lifeSpan : int

このプロパティは、1 つのパーティクルの寿命をミリ秒単位で定義します。

デフォルト値は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

このプロパティはパーティクルの回転速度を定義します。回転速度はオイラー角で1秒あたりの度数で定義します。

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参照して ください。


このプロパティは、放出領域の任意の形状を定義します。ParticleShape3D ParticleModelShape3DShape は、エミッタ・ノード・プロパティに基づいてスケール、位置、回転されます。Shapefill プロパティが false に設定されている場合、エミッティングはシェイプの表面からのみ行われます。

シェイプが定義されていない場合、エミッタノードの中心点からエミッティングが行われます。


system : ParticleSystem3D

このプロパティは、エミッタのParticleSystem3D を定義します。システムがエミッタの直接の親である場合、このプロパティを定義する必要はありません。


velocity : Direction3D

このプロパティを使用して、エミッタパーティクルの開始速度を設定できます。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 にあるかのように放出されますが、他のすべてのプロパティは同じです。


本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。