2 / 4 初速と生存中の変化
生まれるときの値と、生存中に変わる値を分けて設定します。
初速と重力
前のGraphで、InitializeのSet Velocityを(0, 2, 0)へ変えます。1秒間にY方向へ2ユニット進む初速です。保存してPlayし、粒子が上へ進むことを確認します。
次にUpdateへGravity Blockを追加し、Forceを(0, -2, 0)へ設定します。下向きの加速度によって、上へ進んだ粒子が速度を落として落下します。Gravityの有効・無効だけを切り替え、初速が同じでも軌道が変わることを比較します。最後は有効へ戻します。
速度を更新する処理と、速度を使って位置を進める処理は別です。UpdateのUpdate Positionが無効だと、速度だけが変わっても位置へ反映されません。
色とAlphaの時間変化
OutputへSet Alpha over Lifeを追加します。Block名で見つからない場合はAttributeのCurve系Blockを選び、Attribute alpha、Composition Set、Sample Mode Over Lifeにします。カーブは(0,0) → (0.2,1) → (1,0)です。
横軸は年齢を寿命で割った割合です。Lifetimeが2秒なら、横軸0.2は0.4秒に相当します。粒子ごとに生まれた時刻が異なるので、それぞれの年齢に応じて現れ、消えます。
OutputへSet Colorを追加し、Random Off、色を薄い黄色へ設定します。Alphaのカーブが担当する透明度と、ColorのRGBを分けて確認します。Sizeも変えたい場合は、基本課題の後に同じOver Life方式で試します。
変化の比較と復元
Lifetimeを2 → 4 → 2へ変更し、各条件でPlayし直します。長く生存すると、粒子数、移動範囲、フェードに掛かる秒数が一緒に変わります。この比較の目的は、寿命が影響する範囲を読むことです。最後はLifetime 2、Velocity (0, 2, 0)、Gravity (0, -2, 0)へ戻します。
広がりを作る場合は、Set VelocityのRandomをPer Component、A (-1, 2, 0)、B (1, 3, 0)へ変えます。これは選択の調整です。採用する場合は変更値を記録し、Boundsに収まることを次の比較でも確認してください。
- 初速と加速度が、どの時点で働くか説明できる。
- 寿命を変更したとき、同じカーブでも実時間が変わると説明できる。