Qt Quickパーティクルシステムを使う
パーティクルシステムのすべての型のドキュメントは、QtQuick.Particles モジュールページにあります。
パーティクルモジュールの型を使用するには、次の行でモジュールをインポートします:
import QtQuick.Particles
パーティクルシステム
このパーティクルシステムには4つの主要なQMLタイプが含まれています:ParticleSystemペインター、エミッター、アフェクターです。
ParticleSystem タイプは他のすべてのタイプを結びつけ、共有タイムラインを管理します。Painters、Emitters、Affectorsは、すべて同じParticleSystem 、相互作用することができます。
この制約がある限り、ParticleSystemsはいくつでも持つことができます。したがって、論理的な分離は、相互作用させたいすべてのタイプに対して1つのParticleSystem 、またはタイプの数が少なく、それらを簡単に管理できる場合は1つだけにすることです。
論理的粒子
パーティクルシステムのすべてのタイプは "論理パーティクル "に作用します。すべてのパーティクルはパーティクルシステム内で論理的に表現されており、タイプはこの論理的パーティクルに作用します。すべての論理パーティクルが視覚化される必要はなく、論理パーティクルによっては複数の視覚パーティクルが画面に描画されることもあります。
パーティクル グループ
すべての論理パーティクルはパーティクルグループのメンバーであり、各グループは名前によって識別されます。他のグループが指定されていない場合、論理パーティクルは""(空文字列)という名前のグループに属し、他のグループと同じように動作します。グループはパーティクルを制御するためと、確率的な状態遷移を持つことができるためです。
グループはパーティクルをコントロールするもので、パーティクルシステムのどのタイプでも個々のパーティクルにアクセスすることはできません。すべてのタイプは全体としてグループに作用するため、(通常の確率的なパラメータ変化は別として)互いに異なる振る舞いをする必要があるパーティクルは、異なるグループに属する必要があります。
パーティクルは動的にグループを変更することもできます。この場合、パーティクルの軌道は変化しませんが、異なるParticlePainterやAffectorによって影響を受ける可能性があります。パーティクルはアフェクターによってグループが変更されるか、ParticleGroup タイプで確率的な状態遷移を定義できます。
一般的に、グループはストキャスティックな状態遷移が必要な場合にのみ、ParticleGroup 。そうでない場合は、タイプのパーティクル/パーティクルのプロパティで使用されている文字列でグループを定義するだけで十分です。
エミッター
エミッターは論理パーティクルをシステムに放出します。これらのパーティクルには軌跡と寿命がありますが、視覚化はありません。これらのパーティクルはエミッターの位置から放出されます。
TrailEmittersは他の論理パーティクルの位置からパーティクルを放出する特別なタイプのエミッタです。TrailEmitter と同じプロパティを持つEmitterがあるかのように、TrailEmitter の境界内にある後続のタイプの論理パーティクルは、その位置からパーティクルを放出します。
パーティクルペインタ
ペインターは論理パーティクルを視覚化するタイプです。ParticlePainter ParticlePainter は何も描画しません。ImageParticle はパーティクルの位置に画像を描画します。ItemParticle は任意の QML デリゲートを使って論理パーティクルを可視化します。ModelParticleも同様ですが、ビュークラスと同様の方法でデリゲート間でモデルデータを調整します。
ParticlePainter はシーン内のパーティクルを視覚化するQMLタイプなので、パーティクルを他のタイプの上や下に視覚的に配置しようとするときに重要なのは、そのZ値です。
アフェクタ
アフェクタはパーティクルシステムのオプションコンポーネントです。パーティクルの軌跡を変えたり、シミュレーション中のパーティクルの寿命を早めたりなど、シミュレーションに対して様々な操作を行うことができます。パフォーマンス上の理由から、大量のパーティクルシステムではアフェクタを使用しないことをお勧めします。
確率パラメータ
パーティクルシステムでは、多数のインスタンスにわたってパラメータを確率的に制御することができるため、いくつかの確率的ヘルパータイプが使用されます。これらのパラメー タに確率的な変動を与えたくない場合は、これらのタイプに変動を指定しないでください。
方向
方向は角度と大きさ、または x 成分と y 成分で指定できます。どちらの方法でも任意の方向を指定することができますが、x成分とy成分を変化させる場合と、角度と大きさを変化させる場合では大きな違いがあります。x成分とy成分を変化させると、指定した点を中心とした長方形の領域になり、角度を変化させると、指定した点を中心とした円弧になる。
形状
パーティクルシステムには、形状を表すタイプがいくつかあります。これらのタイプは形状を視覚化するものではなく、形状内のランダムな点を選択する目的で使用されます。ランダム性のない特定の点を指定したい場合は、幅0、高さ0のシェイプを使います(これがデフォルトです)。それ以外の場合は、シェイプタイプを使って領域を指定し、その領域から選択されたランダムな点を使用できるようにします。
Qt Quick Particles Examples - Emitters」、「Examples Affectors」、「Examples Image Particles」、「Examples Affectors - System」も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。