パーティクル属性はシーン エレメントに関連付けられたデータであり、 属性は、ここに示すように、ポイントなどのコンポーネント、またはポイント クラウドなどのオブジェクトに格納できます。
属性には固有、定義済み、およびカスタムの 3 つのタイプがあります(「Notes on ICE Attributes(ICE 属性に関する注意事項)」を参照)。ノードとコンパウンドによっては、これらのどのタイプにおいても一部の属性が自動的に取得され設定されますが、独自のパーティクル属性を取得し、設定することもできます。
パーティクル属性はあらゆる場所に存在します。コンパウンドのパラメータとして表示される属性もあれば、ノードで設定する必要がある属性もあります。
パーティクル属性は、数多くのコンパウンドで使用されています。コンパウンドのプロパティ エディタでは、設定可能なパラメータとして表示されます。たとえば、放出コンパウンドの初期値パラメータを設定することは、[Init_AttributeName]属性(「ICEパーティクルの放出の属性」を参照)などを設定することと同じです。
属性は、[Get Particle]の AttributeName および[Set Particle]の AttributeName コンパウンドで使用されます。これらのコンパウンドによって、特定のパーティクル属性を手軽に使用することができます。[Get Data]および[Set Data]ノードには、既に特定の属性が登録されています。
すべての属性は、[Get Data]および[Set Data]ノードから取得できます。このように ICE 属性を取得し、同様にほとんどの ICE 属性を設定することができます。
使用可能なすべての ICE 属性のリストについては、「ICE 属性」を参照してください。
パーティクルの属性データの取得と設定は、ICE パーティクル エフェクトを作成するときによく行う操作です。実際、大部分のパーティクル コンパウンドでは、パラメータが設定されていれば、属性データも設定されています。
1 つのポイント クラウドでパーティクルの属性を取得および設定できます。このようなパーティクル属性の中には、特定の[Get Particle]および[Set Particle]コンパウンドで外部公開されているのですぐに使用できるものもありますが、シンプルな[Set Data]または[Set Data]ノードを取得し、そこで必要な属性を外部公開することもできます。
データの取得および設定の詳細については、ICE ツリーでデータを取得し設定するを参照してください。
連続発生パーティクルの属性を設定する詳細については、「連続発生パーティクルの属性を設定および追加する」を参照してください。
ICE パーティクル属性を取得または設定するには、複数の方法があります。
最も簡単な方法は、ここに示すように、Preset Manager の[タスク](Task) >[パーティクル](Particles)タブの[ゲッタ](Getter)グループから、特定の[パーティクルの取得](Get Particle)の[AttributeName]コンパウンドを使用する方法です。
または、ここに示すように、[セッタ](Setters)グループから[パーティクルの設定](Set Particle)の[AttributeName]コンパウンドを取得します。
これらのコンパウンドでは、リファレンスとしての Self. 文字列と該当する属性名を組み合わせたものが使用されます。たとえば、[時系列]属性を使用する場合は、[Get Particle Age]コンパウンドを選択します。[サイズ]属性を設定する場合は、[Set Particle Size]コンパウンドを選択します。すべての設定が、あらかじめセット アップされています。
Preset Managerの[ツール]タブにある[Data Access]グループから、ツリーに[Get Data]または[Set Data]ノードをドラッグします。続けて、参照されたオブジェクトの名前または Self. 文字列をリファレンス テキスト ボックスに入力します。詳細については、「シーン リファレンスを指定する」を参照してください。
Explorer の(アイコンではなく)オブジェクト名をツリーにドラッグします。これによって、オブジェクトの名前があらかじめ入力された[Get Data]ノードが自動的に作成されます。
[Getters]グループの[Get Particle AttributeNameコンパウンドまたは[Setters]グループの[Set Particle AttributeNameコンパウンドを使用した場合は、属性があらかじめ設定されていますが、以下のいずれかの方法で設定を変更することもできます。
[Get Data]または[Set Data]プロパティ エディタで[Explorer]ボタンをクリックし、オブジェクトの一覧から属性を選択します。
属性名がわかっている場合は、リファレンス テキスト ボックスにそれを入力します。ただし、属性名の前に、リファレンス オブジェクトの名前または Self 文字列とピリオドを入力します。
たとえば、「PointCloud2」というポイント クラウドでパーティクルの[AgeLimit]属性を使用するには、オブジェクト名とピリオドの後に AgeLimit と入力します。
また、接続されたポイント クラウドでパーティクルの[Color]属性を設定するには、Self 文字列の後に[「Color」] と入力します。
Render Tree で ICE パーティクル属性を使用する
ICE 属性シェーダは、ICE ツリーで操作されるパーティクルの ICE 属性へアクセスできるシェーダです。属性シェーダは、ICE パーティクルのシェイプ インスタンスとして使用されるジオメトリに適用することもできます。
これらのシェーダを使用すると、ICE ツリーで行われた計算に基づいてシェーディングを制御でき、ICE Tree のデータと Render Tree のデータの間にリンクを作成できます。たとえば、パーティクルの速度に応じて、煙を分散させたり、グラディエントでカラーを変化させることができます。
属性シェーダを使用する場合は、ICE ツリーで最初にパーティクルに適切な属性を作成しておくようにしてください。
詳細については、「属性シェーダを使用して Render Tree に ICE データを移行する」を参照してください。