MENU

つくって覚える第3回 クロスシミュレーションで浮き輪づくり Part.3 (2025年5月改訂版)

Part.3はクロスシミュレーションから固定されたポリゴンオブジェクトを取り出し,プールのシーンを作成していきます.

目次

浮き輪の形状を固定されたポリゴンとして取り出す

次はクロスシミュレーションの結果から静的なポリゴンオブジェクトを取り出していきます.

クロスタグを選択して「キャッシュ」タブを開き
「オブジェクトのキャッシュ」を実行します.

キャッシュとは

シミュレーションの動きを“録画”して保存しておくことです.

シミュレーション(風で布がなびく、水が流れる、など)はアニメーションを再生させるたびに毎回再計算が必要です.でも計算には時間がかかるし,毎回動きが少しずつ変わってしまうこともあります.

そこで「キャッシュ」を使うと…

  • 一度計算した動きを保存しておける
  • 再生がサクサクになる
  • 毎回同じ動きを再現できる

つまり、安定して速くプレビューできるようになる便利な仕組みです.レンダリング時もシミュレーション結果が変わることはありません.

シミュレーションのキャッシュをとる

「シーンのキャッシュ」はシーン内のすべてのクロスタグのキャッシュ計算を行いますが,今回は一つしかないので,どちらでも構いません.

「キャッシュの場所」が「内部」の場合,キャッシュデータはシーンファイルに保存されるのでファイルサイズがその分大きくなります.

複雑なキャッシュを取る場合は外部にして,別ファイルとして保存した方が良いケースもあります.

アニメーションを再生して取り出したい好みのフレームで止めます.今回は「60F」にしてみます.

キャッシュから取り出したい部分を決める

浮き輪を選択し,オブジェクトマネージャメニューの「オブジェクト」→「現在の状態をオブジェクト化」を実行します.

現在の状態をオブジェクト化を実行する

取り出したオブジェクトはシミュレーションから切り離された単一のポリゴンオブジェクトになります.
元のオブジェクトは残っているので,表示・レンダリングともにオフに変更しておきます.
取り出したオブジェクトの頂点マップとクロスタグは不要なので削除します.

固定されたポリゴンとして取り出す
取り出したポリゴンオブジェクト

プールの作成(平面で底と水面をつくる)

プール底の作成

シーンはシンプルなプールと水面です.かなり簡略化した形状で作っていきます.
平面をシーンに追加して,
「サイズ」…「1500㎝」,「1500㎝」
とします.
「座標」は
「P.Y」…「-100㎝」
とします.

平面を作成する

平面の名前は「プール底」としておきましょう.

水面の作成

水面用にもう一つ平面を作成します.
「サイズ」…「1500㎝」,「1500㎝」
「分割数」…「100」,「100」

とします.
名前は「水面」としておきます.

水面の波はデフォーマで作ることにしましょう.他にもディスプレイスメントやプラグインの海生成などの方法があります.
デフォーマアイコンを長押しして,「変位」デフォーマをシーンに追加します.

変位デフォーマをシーンに追加する

変位は水面の子にします.

水面の子にする

変位デフォーマの「シェーディング」タブを開き
「シェーダ」に「ノイズ」を適用します.

ノイズシェーダを適用する

ノイズシェーダまたはサムネイルをクリックしてシェーダの設定に移動して
「全体スケール」…「280㎝」
「アニメーション速さ」…「1」
「風の方向」」…「1㎝」
「速さ」…「0.5%」

とします.好みの数値でも構いません.
アニメーションを再生するとX方向に移動する簡易的な波を表現します.

ノイズの設定を変更する
ノイズアニメーションができた

Redshiftオブジェクトタグでレンダリング時にサブディビジョンサーフェイスをかける

水面にRedshiftオブジェクトタグをつけて,レンダリングする際にはもう少し滑らかにします.

水面にRedshiftオブジェクトタグを適用する

Redshiftオブジェクトタグを選択し「ジオメトリ」タブを開いて
「上書き」…「オン」
「テッセレーションの有効」…「オン」

にします.

テッセレーションを有効にする

エディタ上では特に変化ありませんが,レンダリングする際にメッシュがさらに細かくなりなめらかになります.

※サブディビジョンサーフェイスジェネレータ(SDS)を使っても差し支えありません.

浮き輪をゆらゆらさせる

浮き輪を水面の動きに合わせてゆらゆらさせていきます.

コンストレイントを使って浮き輪を水面の動きに同期させる

ここではコンストレイント振動の二つの機能を組み合わせていきます.
浮き輪を選択し,タグメニューから「リギング タグ」→「コンストレイント」タグを適用します.

コンストレイントとは

あるオブジェクトの動きや位置を,別のオブジェクトにくっつけて制限(コントロール)する機能です.たとえば

  • 「このボタンが動いたら,こっちのパーツも一緒に動いてほしい」
  • 「この手は常にこのオブジェクトを持っていてほしい」
  • 「このオブジェクトは,他の動きに合わせて移動したり,回転してほしい」

といったときに使います.
作例では波の動きに合わせて浮き輪の角度をコントロールさせます.

浮き輪にコンストレイントタグを適用する

コンストレイントタグを選択し,どのモードを使うか決めます.
「限定」…「オン」
にします.

限定コンストレイントをオンにする

「限定」タブを開いて
「ターゲット」に「水面」をドラッグ&ドロップ
「限定先」…「サーフェイス」
「整列」…「+Y」
「モード」…「軸を固定」
「対象」…「Phong 法線」
「法線を使う」…「オン」
「位置を固定」…「オン」

とします.

限定の設定を変更する

これで浮き輪の軸位置は最も近くにあるサーフェイスの向きに固定されます.再生すると水面の動きに合わせて変わるようになります. ただ,ちょっとアニメーションが固い印象ですね.

振動タグで動きを追加する

そこで,「振動」タグを追加します.
水面を選択してタグメニューの「アニメーション タグ」→「振動」タグを適用します.

浮き輪に振動タグをつける

振動タグの設定は
「位置を振動」」…「オン」
「振幅」…「100㎝」,「5㎝」,「100㎝」
「周波数」…「0.2」
「角度を振動」」…「オン」
「振幅」…「50°」,「5°」,「10°」
「周波数」…「0.2」

とします.

振動タグの設定

このままでコンストレイントの方が優先されて振動効果が出てきません.Cinema 4Dのタグは基本的に左から順に適用される仕組みのため,タグの種類によっては位置が結果に影響をあたえるものがあります.コンストレイント後に振動効果を出すためには,振動タグをコンストレイントタグの右側に移動させなければなりません.

振動タグはコンストレイントタグの右側へ移動させる
コンストレイント後に振動の効果を適用できた

もう少しです!

次はマテリアルとライティングをつけてレンダリングです.

ここまでのデータのダウンロード

つくって覚える第3回 クロスシミュレーションで浮き輪づくり Part.4 へ

Motion Elementsで素材を探す

MotionElements - ロイヤリティフリー 動画素材マーケット、音楽、アフターエフェクト テンプレート

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Cinema 4Dを使用したCG制作を行うフリーランサー.
MAXON認定 Cinema 4D マスタートレーナー

自身の経験を元に後進のために当サイトを開設し運営中.
制作業務のほか,Cinema 4Dの個別トレーニング,企業向けトレーニング,メンターサポートなども行っています.

目次