前回はクローナーで複製した立方体にランダムなアニメーションとカラーを設定し,MoGraphカラーシェーダを使ってマテリアルを介してカラーチャンネルから取り出す手順を解説しました.
今回は落下してくる球体をダイナミクスを使って作っていきます.
この記事の内容は動画の12分~23分までの内容が含まれます.
クローナーで球体を複製する
シーンに球体を作成し,
「半径」…「15㎝」
にします.
球体を選択したまま,Altキーを押しながらクローナーを作成し複製します.クローナーを選択し,「座標」タブの
「P.Y」…「500㎝」
とします.
「オブジェクト」タブを開き,
「モード」…「グリッド」
「複製数」…「5, 1, 5」
「モード」…「ステップごと」
「サイズ」…「50cm, 200cm, 50cm」
とします.
球体のカラーをランダムにする
次に球体のカラーをランダムに変更していきます.ここではシェーダフィールドを使用します.
クローナーを選択した状態で,簡易エフェクタを作成します.簡易エフェクタの「パラメータ」タブを開き,
「位置」…「オフ」
にします.
この簡易エフェクタは球体のカラーのみに使用するためです.下記に挙げる方法以外にも様々な方法があります.エフェクタやフィールドの理解が深まるにつれて,同じことが別の機能からも再現可能になります.
「フィールド」タブを開き,「シェーダフィールド」を作成します.シェーダフィールドを使ってカラーを指定します.
シェーダフィールドもカラーアイコンのみオンにしておきます.
また,シェーダフィールドを選択し「フィールド」タブの「シェーダ」に「ノイズ」を適用します.
さらにノイズシェーダの設定にはいり,「カラー」や「下クリップ」,「明るさ」,「コントラスト」などを調整してノイズカラーを作ります.このノイズカラーがクローンに割り当てられます.
この例では簡易エフェクタ+シェーダフィールドで作成していますが,ランダムエフェクタやシェーダエフェクタなどでも同じようなことは行えるので,色々なエフェクタを試してみるのも良いでしょう.
マテリアルからカラーを呼び出す
これは前回の記事と同じ方法になります.「新規標準マテリアル」を作成し,「カラーチャンネル」のカラーに「MoGraph」→「カラーシェーダ」を設定します.このマテリアルを球体に割り当てます.これでマテリアルを介して球体にシェーダフィールドのカラーが適用されます.
次の工程で球体を落下させるのですが,初期位置をもう少しランダムにしておきたいので,「ランダムエフェクタ」も適用します.球体のクローナーに対して「ランダムエフェクタ」を適用し,「位置Y」のみランダムにしておきます.
シーンを整理する
次の工程に入る前にシーンを整理しましょう.複数のクローナー,エフェクタ,フィールドがシーンに追加されていくと,どれがどれか分かりにくくなってきます.そこで,「ヌル」オブジェクトを2つ作成し,球体用グループと立方体グループに分けてそれぞれ階層化して分けておきます.また,名前もしっかり付けておきましょう.
これくらいの数でも名前がついている,グループ分けされているとそれぞれの役割もわかりやすくなります.逆に名前がデフォルトのままだとどのエフェクタが何をしているのかがよく分からなくなり,作業効率そのものが悪くなってしまいます.
球体と立方体にダイナミクスタグを設定する
次はダイナミクスアニメーションを作っていきます.
球体を選択し,「タグ」メニュー→「Bulletタグ」→「リジッドボディ」タグを適用します.
立方体を選択し,「タグ」メニュー→「Bulletタグ」→「衝突」タグを適用します.
これでアニメーションを再生させると球体が落下してきて立方体に衝突します.
ここからもう一工夫して球体が立方体に衝突したら,立方体がせり上がって球体を弾ませるというアニメーションをつくってみましょう.
衝突時に立方体をせり上げる仕組みをつくる
フィールドにはクローンで複製したオブジェクトを利用することもできます.そこで,立方体の簡易エフェクタの「フィールド」を開き,フィールドリストへ球体用のクローナーをドラッグ&ドロップします.その際,ポップアップから「ポイントオブジェクト」を選択します.
追加したフィールドレイヤを選択し,
「値」…「オン」
「カラー」…「オフ」
「合成」…「最大」
にします.
さらに,「レイヤー」タブを開き,
「モード」…「サーフェイス」
「半径」…「60㎝」
とします.
最大にした理由は,下のランダムフィールド_Posレイヤの効果に加えて最大値を出力したいためです.モードをサーフェイスにしたので,サーフェイス半径60cmに近づいたときに簡易エフェクタの効果が強く出てきます.ランダムフィールド_Posが20%の効果に抑えていたので,それに加えてさらにY方向に飛び出してくるようになります.実際にアニメーションを再生させると,球体が立方体に近づいたときにY方向に移動します.衝突が起き,球体は上に弾かれるようになります.
衝突時にカラーも変える
さらにもう一工夫,球体が衝突したときに立方体のカラーも変わるような仕組みにもしてみましょう.
クローナー 球体レイヤーを右クリックして「コピー」します.
もう一度右クリックして「ペースト」してレイヤーを複製します.複製したレイヤーはカラーを変更するために使うので,
「値」…「オフ」
「カラー」…「オン」
「合成」…「通常」
にします.合成を通常にするのは,このレイヤーのカラーで上書きしたいためです.レイヤーの名前も変更します.
この状態ではカラー用レイヤーの効果がほとんど分かりません.そこで,「リマップ」タブを開き,
「内部オフセット」…「85%」
として,より効果が見えやすくします.
複数のフィールドレイヤを組み合わせて位置.Yとカラー用にそれぞれ使用しました.
少し複雑になっていますが,それぞれに値とカラー用に役割を分けるような利用方法ができることを覚えておくと,今後の制作に役に立つはずです.
今回はここまで.MoGraphカラーシェーダを衝突時に変えることができましたね.
ここまでのデータはこちらからダウンロードできます.
> データをダウンロードする
次の記事で最後です.キャッシュの生成,ライティング,カメラ設定をして仕上げのレンダリングを行っていきます.