Skip to content

エフェクト実習 後期 ​

前期の粒子表現とシェーダーを発展させ、光粒子の流れ、メッシュ表面からの生成、魔法弾、雨景、照明を受ける煙などを制作します。VFX Graphを中心に、メッシュ表面、衝突位置、地面、照明、画面全体へ表現対象を広げます。

完成見本の用途を確認し、必要な要素を分けて学んだ後、一つの演出へ組み合わせます。制作環境はUnity 6.6(6000.6.0f1)、URP・Visual Effect Graph 17.6.0です。

授業計画(全12回) ​

複数回で一つの演出を作る場合も、各回で完成させる部分を決めて進めます。第13回はVFX Graphの基本、第14回はメッシュ表面からの生成へ進みます。第15回は雨とSDFの衝突を比較し、第16回の軌跡の学習へつなげます。第17・18回では、最初の回で二回分の完成見本を確認します。

回題材その回で完成させること
13VFX Graphによる大量のパーティクル生成と流れの制御大量の光粒子を生成し、生成後のTurbulence・Force・Dragで一つの流れを作る
14第14回 メッシュ表面からのパーティクル生成表面の位置と法線で毛を配置し、変形への追従を実習する。発展課題ではディゾルブと粒子を同期する
15第15回 GPU完結での衝突判定とパーティクル生成雨粒から波紋と飛沫を生成し、SDFでの反射と衝突時の発光を比較する
16Particle Stripsによる魔法弾の軌跡移動中の軌跡と衝突による反応を一続きの演出にする
17Decalによる地面の濡れと痕跡地面への投影で、濡れた範囲と乾いた範囲を作り分ける
18カメラに追従する雨と地面の反応雨・飛沫・濡れを重ね、移動中も成立する雨景を作る
19地形になじむ霧の配置と境界処理地形との交差を目立ちにくくし、奥行きのある霧を配置する
20Six-Way Lightingによる煙の照明光の向きが変わっても立体感を保つ煙を作る
21SDFによる物体表面への粒子の追従動いている粒子を、物体表面付近へ引き戻す
22画面全体への効果と状態変化の表現集中や転送などの状態変化を画面全体の効果で伝える
23Timelineによる複合演出の同期既習のVFX・シェーダー・音を同期し、再生と終了を整える
24既習エフェクトの応用と作品の記録一つの用途へ応用し、条件変更と品質・負荷の比較を記録する

第13〜15回は本文と回別Unity Packageを用意しています。第16〜24回の手順書と回別Packageは準備中です。使用するファイルは配布ファイルで確認できます。

授業のつながり ​

第13・14回:大量の粒子による流れから、メッシュ表面の表現へ

第13回はVFX GraphのContextの役割を確認し、大量の粒子を生成します。初期速度だけの状態と、生成後にTurbulence・Force・Dragを加えた状態を比較し、光粒子の流れを作ります。第14回は発生位置をメッシュ表面へ変更し、表面の位置と法線を使って毛を配置します。前期のディゾルブと粒子を同期する消滅表現は、基本完成後の発展課題とします。

第15・16回:衝突による反応から、粒子の軌跡へ

第15回は、雨粒が消えて波紋と飛沫を残す作例と、ウサギのSDFで反射して接触位置が光る作例を比較します。親の衝突応答、子を生成する通知、位置の引き継ぎを分けて学びます。第16回は点の並びから帯状の軌跡を作り、移動と衝突の反応を一続きにします。

第17・18回:地面の濡れから、雨のある場面へ

第17回は地面へ濡れの模様を投影し、乾いた部分との質感の違いを作ります。第18回は雨の発生範囲をカメラへ追従させ、既習の風、衝突位置からの飛沫、地面の濡れを組み合わせます。

第19〜24回:空間との関係から、同期と応用へ

霧と地形の境界、煙と照明の関係、移動する粒子と物体表面との距離、画面全体の効果を順に学びます。第23回で既習のエフェクトと音をTimelineで同期し、第24回で一つの用途に応用して、条件変更と品質・負荷の比較を記録します。

学習の進め方 ​

  1. 完成見本がゲーム内で何を伝えるかを考え、今回作る要素を確認します。
  2. 小さな構成から始め、一つの値や接続を変えた結果を予想して、実際の表示と比較します。
  3. 要素を組み合わせ、その回の完成形として再生します。
  4. 対象や条件を一つ変えて応用し、設定を選んだ理由を説明します。

比較では初期位置、再生開始時刻、乱数のSeed、カメラなどを必要に応じてそろえ、比較後は基準値へ戻します。各回で必要な前提を確認し、前の課題が未完成の場合も、用意する開始素材から次の主題へ進める構成とします。

到達目標 ​

  • 前期の技法と新しく学ぶ方法を組み合わせ、用途に合う表現を作る
  • メッシュ、衝突位置、地面、距離、照明のデータを表現へ接続する
  • 共通の操作値と時間軸で演出を同期し、再利用できる形へ整える
  • 条件を一つ変えて予想と結果を比較し、設定の採用理由を説明する
  • 品質と負荷を同じ条件で比較し、応用した作品を記録する

教材の公開状況 ​

第13回では、配布プロジェクトのSparkleFlowを観察し、SceneとGraphを複製して実習します。第14回では、毛の配置と密度を比較し、Skinned Meshへの追従を実習します。ディゾルブとの組み合わせは応用課題です。第13・14回のサンプルは回別Unity Packageで取り込みます。第15回は雨とSDF衝突のサンプルを回別Unity Packageで取り込みます。第16〜24回の手順書・回別Packageは準備中です。配布ファイルで実習環境を確認してください。

以下の解説は、改訂前の構成による参考資料です。下の番号は旧掲載番号であり、上の授業計画の回番号とは一致しません。

改訂前の技法解説

旧掲載番号01〜02はGraphの構成・操作手順、03〜12は原理・数値例・確認課題が中心です。

旧掲載番号内容本文で確認すること
01GPU粒子の配置と群れの変形共通の操作値と粒子ごとの保存位置から、変形結果を求める
02速度場とCurl Noiseによる流れ位置から速度を読む処理と、風・渦の合成を説明する
03メッシュからの発生と出現・崩壊表面位置・法線・飛散開始の役割を区別する
04Particle Stripsによるリボンの構成帯の番号、点の順序、点間隔から形を考える
05GPU Eventsと粒子の連鎖通知・引継ぎデータ・子の生存数を追う
06SDFによる衝突・接近・吸着距離の符号、接近係数、運動の変更を区別する
07空間に分布する霧と塵分布、Alpha合成、地形との境界を分けて考える
08Six-Way Lightingによる煙の照明六方向の記録、コマ、光の向きの対応を読む
09カメラに追従する雨・雪発生範囲、座標空間、風による移動量を説明する
10ゲームからのデータ入力と制御入力の名前・型・単位と、値が反映される時点を読む
11負荷の診断と品質調整比較条件をそろえ、観測と原因の推測を分ける
12イベント・Timeline・再利用開始、発生停止、余韻終了、再初期化を追う