第10回 メッシュとシェーダーによる斬撃
3 / 4 内部の流れと濃度の制御
このステップの目的
Speedでノイズの流れ、Intensityで表示全体の透明度を調整します。
濃度の公開
BlackboardへFloatのIntensityを追加し、Referenceを_Intensity、Defaultを1、Exposedを有効にします。前のステップのmaskとIntensityをMultiplyで掛け、結果をFragmentのAlphaへ接続し直します。
保存後、Phaseを0.5に固定し、MaterialのIntensityを1 → 0.3 → 0 → 1へ変更します。位置は同じまま薄くなり、0では消えます。Phaseは位置、Intensityは濃度の操作です。
ノイズの追加
ノイズは場所ごとに値が変わる模様です。マスクへ掛けると内部の濃淡を作れます。次の接続を追加します。
| 入力と処理 | 接続先・設定 |
|---|---|
Float Property Speed | Reference _Speed、Default 1、Exposed有効 |
| TimeノードのTime出力とSpeed | Multiplyへ接続 |
| Multiplyの出力 | CombineのRへ。Gは0。RG出力を使う |
| UV0とCombineのRG | Addへ接続 |
| Addの出力 | Simple NoiseのUVへ。Scaleは8 |
| Simple Noiseの出力 | LerpのTへ。Aは0.3、Bは1 |
| maskとLerpの出力 | Multiplyへ接続 |
| 直前のMultiplyとIntensity | もう一つのMultiplyへ接続し、FragmentのAlphaへ |
最後のAlphaはmask × ノイズの濃淡 × Intensityです。前節のmask × Intensityだけの接続を、この結果で置き換えます。Lerpを挟むとノイズの暗い場所も0.3を保つため、輪郭全体が消えすぎるのを避けられます。
流れと復元
Graphを保存してPlayします。MaterialのPhase 0.5、Intensity 1を固定し、Speedを0 → 1 → 3 → 1へ変えます。0ではノイズが止まり、数値が大きいほど内部の模様が速く流れます。これは表示位置を動かすPhaseとは別の変化です。
ここで使うTimeはSceneの再生時間です。後で斬撃を再生し直しても、ノイズの模様は同じ時点へ戻りません。同じ模様で比較したい場合はSpeedを0にし、SceneのPlayをし直して条件をそろえます。動きの比較を終えたら、編集モードでSpeed 1、Phase 0.5、Intensity 1へ戻して保存します。
チェックリスト
- Speed、Phase、Intensityが何を変えるか説明できる。
- 濃淡を加えても斬撃の範囲を読める強さになっている。