この記事ではCinema 4Dでモデリングする際の基本的なオブジェクトの種類やそれを使ったモデリング方法について紹介してきます.
メッシュプリミティブ
最も基本的なパラメトリックオブジェクトを作成します.メインメニューの「作成」→「メッシュプリミティブ」の中から選択するほか,立方体アイコンを長押しして表示されるサブパレットから選択できます.
パラメトリックというのは文字通りパラメータで形状を定義しているオブジェクトです.個々のプリミティブオブジェクトはそれぞれ固有のパラメータが定義されており,それらを変更することである程度形状を変更することができますが,これらオブジェクトのポイントやエッジ,ポリゴンを自由に編集することはできません.
※「微調整」デフォーマを使用すれば一応簡易的な編集は出来ます.
パラメータは属性マネージャで調整できます.調整可能なパラメータは各プリミティブオブジェクトによって変わります.立方体なら,各軸のサイズや分割数,フィレット(角の丸め)といった具合です.
そのオブジェクトに割り当てられているタグのパラメータも属性マネージャで調整できます.プリミティブオブジェクトにはデフォルトで「Phong」タグというものが割り当てられており,Phongタグは面のスムージング角度を調整するためのタグです.オブジェクトマネージャでタグを直接選択するか,Phong項目を選択することができます.
Phong角度を小さくすればメッシュが繋がっている角度がそれを下回ったときにスムージングがなくなってシャープな状態になります.
メッシュプリミティブのままでは大きく別の形状にするのが難しいため,複雑な形状をモデリングするためには「編集可能にする」(C)を実行して後述するポリゴンオブジェクトに変換して作業を行うことになります.※一度編集可能にした後で再びプリミティブオブジェクトに戻すことはできません.
スプラインプリミティブ
スプラインは点と点を繋いだ線で定義されるオブジェクトで,それら点のどのように補間するかで様々なカーブを作ることができます.メインメニューの「作成」→「スプラインプリミティブ」から作成するか,スプライン用のアイコンから作成できます.
スプラインオブジェクトはエディタでは線として表示されますが,ポリゴン情報はなく,太さ,面積がないのでそのままではレンダリングすることはできません.スプラインそのものをレンダリングするためには幾つか用意されており,標準レンダラではヘアーとして扱うようにするか,Skecth and Toon(セルレンダリング)の機能でレンダリングできます.RedshiftではRedsfhitオブジェクトタグを使ってカーブを実体化してレンダリングすることもできます.他のサードパーティレンダラにもそのような設定をすることでスプラインをそのままレンダリングすることができるものもあります.
スプラインプリミティブはパラメトリックなスプラインオブジェクトですので,その形状はすべてパラメータで定義されています.各パラメータは属性マネージャで調整できます.
スプラインプリミティブを自由に編集したい場合
こちらも「編集可能にする」を実行することで,パラメトリックなスプラインから自由にポイントの位置を調整できるスプラインに変換できます.しかし,こちらも編集可能にするを実行した後にスプラインプリミティブに戻すことはできません.
スプラインペン
最初から自由な形状でスプラインを作成したい場合は,「スプラインペン」ツールを使うことができます.スプラインペンを使う場合は,先にポイントモードにしておく必要があります.
スプラインペンモード中は,エディタをクリックするとポイントが作られます.連続してくりっくすることでポイントを繋いが線が作られます.曲線にしたい場合はクリックではなくドラッグし,Shift + ドラッグで接線を折ることができます.
スプラインペンはショートカットキーを組み合わせてスプラインを編集できます.
ポイントをドラッグ | ポイントの移動 |
線をドラッグ(またはShift + ドラッグ) | 線をドラッグ 線をShift + ドラッグ |
ポイントをダブルクリック | 接線を作成,削除 |
ポイントをCtrl + クリック | ポイントを削除 |
線上をCtrl + クリック | ポイントを追加 |
ポイント,線上で2秒間マウスボンタンを押す | コンテキストメニュー表示 |
スプラインペンのほか,スケッチする要領で線を作成したり,円弧やスムージングの機能もあります.
スケッチ:ドラッグしてペンで線を描くことができます.手書きのような線を作るのに適しています. | |
スプライン円弧:ドラッグして円弧を作成します.あとから半径を調整したりもできます. 既存のスプラインの線上をドラッグして円弧に変更することもできます. | |
スプラインスムーズ:スプラインをブラシでなぞるように使用します.スムージングではスプラインを滑らかにすることができるほか,オプションを変更してスムージング以外の機能を使うこともできます. 属性マネージャでオプションを変更できます.デフォルトはスムーズのみチェックが入っています. |
他にもスプライン編集用の機能は沢山ありますが,作成時には主にスプラインペンを使用します.スプラインを編集したいのに編集できない!という時はおおむねポイントモードになっていないことが多いので,そんな時はポイントモードになっているかを確認してください.
3Dオブジェクト化したい場合はスプライン用のジェネレータを組み合わせてポリゴン情報をもつ3Dオブジェクトとして扱うことができます.これらは次のジェネレータ項目で紹介します.
ジェネレータ
ジェネレータの多くの機能はあるオブジェクトを元にして形状を変化させる機能と言えます.体表的なものにSDS(サブディビジョンサーフェイスがあり,SDSは粗い形状のモデルのメッシュを細分化して滑らかにしてくれます.元の粗い形状を編集すればジェネレータで生成される形状も自動で気に更新されます.
左側の比較的粗い形状のオブジェクトもSDSを使うことで滑らかな形状にできます.ジェネレータの使い方は基本的には元になるオブジェクトを子オブジェクトにすることで各ジェネレータの効果を得ることができます.一部,インスタンスなど例外的に子オブジェクトを必要としないものもあります.
ジェネレータの種類
ジェネレータにはたくさん種類がありますので簡単に紹介しますが,頻繁に使用するのはある程度限られてきます.経験上,個人的に使用頻度が高いものには下線を引いておきます.ちなみにボリュームビルダーやクローナーもジェネレータの一種ですが,ここではモデリング用に使う下図ジェネレータについて明記します.ジェネレータの機能をオン・オフの切り替えはオブジェクトマネージャで緑色のチェックをクリックするか,オブジェクトを選択して(Q)で行います.
SDS(サブディビジョンサーフェイス):ポリゴン分割を細分化して滑らかに丸める機能です.元のオブジェクトのポイントの距離が近いほどエッジがシャープになるので,この性質を利用して元のオブジェクトのメッシュ分割をコントロールすることでエッジを立たせることもできます.オプションでは細分化のオプションを変更できるほか,エディタ表示とレンダリング時の分割数に異なる数値を設定できます.エディタ上では分割数を低くしてビューのパフォーマンスを維持しつつ,レンダリングでは高精度の分割数にするように利用できます. | |
押し出し:スプラインを押し出してメッシュ化するためのジェネレータです.押し出す方向や押し出してできた面に対して面取りを行う機能も含まれます. 複数のスプラインオブジェクトを子オブジェクトにした場合,「階層を含める」をオンにするとまとめて押し出しができます. | |
回転:スプラインを断面として回転させながら形状を生成するジェネレータです.中心は回転オブジェクトのY軸が基準となるので,座標位置を間違えると意図しない位置を基準として回転させてしまうことがあります.断面スプラインはXY平面上に整列させてください.XY平面からずれた位置にポイントがあると回転した時にねじれたりして思わぬ形状になります.回転角度を指定することもできます. Y方向へ移動させながら押し出しするオプションもあるので,上手く使うと興味深い形状にすることもできます. | |
スイープ:断面をパスに沿って押し出していくジェネレータです.断面用スプラインと,パス用スプラインの二つが必要になります.オプションとして3つ目のスプラインを使用することもできます.パイプやコード,額縁,窓枠など様々な形状を作成するために使用できます. 3本目のスプラインは使いどころもイマイチ分かりにくく,慣れないと扱いが難しいかもしれませんが,良く使うパターンとしてはスロープなどを作るときにバンクさせないために利用することがあります.普通のスイープでは次の画像左のようにバンクします. 3本目のスプラインを使うと角度やサイズ,のコントロールをすることができるため,この性質を利用することで次の画像のように次の状態を作成できます.3本目のスプラインで角度をコントロールしています. | |
ロフト:スプライン用のジェネレータです.一つまたは複数のスプラインの断面を連続して接続して形状を生成します.ロフトの子オブジェクトのスプラインを上から順に接続していきます. | |
スプラインマスク:スプライン同士で形状の足し算や引き算の演算処理ができ,より複雑なスプライン形状を作成したい場合に便利な機能です.注意点としてはスプラインは同一平面上にあることが望ましいです.どのような処理を行うかは「モード」から選択できます. 次の画像は立方体スプラインから花形スプラインを型抜きしています. | |
ブール:ジオメトリをブール演算して形状同士を結合したり,削り取ったり,重なっている箇所をジオメトリとして取り出すなどの処理を行います.使用例の一つとしては次の画像のように穴あけが挙げられます.ブールオブジェクトの子に二つのオブジェクトを入れることで演算の対象となり,上にあるオブジェクトがA,下がBとなります. | |
一体化:ポイント同士を接続して一つのオブジェクトとして生成するジェネレータです. 次の画像は,平面にブールで穴あけをして,それをクローナーで複製したものです.ポリゴンが粗いのでSDSを適用したいところですが,クローナーで複製しただけではポイントは結合されていないので,各平面同士の間に隙間が生じます. そこで,クローナーを一体化オブジェクトの子にすることで,ポイントを結合したグループに対してSDSを適用すればこの問題は回避できます. | |
クロスサーフェイス:クロスサーフェイスはジオメトリに対しての厚み付けと細分化の機能を持っています.布のシミュレーションは比較的粗いポリゴン数のオブジェクトで行う方が計算速度,結果ともに良好です.その結果に対して布の厚みや滑らかな形状を作り出すことができます.細分化はSDSとも似ていますが,こちらは布専用のアルゴリズムのため,少しごつごつした形状になりやすい傾向がありますが,布の角が丸くならないというメリットもあります. また,布以外の形状にも利用できます.例えばポリゴンに単に厚みを付けたいだけの場合などにも有効な機能といえます. | |
対称:左右対称の形状を作るときには,半分だけモデリングしたら,対称ジェネレータで反対側を生成できます.対称となる中心軸はあくまで対象オブジェクトの軸位置ですので,もし中心位置がずれている場合は,軸位置がずれていなか確認した方が良いでしょう. 対称平面は変更できますので,次のような形状は1/4だけ作成して対称オブジェクトを2つ使うことでも作成可能でです. | |
インスタンス:指定したオブジェクトを参照して複製するジェネレータです.参照とは参照元のオブジェクトのデータを継承していることを意味します.形状だけでなく,マテリアルも継承します.元のオブジェクトを変更すればインスタンスも応じて編集されます.インスタンスを利用するメリットは作業効率の面からも明らかに良い点がありますが,内部的にメモリ効率も良いというメリットもあります.また,インスタンスモードでレンダーインスタンスとマルチインスタンスというモードを使用することで通常のインスタンスよりもより省メモリで扱うモードもあります.いくつか細かい点でモードによる制約があります.例えば,インスタンスはデフォーマなどを用いて自身を変形できますが,レンダーインスタンスでは変形はできません.レンダーインスタンスはライトには対応していません. 参照元にしたいオブジェクトを選択した状態でインスタンスオブジェクトを作成すると自動的に参照元が設定されますが,参照オブジェクトは手動でドラッグ&ドロップで指定することもできます. レンダーインスタンスやマルチインスタンスは非常に多くのオブジェクトを配置してレンダリング可能です. | |
配列:配列は子オブジェクトを円周状に複製する機能を持っています.周波数の波でアニメートできますが,現在はクローナーがあるため,全くと言っていいほど使用する場面がなくなりました. | |
アトム:子オブジェクトのポリゴン構造からエッジに円柱,ポイントに球体を配置したような形状を生成します.興味深い形状を作ることができるので,上手く使えば面白い効果を得ることができます. | |
リメッシュ:メッシュ構造を指定のパラメータに応じて再構成してくれるジェネレータです.例えばスキャンデータや非常に高精細はスカルプトモデル等に適用することでなるべく元の形状を維持しながらも綺麗に四角ポリゴンに変換します.データが重すぎる場合や,メッシュを綺麗にしたい場合などに活用できます. S26ではZリメッシャーがCinema 4Dに組み込まれ,以前よりより綺麗な結果を得ることが出来るようになりました. | |
ポリゴンリダクション:オブジェクトのデータをなるべく保持しながらポリゴン数を削減する機能です.ポリゴンリダクションはUV,頂点カラー,頂点マップといった属性も元の状態を保持しようとします.よって大幅にポリゴン数を減らしてもテクスチャが大きく歪みも比較的軽微に抑えることができます. オプションにより削減方法や数を指定できます. 左の200万ポリゴンの元形状を約5万ポリゴンまで削減.テクスチャもある程度保持されています. | |
メタボール:ポリゴンやスプライン,パーティクルなど様々なオブジェクトをお互いの距離によってスムーズに接続する形状を生成します.処理が少し重たいので,メッシュの分割数は注意しましょう. | |
LOD:レベルオブディテールの略称で,シーンに大量のオブジェクトがある場合でも,カメラに写っていない場合は計算対象から外したり,カメラからの距離や,ビューに映っているサイズなどに応じて,ディテールを段階的に落として描画するといった機能です.たとえばカメラから非常に遠くにあるオブジェクトにはそれほどディテールが必要ないですから,粗いメッシュの状態にしておくといったことができます. それによりエディタ操作やレンダリングのパフォーマンスを改善することができます.LODはクローナーと共に利用することもでき,その場合もモードに従い表示を切り替えることができます. | |
レリーフ:レリーフオブジェクトに設定した画像データをグレースケールへ変換し,明るさの値を元に高さ方向へ形状を変化させる機能です.子オブジェクトを必要とせず単独で機能します. | |
ベクター化:指定した画像データから輪郭を検出して,それをスプラインオブジェクトに変換する機能です.スプライン用のジェネレータなどと組み合わせることができます.背景が黒の画像を使わないとうまく機能しません.白色の背景の画像を使うと枠が出てしまいます. | |
ベクターインポート:Illusratorファイルを読み込んで3D化することができます.子オブジェクトは不要で単独で機能します.押し出ししたり,個々のパスの位置をオフセットさせる機能もあります. | |
芝生を生成:簡単に建築用途の芝生を生成する機能で,マテリアルも組み込まれています.他のジェネレータとは異なり,オブジェクトではなく,タグの扱いとなります.難点としては,標準レンダラーではグローバルイルミネーションに対応しておらず,フィジカルレンダラでは速度が遅いなどが上げられます.無限遠光源の影はポイントライトとして扱われます.そういった理由から,なかなか使いどころが無いというのが正直なところです. | |
Pythonジェネレータ:Pythonコードを記述してジオメトリを生成できます.Pythonの知識とCinema 4DのSDKの知識が必要になるため,多少敷居は高い機能ですが,自由に形状を生成できるので使いこなせると面白い機能だといえます. |
ポリゴンオブジェクト
ポリゴンオブジェクトはパラメトリックなオブジェクトとは違い,各ポイント,エッジ,ポリゴンを自由に編集することができる他,頂点カラーや頂点マップなどの属性も好きに作成することができるので,プリミティブオブジェクトよりはるかに複雑なモデルを作成できます.しかし,自由度が高すぎるゆえに,ポイント数が増やしすぎたりすると編集自体が困難になってきますので,綺麗な形状を作成するにはある程度の練習が必要になります.ポリゴン編集用のツールもたくさんあるので,それらもある程度は覚える必要がでてきます.
立方体などのプリミティブオブジェクトやジェネレータを選択して,「編集可能にする」(ショートカットはC)をすることでポリゴンオブジェクトになります.ポリゴンオブジェクトからプリミティブオブジェクトへの逆変換は出来ないので,元オブジェクトはバックアップを取るなどしておくと良いでしょう.
ポリゴンオブジェクトの編集はポイントモード,エッジモード,ポリゴンモードを使い分けて作業を進めることになります.
また,ポリゴン編集用のツールも用意されており,メインメニューの「メッシュ」メニューからアクセスするか,ビュー上を右クリックしてコンテキストメニューから,またはショートカットから実行できます.ここでは各ツールの紹介は割愛しますが,別のチュートリアルで扱いたいと思います.
デフォーマ
デフォーマはオブジェクトを変形させるオブジェクトです.変形アニメーションによく使用しますが,通常のモデリングでも全体のシルエットを調整する,部分的に形状を調整するなど使用することは多いです.種類は31種類もありますが,よく使うものに関しては個人差はあるでしょうけれどある程度絞られてくると思います.デフォーマの特徴としては,配置する階層が,効果をかけたいオブジェクトの子,または同じ階層となり,慣れるまで少し戸惑うかもしれません.
デフォーマの多くはケージのような状態で表示され,変形用パラメータを調整するとケージが変形するのでどのような変形になるかが分かります.個人的によく使うものをいくつかピックアップして紹介しておきます.
屈曲:文字通りオブジェクトを曲げるデフォーマです.シンプルな機能ながら,曲げ加工のような形状を作るときには平面で作成した後,屈曲で曲げる方が簡単に作成できるケースもあります.いずれのデフォーマも,デフォーマ自身のサイズや大きさ,角度で効果のかかり方が変化するので,ケージの状態を確認しながら調整します.「長さを保持」をオンにすると元の形状の大きさを維持しながら変形します. | |
膨張:オブジェクトを膨らませたりへこませたりするデフォーマです. | |
シアー:オブジェクトを傾けます. | |
テーパー:オブジェクトの一端を細くしたり太くします. | |
ツイスト:オブジェクトをねじるデフォーマです. 他のデフォーマにも共通しますが,「モード」を変更することでオブジェクトの一部に効果を適用することもできます. | |
FFD:フリーフォームデフォームの略で,変形格子を作成し,その格子の内部にあるオブジェクトを変形させます.格子のサイズや分割数は自由に調整できます.格子は「ポイントモード」にして操作できます.FFDデフォーマは内部的にはポイントオブジェクトと同じ性質を持つため,FFD自体をモーフターゲットやPLA(ポイントレベルアニメーション)を使ってアニメートできます. | |
ジグル:オブジェクトのアニメーションに合わせて二次的運動効果を与え,アニメートした後に揺れるといった動きを簡単につけることができます.ただし,使い方に少し癖があり,ジグルは複数のオブジェクトに効果を同時に適用できず,一つのオブジェクトに対してのみ動作するため,グループ内のオブジェクト全体に一度に効果を適用したい場合,各オブジェクトに対してジグルを設定する必要があります. 次の画像は単に屈曲をアニメーションさせただけですが,ジグルのパラメータによりスプリングのような効果を得ることが出来ます. ジグルはキャッシュ機能を持っています.事前にキャッシュを計算することでアニメーション再生をスムーズにしたり,TeamRenderのように分散レンダリングを行う際に必要になります. | |
スプラインラップ:スプラインに沿って何かを変形またはアニメーションさせたい場合に活用できるデフォーマです.ただし,パラメータが多く設定が複雑なため,きちんと理解していないと思う様な結果を得られないことが多いですので,公式ヘルプはしっかりと読むことをお勧めします. パッと見「スプラインに沿う」という別の機能とよく似ていますが,こちらは向き,サイズや角度をかなり自由に調整できたり,レールスプラインを利用できたりとかなり色々な調整ができます.その反面,慣れないと扱いが難しいです. | |
変位:テクスチャやシェーダを使ってオブジェクトの頂点を動かして凸凹の表面を作ることができます.例えばノイズシェーダを使えばランダムな凹凸を作ることが出来ます.またスプラインを変形させることもできます.単純に凸凹した表面にしたい場合にも利用できますし,他の機能と組み合わせてアニメーションにも利用できます. ノイズでアニメーションさせたオブジェクトにアトムを合わせた例 ただし,変位デフォーマはエディタ上で変形させるため,あまりにも分割数が多いオブジェクトを直接変形させるとエディタのパフォーマンスが低下するので注意が必要です. | |
ベベル:ポリゴン編集ツールのベベルとよく似た機能で,ポイント,エッジ,ポリゴンにベベルを付けるデフォーマです.こちらはデフォーマなので後からベベル設定を調整できるのが大きなメリットとなります.例えば後からべべルサイズや分割数を変更したい場合などです.パラメータの「選択範囲」に選択範囲タグをドラッグ&ドロップして任意の選択箇所にのみ効果をかけたり,「角度を使う」をオンにすれば「角度しきい値」を用いてベベルをかける角度を指定できます. |
複数のデフォーマの効果をかけることもできます.この場合,上にあるデフォーマから順に効果が適用されていきます.たとえば,ツイストでねじってから屈曲で曲げる場合は次のようになります.
ここで紹介したデフォーマは一部ですが,目的によって他のデフォーマも活用します.デフォーマは非常によく使う機能ですので,覚えておくと効率よく作業を進めることができるでしょう.
ボリュームビルダー
ボリュームビルダーは子オブジェクからボクセル(3Dの最小単位と言われます)を生成します.最終的にはそのボリュームメッシュ化を使ってポリゴンオブジェクトを生成したり,ボリュームのままレンダリングさせるといったことができます.また,ボリュームベクターを生成することもできます.
ボリュームビルダーを使う前に,ボクセルとは何かを掴んでおくとよいでしょう.簡単な表現をすれば体積(ボリューム)を持ったピクセル,それをあわせてボクセルです.ボクセルは立方体で表現されます.一つのボクセルサイズはボリュームビルダーの「ボクセルサイズ」で定義できます.
ボリュームビルダーは子オブジェクトから生成したり,ボリュームビルダーのリストにドラッグ&ドロップすることで階層外のオブジェクトをボクセル化することもできます.ボクセル化するとそれらはブールオブジェクトのような操作をボクセル状態で行えます.次の画像のような一体化されたオブジェクトをわずか数分で作成できます.またプロシージャラルであるため,生成元形状をいつでも修正,調整できるというメリットがあります.
ボクセルはMoGrpahやスプライン,パーティクルからも生成でき,Cinema 4D内の多くのオブジェクトをボクセル化させて扱えます.
一つ簡単な使いどころとしては,ポリゴンモデリングするのが少々難解な込み入ったオブジェクトを作成しやすい点が挙げられます.
この場合の難点は最終的なポリゴン数が比較的多くなること,ボリュームメッシュ化した後の編集が難しいことでしょう.しかしながらポリゴンモデリングの敷居が高いと感じる方にとってはかなり簡単に複雑な形状が作れると実感できるはずです.デメリットも確かにありますが,上手く使うことで少ない手間でモデリングを行えるかと思います.
ボリュームビルダーには内部でフィルターを利用してスムーズをかけたり,オブジェクトを太らせたり,流体のような形状を作れるフィルターもあります.
ボリュームビルダーはモードにより,上記のようなモデリングのほかベクトルを生成することもできますが,ここでは割愛し,より詳しい使い方は別のチュートリアルで紹介予定です.