【Notch】AE＆C4Dユーザーが作るリアルタイムモーショングラフィックス #06 Modifier編

#Modifierの強み
・AEのエクスプレッションやスライダー制御よりだいぶ楽に数値の制御、管理、オンオフが可能

・コンポ名、レイヤー名の変更、削除によるエクスプレッションエラーが起こらない

・数値の一括制御が楽
例）「Modifier（マスター入力値）」→「Modifier（数値管理）」→「複数の対象ノードのパラメータ」
　　
・特定のパラメータを抽出し異なるノード同士で連携ができる

・Modifier自体もまたノードレイヤーなのでもちろんタイムラインモードでカット編集できる

・キーフレームが打てるため自動、半自動、手動など自由自在にノード設計できる

・視覚的にわかりやすい

・TouchDesignerやUE4、その他ノードツールで数値制御をかじったことある人なら秒で使いこなせる

・様々なインタラクションを加えることが可能

などなど

#Modifierの種類
|Modifier     　　　  　　　　　    　　　　　　　　　　　　　 |機能　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　| 
|:-------------------|:-----------------------|
| Accumulator          |入力値が次々蓄積され出力される |
| **Beat Pulse Modifier**        | 指定したBPMに合わせた数値制御|
| Combiner       |2つのModifier入力値を処理して渡す。加算、減算、乗算等を指定可能|
| Clock Time Modifier      |時間を数値として取り込む。秒、分、時間等選択可能|
| Condition Modifier           |  入力値が特定のトリガー条件を満たすと、設定値を出力|
| **Continuous Modifier**          |   継続的に増える数値の制御|
| CSV/Table Read Modifier  | CSVファイルのセルから数値を読み取る |
| Delay Value          | Delay Timeで設定した数値の分だけ出力を遅延 |
| Direction-Weighted Motion Modifier|入力オブジェクトが特定の方向にどれだけ移動するかを検出し、それに基づいて値を出力|
| **Envelope Modifier**| 入力値を調整し出力|
| Expression        | 数式を書き込み、最大4つの入力値を制御|
| **Extractor**          |  入力ノードから特定のパラメータを取り出し、別のノードへ出力 |
| FPS Counter Value          |  フレームレートを出力 |
| Gradient Remap Modifier| ノード内グラデーションを使用して入力値をリマップ |
| Input Selector Modifier          | 複数の入力値を選択し出力|
| Limiter Modifier          |  下限と上限を固定 |
| **MIDI Modifier** |MIDIデバイスから数値を受け取る|
| **Math Modifier**   |Sin波やのこぎり波、ノイズ等のパターンを出力|
| **OSC Modifier**       | OSCで数値を受け取る |
| Proximity Modifier | 入力ノードがポイントの範囲内にある場合に値を出力|
| Quantise Modifier         |入力値をQuantise Scale値の倍数に制限|
| Range Remap| 入力値を指定した出力範囲にリマップ|
| Smooth Envelope Modifier| 入力値を平滑化し、滑らかな数値を出力|
| **Sound Modifier**| 音楽ファイルまたはキャプチャオーディオ入力の波形による数値を出力|
|Speed Tracking Modifier|「Tracked Node」入力を介して接続されたソースノードの移動速度を計算し、値として出力|
|Triggerable Envelope Modifier|Triggerパラメーターを使用し数値の再生を制御|
|Video Sampler Modifier|ビデオ入力から特定のピクセルの発光値を出力|

**※太字のModifierは多くの人がヘビーユーズするであろう超便利なオススメノードです。**
#作例

###**・一定の時間でクローンの位置が自動モーフィング**
C4DやAEで僕が個人的に大好きでよくやるアニメーションです。
この動きがリズムや音にあっていると非常に気持ちよくてオススメです。
###**・カメラが回りつつ速度に緩急をつける半自動アニメーション**
3D空間表現としてカメラがグラフィックの周りをまわるのは非常に効果的です。
しかしながら、一定の速度で回ってるだけだとつまらないので数値をヌルーっとイージングさせます。
↓このMVの一部
https://youtu.be/jwKglTtNUHk?t=247
![Hoshizora Destination (2bnsn's Short Dub Edit) 1015_2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/243114/13766f53-6029-902b-73d7-2d0cdc57f254.gif)

####**＜一定の時間でクローンの位置が自動モーフィング＞**
①「Clone to Mesh」で親と子オブジェクトを指定し、クローンを生成。この場合はキューブのオブジェクトをクローン。

②親オブジェクトへ「Turbulence Deformer」を繋ぐ。
ぐちゃぐちゃ変化する親オブジェクトの頂点位置に応じてキューブの位置も動く。

③**「Beat Pulse Modifier」**を出し、曲のBPMや音のリズムに合うよう「BPM」を設定。

④**「Beat Pulse Modifier」**から「Turbulence Deformer」の「Animation Speed」へ繋ぐ。

⑤**「Beat Pulse Modifier」**を繋ぐ際に間に**「Envelope Modifier」**や**「Range Remap」**を挟む。
これにより渡す数値を増幅させたり調整したりできます。

####**＜カメラが回りつつ速度に緩急をつける半自動アニメーション＞**

①「Null」を中心へ置き、「Camera」を繋ぐ。

②「Camera」のZ軸をマイナス方向に引く。＃02 パーティクル編で最初にやった「カメラコントロール」と同じです。

③「Null」の回転xとyに**「Continous Modifier」**を繋ぐ　これで自動回転します。

④**「Continous Modifier」**の「Speed」もしくは「Scale」に**「Envelope Modifier」**を繋ぐ
これは速度管理用のModifierです。

⑤**「Envelope Modifier」**にキーフレームを打ち、カーブエディタでお好みなイージングをつける。

小ネタ
**「Math Modifier」**のSin波やランダムノイズ等を「Speed」や「Scale」へ繋ぐことによりキーフレームとはまた違った速度緩急をつけることも可能

#次回
**タイムライン編
https://qiita.com/Shuhei_Maeta/items/3054afdcd24dd634f3d1**

情報共有はこちらのグループで行っているのでぜひ参加してみてください。
Facebookグループ : https://www.facebook.com/groups/notchusergroupjapan/
Line オープンチャット : https://line.me/ti/g2/kJYmLLsvS2zNfR9PEiknMg

質問等あればお答えしますのでお気軽に
Twitter : https://twitter.com/shu1053
FB : https://www.facebook.com/profile.php?id=100009103327410