« C4D 「cinema4dでリアルな地形」で検索されて、ここへ辿り着いたユーザがいたので… | トップページ | 壊れた? »

C4D (テキストスプライン+デフォーマ)+押し出しNURBSと言うのをMaxon Twitterでちょっと前に見たけど…

このブログ読んでくれているユーザには、必要の無い記事です。
C4D初心者向けですね。
でも、初心者にも、それほど重要な情報ではないですね…

記事のタイトルを解り易く言うと、「3Dテキストをデフォーマで変形させる」と言う事なのですが…

C4Dで3Dテキストを作るには…
テキストスプライン+押し出しNURBSの組み合わせになります。
C4Dでは、基本的な事ですね。

3dtext_deform

MoGraphを導入しているユーザは、MoGraphのテキストオブジェクトを使う事でしょう。

3dtext_deform_03

さて、シンプルな3Dテキストならば、単純に押し出しNURBSにテキストスプラインを子オブジェクトにするだけ。
フィレット等を除けば特に設定する必要も無いことでしょう。

3dtext_deform_02

それでは、オブジェクトにデフォーマを適用します。
適用の仕方は、デフォーマを変形させるオブジェクトの子オブジェクトにします。

3dtext_deform_04

デフォーマを適用すると、デフォーマの親オブジェクトを含め下層のオブジェクトが変形の対象になります。

3dtext_deform_20

ただし、綺麗に変形させるには、変形させるオブジェクトを十分に細分割する必要があります。

3dtext_deform_05

では、押し出しスプライン+テキストスプラインではどうでしょう。

3dtext_deform_06

デフォーマをスプラインの子オブジェクトにすると、スプラインが変形され、外側のラインと内側のラインの関係が破綻して穴として認識されなくなる場合があります。
上の図では、ちょうど「4」の内側が穴として認識できず手前に飛び出して見える状態になりました。
裏から見ると穴がなくなっています。

3dtext_deform_07

Maxon Twittweでは、ヌルオブジェクトを使っていましたが、使わなくてもデフォーマを設定することができます。

3dtext_deform_08

単純に押し出しNURBSの子オブジェクトとして、デフォーマを配置します。
問題のあった「4」も穴として認識されています。

3dtext_deform_09

裏から見ても問題ありません。
ただし、デフォーマを1番最初の子オブジェクトにするのは論外です。

3dtext_deform_10

当然の結果ですね。

では、元通りに戻します。

3dtext_deform_08

フィレットを除くと、押し出しNURBSとスプラインの設定は、デフォルトの状態です。
ですからキャップの部分がガタガタになって筋が現れている所もあります。

では、押し出しNURBSの設定を変更して再分割にします。

3dtext_deform_11

押し出し部分とキャップの部分を細分化しました。
この状態では、縁の長い直線部分のが細分割されていないので直線的になっています。
この設定は、スプラインの補間法と分割数で調整します。

3dtext_deform_12

これでほぼ均等に細分割されたので、XYZ軸のどの方向の変形でも耐えられると思います。

試しに、もう一つデフォーマを追加します。

3dtext_deform_13

ツイストを追加しましたが、問題ないようです。

3dtext_deform_14

キャップと押し出しの面は綺麗に変形しています。
フィレットの部分に不具合が出ていますが、デフォーマによる不具合ではないので、今回は対処しません。
対処方法は、フィレットの分割数を上げてみてください。

先ほど、デフォーマの適用にヌルオブジェクトは必要ないと書きましたが、もし、1文字づつ動かしたりする必要がある場合は、ヌルオブジェクトを使った方が都合が良いです。

3dtext_deform_15

頻繁に3Dタイポグラフィ系のCG(アニメーションも含む)を作成するならば、MoGraphの導入を考えた方が良いかもしれませんね…

余談ですが…

其の一
押し出しNURBSとスプラインの組み合わせで、スプラインの外側と内側の関係で穴として認識される場合と、そうでない場合

同一平面上という条件ではないようです。

3dtext_deform_16

二重円の内側のスプラインが-Z方向にずれていますが、押し出しNURBSでは問題なく押し出してオブジェクト化に成功しています。

3dtext_deform_17

あくまでも、内側のスプラインが外側のスプラインの中に納まっている事が条件のようです。
ただし、判定に使われる軸の基準は外側のスプラインにあるようです。

其の二

デフォーマを押し出しNURBSの子オブジェクトでも良い理由

それほど複雑な話ではないですが、「スプラインを押し出して生成したデータ(ポイントやポリゴン)が押し出しNURBS内に格納されているから」ただそれだけの話です。
押し出しNURBSは直下のスプラインデータを元に押し出しているので2番目以降のオブジェクトは、押し出しNURBSに無視されます。

本当に2番目以降のオブジェクトは無視されるのか?

3dtext_deform_18

押し出しNURBSに2つのスプラインを子オブジェクトに設定しても、最初の子オブジェクトのスプラインのみしか押し出しません。

さほど重要でもない記事をマジマジと書いてしまったようですね…

|

« C4D 「cinema4dでリアルな地形」で検索されて、ここへ辿り着いたユーザがいたので… | トップページ | 壊れた? »