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

    Draft: このページのコンテンツは完成していますが、まだレビューが行われていません。

    標準属性リファレンス

    標準属性

    こちらは、よく使われる属性すべてと、その簡単な解説と使用方法の包括的リストです。

    基礎シミュレーション属性

    シミュレーション属性は、Initialize と Update Context が、パーティクルや パーティクルトレイルのような シミュレートされた要素 に動作を適用するための属性です。

    名前 型 説明 デフォルト値
    position Vector3 関連する システムスペース で表現される、システムユニットで表される、シミュレーションされた要素の位置です。 (0,0,0)
    velocity Vector3 シミュレートされた要素の現在の速度。関連する システムスペース で 3D ベクトルとして表現されます。単位はシステムユニット/秒です。 (0,0,0)
    age float シミュレートされた要素のスポーン後の年齢です。単位は秒です。 0.0
    lifetime float シミュレートされた要素の予想生存期間です。単位は秒です。 0.0
    alive bool シミュレートされた要素が生存しているかどうかです。 true
    size float シミュレートされた要素のサイズ。単位はシステムユニットです。 0.1

    詳細なシミュレーション属性

    属性の中にはより詳細なものもあります。ほとんどのシミュレーションでデフォルトとして使われます。これらの属性を変更し、動作を向上させることができます。

    名前 型 説明 デフォルト値
    mass float パーティクルの密度。単位は Kg/dm^3。 1.0 (デフォルトは 1 リットルの水につき 1kg)
    angle Vector3 可変引数: シミュレートされた要素のオイラー回転。角度の値のベクトルで表されます。 (0,0,0)
    angularVelocity Vector3 可変引数: シミュレートされた要素のオイラー回転。角度/秒の値のベクトルで表されます。 (0,0,0)
    oldPosition Vector3 廃止予定: この属性は、シミュレートされた要素の現在位置を、速度と統合する前にバックアップしたい場合の、ストレージヘルパーです。 (0,0,0)
    targetPosition Vector3 この属性には、様々な目的があります。到達する位置を格納し、このターゲット位置に到達するためのベクトルを計算したい場合は、ストレージヘルパーとなります。またラインレンダラーでは、各線のパーティクルの端を設定するために使うこともできます。 (0,0,0)

    レンダリング属性

    レンダリング属性はシミュレーションでは主として使われませんが、その代わり、シミュレートされた要素をレンダリングする際に役に立ちます。

    名前 型 説明 デフォルト値
    color Vector3 レンダリングされた要素の R、G、および B コンポーネントです。 1,1,1
    alpha float レンダリングされた要素のアルファコンポーネントです。 1
    size float レンダリングされた要素の統一されたサイズ。単位はシステムユニットで、ユニット単位 に適用されます。 0.1
    scale Vector3 レンダリングされた要素の不統一なサイズ。ユニット単位 に適用されます。 (1,1,1)
    pivot Vector3 レンダリングされた要素の原点の位置。単位は ユニット です。 (0,0,0)
    texIndex float レンダリングされた要素のフリップブック UV サンプリングに使われる、アニメーションフレームです。 0.0
    axisX Vector3 レンダリングされた要素の計算された右軸です。 (1,0,0)
    axisY Vector3 レンダリングされた要素の計算されたアップ軸です。 (0,1,0)
    axisZ Vector3 レンダリングされた要素の計算された前方軸です。 (0,0,1)

    システム属性

    その他の属性の中には、システム値に関する情報を取得するために利用できるものがあります。これらの属性は、Read Only です。Get <Attribute> Operator を使用することでのみ読み込めます。

    名前 型 説明 デフォルト値
    particleID uint 1 つのパーティクルを参照する、一意の ID です。 0
    seed uint 乱数演算に使われる、一意のシードです。 0
    spawnCount uint Spawn Context 内のソース属性として利用可能な SpawnEvent 属性で、このフレームで発生したパーティクルの数を示します。 (0,0,0)
    spawnTime float Spawn Context のソース属性として利用可能な SpawnEvent 属性で、Spawn Context の内部時間が含まれます (Set Spawn Time Spawn ブロックを使ってエクスポートされる場合)。 0.0
    particleIndexInStrip uint この要素が置かれる Particle Strip Ring Buffer のインデックスです。 0

    属性の使用方法と暗示的動作

    属性の組み合わせの中には、シミュレーションおよびレンダリング中に、様々な暗示的なケースで使われるものがあります。以下は、その使用方法と関係の説明です。

    Velocity と Position : 統合

    Update シミュレーション中: velocity 属性を使うシステムはいずれも、各フレームで速度 (velocity) を位置 (position) に統合します。

    速度統合は基本的に、以下の式で使われます: position += velocity * deltaTime

    Automatic Velocity Integration (自動速度統合) は、Update Context を選択してから Integration enum を None に設定すると、無効にできます。

    Age、Lifetime、Alive

    Lifetime (生存期間) 属性を Initialize Context のパーティクルに設定すると、以下の動作を Update Context に暗示的に追加します。

    • パーティクルは age += deltaTime の式で年を取ります。
    • パーティクルは次の式を使って消去されます。alive = (age < lifeTime)

    Automatic particle aging (自動パーティクルエージング) は、Update Context を選択してから Age Particles 値を False に設定すると、無効にできます。

    Automatic particle reaping (自動パーティクル消去) は、Update Context を選択してから Reap Particles 値を False に設定すると、無効にできます。

    Immortal Particles: 生存期間を持たないパーティクルは、不滅と見なされます。それでも alive 属性を false に設定すれば、明示的に消滅させることができます。

    Angle と Angular Velocity : 角度統合

    Update シミュレーション中: angularVelocity (角速度) 属性を使うシステムはいずれも、すべてのフレームで角速度を角度に統合します。

    角速度統合は、基本的に以下の式を使います。 angle += angularVelocity * deltaTime

    Automatic Velocity Integration (自動速度統合) は、Update Context を選択してから Angular Integration Enum を None に設定すると無効にできます。

    AxisX、AxisY、AxisZ

    これら 3 つの属性は、3D 座標システムの ユニット を定義します。これらの軸はたいてい正規化されていますが、これら 3 座標間に正規化されていない長さと非直交角度を使うこともできます。

    大抵、これらの軸は Orient Block (Output Context のみ) を使って設定します。

    Size、Scale、Pivot

    シミュレートされた要素にスケーリングと回転を適用するため、Visual Effect Graph は 3 つの属性を使います。

    • size (float) : パーティクルの均一の大きさです。
    • scale(Vector3) : パーティクルの、軸ごとの大きさです。
    • pivot (Vector3) : ピボット位置。 単位はユニットです。

    パーティクルの Pivot は、サイズ 1 (単位 ユニット) のユニットボックスで計算されます。デフォルトでは、ボックスの中央、(0,0,0) です。その値を変更してボックスの中心を調整することができます。各面は各軸の -0.5 または 0.5 にあります。

    Pivot Representation in 2D

    ピボット表現は Z 軸を深さとして使い、3D でも普遍化することができます。

    Unit box Representation in 3D

    Camera Facing (カメラ向き) を使って Quad Particle (クアッドパーティクル) に Z 要素を使用すると、要素をカメラ位置または面に引き寄せるか、または遠くに押しのけるため、実際の位置よりも前、または後ろに見えます。

    パーティクルの Scaling は、 2 つの乗数を ユニット ボックスに適用します。

    • 統一の size
    • 不統一の scale

    これら 2 つの属性のいずれかを使って、統一および不統一のスケーリングを個別に実行することができます。例えば、スケールを使って最初のランダムスケールを計算して、サイズ属性を使って比率を維持しつつ各要素をアニメーション化します。

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