標準属性リファレンス
標準属性
こちらは、よく使われる属性すべてと、その簡単な解説と使用方法の包括的リストです。
基礎シミュレーション属性
シミュレーション属性は、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 にあります。
ピボット表現は Z 軸を深さとして使い、3D でも普遍化することができます。
Camera Facing (カメラ向き) を使って Quad Particle (クアッドパーティクル) に Z 要素を使用すると、要素をカメラ位置または面に引き寄せるか、または遠くに押しのけるため、実際の位置よりも前、または後ろに見えます。
パーティクルの Scaling は、 2 つの乗数を ユニット ボックスに適用します。
- 統一の
size
- 不統一の
scale
これら 2 つの属性のいずれかを使って、統一および不統一のスケーリングを個別に実行することができます。例えば、スケールを使って最初のランダムスケールを計算して、サイズ属性を使って比率を維持しつつ各要素をアニメーション化します。