Cinema4Dでアニメ風のMVを作る2

前回に引き続き、
「翳りゆく恋なのに」のMV制作についての忘備録の第2回目になります。

今回は「SDS」についてです。
忘備録といいつつ、MVで心残りだった部分の改善策を模索する記事に
なっていますが、まあそれはそれで(笑)

Cinema4Dを用いてアニメ風のMV(ミュージックビデオ)を制作させて頂きました。
タイトルは「翳りゆく恋なのに」

VRoidモデルにSDSを使ってみる。

上記のMVではVRoidモデル
Cinema4Dに読み込んでアニメーションを付けたのですが、
その際、「SDS」(サブディビジョンサーフェイス)は使ってなかった!
…と思ったので今回試してみました。

※作業はCinema4D R21で行っています。

SDS(サブディビジョンサーフェイス)って何?

3DCGソフトを使っている人にとっては
SDSは今更説明不要な機能ですが、端的に言うと
「ポリゴンのメッシュを細かく分割してスムーズな流れを作ってくれる機能」
です。

非常に有用ですが、
Cinema4Dの「sketch&toon機能」と併用するとレンダリング時間が長くなるので
MV制作時は考慮していませんでした。
しかし、今回試してみてシーン次第ではアリだなあと感じました。

簡単な例ですが、「SDS」を配置して

「立方体」を「SDS」の子にしてみます。
すると、「球体」に近くなります。

…という感じで、C4Dでオブジェクトを作る際には
SDSの利用を前提にして単純な形状から複雑な形を作る事も多いわけです。

ただし、
オブジェクトの状態によってはSDSを使う事で
想定外な見た目になってしまうケースもあります。

※こういう場合の対策も後述しています。

VRoidの女性モデルにSDSを使ってみる

とりあえず結果から。
まずはこちらの動画をご覧ください。

「え?何か変わった?」と思う方もいるかもしれませんね。
ロングショットでは私も分かりません(笑)
SDSがあった方がいいのか、無い方がいいのかは状況と好み次第ですが、
変化としては「髪の毛」「輪郭」「手」が分かりやすいです。

では、SDSを使うところから始めます。

細かな部分は飛ばしますが、
VRoidの素体モデルをC4Dに持ってくると、
「体」…Body_baked
「顔」…Face_baked
「髪の毛」…Hair_baked
の三つで構成されているのが分かると思います。

まずはSDSを2つ配置して名前を付けて、「Body_baked」と「Face_baked」をそれぞれSDSの子にします。

すると、当然滑らかになりますが、
Sketch&Toonの「sketchタグ」がオブジェクトについた状態でレンダリングしてみると、
線が大分途切れ途切れになっています。

この状況は困るので、SDSのタイプを
Catmull-Clark」(またはCatmull-Clark N-Gones)から「OpenSubdivループ」に変更します。
こうすると、レンダリングしても線画が変に途切れることはなくなります。

※誤解されないように書いておきますと、
これはVRoidモデルの場合の結果であり、
「Catmull-Clark」他でも綺麗に線画が出るパターンも勿論あります。

※ちなみに「sketchタグ」をSDS側に移動させると、
「Catmull-Clark」他でも線は綺麗に出るのですが、VRoidモデルならではの問題が発生する為に断念しました。

SDSを使うと、変形しすぎてしまう場合がある

さて、
「BodyBaked」「FaceBaked」はこれで良いとして、
次は髪の毛です。

「HairBaked」をSDSの子にして、
タイプを「OpenSubdivループ」にすると…
こうなってしまいます。

なんと、髪の毛のボリュームがなくなってしまいました!

どうも、
「OpenSubdivループ」を使うと
スムージングがかかる影響で、メッシュが若干痩せてしまうようです。
体や顔はあまり目立ちませんが、髪の毛束は目立ちますね。

では、「OpenSubdivバイリニア」を使ってみるとどうでしょう?
試してみたところ、一見問題なさそうですがよく見るとマテリアルに影響が出ています。
また、このタイプは分割はされてもスムージングが一切かかりません。

「OpenSubdivバイリニア」
カクカクした状態を維持したまま、メッシュを細かく分割させる機能なのですね。
今回はスムージングをかけたいので、この選択は意味がなさそうです。
…ということで、「OpenSubdivループ」に戻します。

痩せてしまうならば、太らせればいいのかな?…というわけで、
次はこれを補間していこうと思います。

髪の毛に「スムーズシフト」を使ってみる。

UI左側の「ポリゴンモード」に切り替え、
SDS内の「HairBaked」を選択した状態にします。
(一部のメッシュのみが選択されている場合は「選択を解除」するか、髪の毛のメッシュを「すべて選択」しましょう)

「メッシュ」→「生成」→「スムーズシフト」をクリックします。
「最大角度」「50°」ぐらい
「オフセット」「0」か「0.001」ぐらいにして、
「適用」をクリックします。

すると、SDSを適用させた状態で髪の毛のボリュームが戻りました。

髪の毛の毛先が丸まっている場合は、
前段階に戻って、「最大角度」を調整してみてください。

これで、大体いい感じになりました。

「スムーズシフト」を使うとなぜ髪のボリュームが戻るのか?

実験として、立方体を配置します。
立方体を「編集可能」にして、「スムーズシフト」をかけてみます。
「オフセット」「4」にして「適用」をクリックします。
※立方体をSDSにの子にはしません。

すると、こんな感じになりました。
面と面の間に新たな面…メッシュが作られています。

オフセットの値を大きくしていくと、このメッシュが大きくなり、膨らんでいきます。

この膨らみと増えたメッシュが出来たことで、
髪の毛全体にかかるSDSのスムージングが分散されるからかな?と思います(想像)。

ちなみに、SDSの子にした状態でスムーズシフトのオフセット値をマイナスにしていくと、
内側に凹んだ立方体を作れます。

髪の毛に「スムーズシフト」を使った場合の注意点

髪の毛に付けられたマテリアルが単独の場合は良いのですが、
「複数のマテリアル」や「選択範囲タグ」を持っている髪の毛の場合、
「スムーズシフトによって加えられたメッシュ部分」には、マテリアルが反映されません。

拡大してみます。
選択範囲外のメッシュにマテリアルが無いままで、灰色になっているわけです。

その際はポリゴン選択範囲タグをクリックし、
「選択」→「選択範囲を拡大」
をクリックした後、
「選択」→「選択範囲を記録」
選択範囲の上書きをすることで解決出来ます。
これをポリゴン選択範囲タグの分だけ繰り返すわけです。

これで、無事修正出来ました。

さて、ここで少々話を脱線させます。

「ループ/パスカット」と「細分化」

SDSを使ってみたら、オブジェクトが変形しすぎて困った!…という問題を解決したい場合は
「スムーズシフト」以外にも方法があり、状況次第で別のやり方の方が良い場合もあります。

例として、冒頭の「立方体をSDSの子にした球状のもの」を
若干丸みを帯びた程度の立方体にしてみましょう。
(※立方体は「編集可能」にしておく必要があります)

まずは前述の「スムーズシフト」を使う方法。
①スムーズシフト

次に「メッシュ」→「カット/エッジ」→「ループ/パスカット」を使う方法。
エッジを一つ一つ手動で追加していくことで、スムージングをコントロールすることが出来ます。
メッシュが無駄に増えすぎないのでお勧めです。

②ループ/パスカット

3つ目は「細分化」
上記の様に手動でエッジを加えていくのは面倒くさい!という場合は
「メッシュ」→「生成」→「細分化」を行って、
メッシュを増やしてからSDSの子にするという方法もあります。
複数回行う事でメッシュはどんどん細かくなっていきます。

③細分化

冒頭のメトロノームも、こんな感じに出来ました。

髪の毛も「細分化」で対応したらよいのでは?
そう考えて試してみましたが、
私の作ったVRoidモデルの場合、髪の毛に使うとポリゴンが破綻しておかしな形状になりました。

「細分化」は便利ですが、あまりメッシュを細かくしすぎると
sketch&toonのレンダリング時間問題も出てくるので、悩ましいところです。
目的やオブジェクトの状態に合わせ、使う機能は適材適所…という事でしょうかね。
他にも方法がありそうですが、今回はこのぐらいで。

ポイント選択」と「最適化」

脱線ついでにもう一つ。

SDSと言えば、
最近PixelLabさんチュートリアルでちょっと面白い物があったので
この機会に紹介したいと思います。

ネット上で配布されている3DモデルをC4Dに読み込んだ際、
SDSを適用すると歪んでしまうものがあります。

それを修正するのに、
オブジェクトのポイントをすべて選択して、
マウスの右クリック→「最適化」を行っておくと、
自然になる…というものです。

とはいえ、逆におかしくなるオブジェクトもあるので
一つの方法として知っておくと良いかなーという感じですね。

SDSを適用し終わったので比較してみる

さて、脱線したお話から戻ります。

そんな感じで色々レンダリングしてみたのが
冒頭の比較動画の14秒あたりまでです。

で、それ以降は何をやっているのかと言いますと、
SDSの分割数の変化レンダリング時間の比較をしています。

SDSには「エディタの分割数」「レンダリングの分割数」の設定があります。

前者はエディタ(ビューポート)画面上の分割数で、
後者はレンダリング時の分割数です。

分割数を上げるとスムージングのかかり具合が強くなりますが、
数値を上げるごとにエディタ画面は重くなり、
レンダリング時間も伸びていきます。

なので、エディタの分割数は「0(つまり無効)」か「1」、
レンダリングの分割数は「1」か「2」ぐらいにしておけばいいと思います。
(※これはVRoidモデルでの話なので、値はオブジェクト次第です)

動画の最後の比較を見ますと、
分割数「1」と「2」は結果がほぼ変わらず、時間だけかかっている印象です。
今回の分割数は「1」で十分な気がしますね。


(レンダリング時間は80フレーム分のアニメーションの合計)

※「分割数の値」はいきなり大きな数値を入れてしまうと、
C4Dがフリーズに近い状況になってしまう危険性もあるので、慎重に操作して下さい。

まとめ

不思議だったのは
sketch&toonのエッジ選択を使っても上手く消せなかった、
「爪の中の指の線画」がSDSを用いることで消えた事でしょうか。

MVでも、
主人公がスマホを操作するシーンで
爪の中の線が目立ってしまっていたので何とかしたかったのですが、
解決方法の一つと言えるのかも?しれません。
(まあ、男性の手はある程度ゴツゴツしていた方が良さそうですが)

まとめです。

ロング…ほぼ区別がつかないので、SDSは無くてもいいかも。
アップ…「髪の毛」「顔の輪郭」「手」が綺麗になるので使う価値あり。
    分割数は「1」で十分そう。レンダリング時間は約2.5倍。
    髪の毛は面倒なら、顔と体だけSDSを使うのでも良さそう。

…ということで、今後はもっとSDSを活用していきたいと思います。
ニッチな記事ですが、どなたかの参考になりましたら幸いです。

映像、イラスト、漫画などの制作、画像加工を承っております!→こちら

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)