docs.unity3d.com
    目次を表示する/隠す

    Attribute

    Attribute (属性) とはシステム内の要素に付随するデータを指します。例えば、パーティクルの色、パーティクルの位置、またはスポーンシステムが作成するパーティクルの量はすべて Attribute です。

    システムは特殊な動作を実行したり要素を区別するために、 Attribute から読み込んだり、あるいは Attribute に書き込むことが可能です。

    システムは必要な時だけ Attribute を保存します。つまり、システムは不要なデータは保存しないため、メモリーの節約になります。

    Attribute の使用

    Attribute への書き込み

    Attribute に書き込むには、Block (ブロック) を使用します。 Attribute をシステムに書き込めるグラフ要素は、ブロックだけです。

    Visual Effect Graph は、後の Context が Attribute を読み込む場合に、シミュレーションデータで書き込まれた Attribute のみを保存します。つまり、以下のことが言えます。

    • Initialize Context または Update Context で Attribute に書き込みをする際、後の Update Context や Output Context が Attribute から読み込む場合は、Visual Effect Graph はシミュレーションデータの Attribute のみを保存します。
    • Output Context で Attribute に書き込む際は、Visual Effect Graph はシミュレーションデータに Attribute を保存せず、レンダリングのためだけに Attribute を使います。

    Attribute の読み込み

    Attribute から読み込むには、Operator またはブロックを使います。

    • Get Attribute Operator を使う。
    • Attribute の以前の値に依存する Set Attribute ブロックで、さまざまな混合モードを使います。

      ノート:

    • Visual Effect Graph がシミュレーションデータに保存していない Attribute を読み込む場合は、 Attribute はデフォルトの定数値を渡します。

    • Attribute は現在、Particle および ParticleStrip のシステムのみで読み込みが可能です。Spawn システムで Attribute を読み込む際は、Spawner Callbacks を使います。

    Attribute の Location (保存場所)

    すべてのシステムは、特定のデータコンテナに Attribute を保存します。ただし、既存のシミュレーションデータプールや、システムが依存している別のデータプールから、 Attribute を読み込むことができます。

    Current

    Current の Attribute Location は、値を読み込む 現在の システムデータコンテナを指します。例えば以下の通りです。

    • Particle システムからの、Particle データ
    • ParticleStrip システムからの ParticleStrip データ
    • Spawn Context の SpawnEvent データ、または、SendEvent や EventAttribute ペイロードから送信される、SpawnEvent データ

    Source

    Source (ソース) Attribute の Location (保存場所) は、値を読み込む 以前の システムデータコンテナを指します。システムデータが変更されると、ソース Attribute は、システムの最初の Context でのみ読み込みが可能です。例えば、EventAttributes および GPU EventAttributes にアクセスできるのは、Particle または ParticleStrip システムの Initialize Context のみです。

    • Initialize Particle Context または Initialize Particle Strips Context において
      • 受信 Spawn Context から
      • GPUEvent スポーンを介して、その他の Particle システムから

    可変個引数 Attribute

    Attribute の中には Variadic (可変個引数) プロパティを持つものがあります。これらの Attribute は、シミュレーションやレンダリングに必要なコンポーネントに応じて、スカラーまたはさまざまな次元のベクトルにすることができます。

    可変個引数 Attribute から読み込みをする際は、デフォルト値を使い、他のすべての暗示的コンポーネントから読み込みます。

    例えば、Quad Particle の スケール は Vector2 (クアッドの幅および長さ) として、 Box Particle の スケール は、Vector3 (キューブの幅、長さ、深度) として表現することができます。可変個引数 Attribute を設定する際は、あらゆるチャンネルの組み合わせのドロップダウンから、必要なチャンネルにのみ書き込むことができます。

    別の例としては、法線周りのスプライトの回転が挙げられます。必要となるのは角度 Attribute の Z コンポーネント (角度 Z) のみですので、角度 X および 角度 Y を保存する必要はありません。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)