今回はCinema 4D 2023で新しくなったクロスシミュレーション機能を使ったアニメーションを作成するチュートリアルです.
完成アニメーション
主に使う機能はクロスシミュレーションになりますが,途中で頂点マップを使ってシミュレーションをコントロールする項目があります.頂点マップのチュートリアルについては第4回 頂点マップアニメーションでも解説しているので,合わせて参考にしてもらえると良いかもしれません.
Youtube動画も参考にどうぞ
もし気に入ったらチャンネル登録,いいねを頂けると嬉しいです.
新規プロジェクトを作成する
使用するCinema 4Dのバージョンは2023以降です.
新規プロジェクトを作成したら,プロジェクト設定(Ctrl + D)を開き,「プロジェクト」タブを開き,
「プロジェクトスケール」…「1 cm:センチメートル」
「最大時間」…「120F」
とします.
単位は一般設定を開き「単位」セクションで「cm」にしておきます.
トーラスをクロスシミュレーションで動かす
まずトーラスをシーンに追加します.
「リングの半径」…「300㎝」
「パイプの半径」…「50㎝」
「パイプの分割数」…「32」
として,ある程度分割数を上げておきます.
トーラスを選択し,「タグ」メニューから「シミュレーション」→「クロス」タグを適用します.
プロジェクトの重力を変更する
クロスタグを適用した状態ですでにトーラスはクロスとしてど動作するため,アニメーションを再生させると重力により落下していきます.この重力はプロジェクト設定で設定してあるものです.今回のチュートリアルでは重力を逆方向にして上方向に移動するようにしますので,「プロジェクト設定」(Ctrl + D)を開き,「シミュレーション」タブを開きます.ここで
「重力」…「600㎝」
にしておきます.
クロスシミュレーションの動きを調整する
この状態ではクロスは上方向に移動していくだけですから,ここからCinema 4D 2023でリニューアルされたクロス設定をいくつか試しながら,どのような挙動になるかを見ていくことにします.
「サーフェイス」タブ
ここはクロスの曲がりやすさ,伸縮性といった布固有の設定を行うことができます.2023以前のバージョンとは内容が異なります.
クロスの特性はここの設定以外にも,プロジェクト設定にある「シミュレーション」タブの「シミュレーション」にある「サブステップ」や「くり返し数」により計算結果がことなるほか,メッシュの分割数によっても結果が異なるので,プロジェクト設定などによっては同じ数値で同じ動きにならないので注意が必要です.
「曲がりやすさ」…「100」
「伸縮性」…「20」
にしておきます.文字通りクロスの曲がりやすさと伸縮性をコントロールできます.柔らかい布の場合は「曲がりやすさ」を大きくします.クロスがよく伸びるような場合は「伸縮性」の値をあげていきます.
「長さのターゲット」…「150%」
にします.
長さのターゲットは,100%より小さくするとシミュレーション開始と同時にクロスが縮む効果があり,100%以上は伸びていきます.皺を作ったりするのに便利な機能で,今回このパラメータを使ってシミュレーション開始から皺を作るようにアニメートさせるために使用します.
また,このパラメータに後で頂点マップを割り当て,頂点マップによる長さの変形をアニメートさせていきます.
この状態で一旦アニメーションを再生させるとこのようになります.最初にバフっと広がる効果が長さのターゲットによる効果です.パラメータを色々変更してどのような形状になるかを試してみると良いでしょう.
頂点マップを作成する
作って覚える 第4回でも紹介したようにCinema 4D 2023からはプリミティブオブジェクトに対しても頂点マップを作成できるようになりましたので,今回もこの機能を使います.
トーラスを選択し,「タグ」メニューから「その他 タグ」→「頂点マップ」を作成します.右クリックメニューでもできます.
プリミティブオブジェクトの頂点マップはペイントツールが使えないので,フィールドでコントロールすることになります.頂点マップタグを選択し,「フィールド」タブを開き,「線形フィールド」を追加します.
線形フィールドを選択し,「座標」タブを開き,
「P.Y」…「300㎝」
にします.
「フィールド」タブを開き,
「サイズ」…「150㎝」
「方向」…「Y+」
にします.
「リマップ」タブを開き,
「内部オフセット」…「70%」
にします.
これにより,クロスシミュレーションを開始するとトーラスが上に移動して線形フィールドに入ったときに頂点マップが記録されるようになります.
頂点マップをクロスシミュレーションに利用する
クロスタグを選択し,「サーフェイス」タブにある「長さのターゲット」の左の矢印をクリックしてサブパラメータを開き,「マップ」欄にドラッグ&ドロップします.
長さのターゲットに頂点マップを指定した場合,頂点マップが1に近いほど長さのターゲットの効果が現れるようになります.つまり,次のようになります.線形フィールドを通過するときにクロスが伸びていることが確認できます.
その他にも「曲がりやすさ」や「伸縮性」などをはじめとしたクロスパラメータの多くが頂点マップを指定できるため,頂点マップの使い方を工夫するだけで単にクロスシミュレーションするよりも興味深いアニメーションが作成できるでしょう.
シミュレーション開始のタイミングも頂点マップでコントロールする
今の状態はアニメーションを再生させると即座にクロスシミュレーションが開始され重力に従って(このチュートリアルでは上方向の重力)クロスが浮き上がっていきますが,これを任意のタイミングで開始できるようにしたいと思います.
ここでも頂点マップが活用します.クロスタグを選択し,「アニメーションの混合」タブを開きます.このパラメータもCinema 4D 2023からのパラメータです.
アニメーションの混合をつかう
アニメーションの混合を使うと,通常のアニメーションをするか,シミュレーションをするかを定義できます.これを活用することで,部分的に通常のアニメーションとシミュレーションによるアニメーションを切り替えることができるようになります.
例えばキャラクターに服を着せてアニメーションさせるような場合,服の大部分はジョイントでアニメーションさせつつも,服の一部はクロスシミュレーションを使うといったように使うこともできます.
この性質を利用して,最初はトーラスをキーフレームでアニメーションさせていき,フィールドに入って頂点マップが徐々に記録されていくにつれてクロスシミュレーションへ移行していく状態を作っていきます.
クロスタグを選択し,「アニメーションの混合」タブの
「位置の制限」…「オン」
にして,「マップ」に頂点マップタグをドラッグ&ドロップします.これでアニメーションを再生させるとクロスシミュレーションが始まらないことが分かります.つまり,今は頂点マップがすべて「0」の状態で,かつ「影響力」が「100%」になっているので,完全に通常のアニメーション側にある状態です.
ですから,まずトーラスをキーフレームで動かすように最初の位置を調整します.
トーラスをアニメートさせる
トーラスをアニメーションさせる前に,線形フィールドをトーラスの子から外しておきましょう.トーラスをアニメーションさせても一緒に線形フィールドが移動してしまうのでイタチごっこになりますからね.
タイムラインを「0」に合わせたら,トーラスを選択し,「座標」タブを開き
「P.Y」…「0cm」
でキーフレームを記録します.
次にタイムラインを「60」フレーム目に移動させて,トーラスの
「P.Y」…「500㎝」
でキーを記録します.
これでアニメーションを再生させると,トーラスがY方向に移動していくと線形フィールドに入っていきます.すると頂点マップの記録がはじまり,徐々にクロスシミュレーションへ移行していきます.さらにクロスの「長さのターゲット」の効果も出てきてクロスが伸びて皺ができてきます.
通常のキーフレームアニメーションからシミュレーションへの以降を頂点マップでコントロールできました.これがアニメーションの混合です.
これを応用すれば,他のフィールドで部分的にクロスシミュレーションにすることができるようになることがなんとなくわかってくると思います.
以下はテキストにスムージングデフォーマやRemeshツールを使いポリゴンを整え,頂点マップを線形フィールドでコントロールし,部分的にクロスシミュレーションを適用しています.いろいろなものに応用できそうですね.
また,トーラスはプリミティブですからフィールドを使っていますがポリゴンオブジェクトならペイントツールで直接頂点マップを記録することも出来ますから,キャラクターの服などへの応用もできますね.
応用すれば面白いクロスシミュレーションを作れると思いますので,ぜひ色々な方法を試してみてください.
今回はここまでとなります.最後までご覧いただきましてありがとうございます.
サンプルデータはこちらからダウンロードいただけます.
次回は今回の手法を使ってループのモーショングラフィックスを作成していきます.