2012年3月19日月曜日

【CG】 モデリング基礎編 その1 モデリングの種類 後編

さて今日は具体的な面の取り方や穴の空け方をやろうと思っていたんですが。。。。
普通のサブディヴィジョンモデリングとサブディヴィジョンを前提としたモデリングの違いは何ですか?
違いについて教えてください。というメッセージ、メールが何通か頂きました。
基本的にサブディヴィジョンモデリングもサブディヴィジョンを前提としたモデリングも、モデリングの作業的にも、アプローチの方法も同じです。
ただ、サブディヴィジョンモデリングとレンダリング時に適応されるサブディヴィジョンでは得られる結果が異なります。
今回はモデリングと少し離れた話題になりますが、前回のモデリングの種類を補足する感じで、もう少し詳しく説明、紹介したいと思います。

まずサブディヴィジョン(再分割曲面)については、前回も紹介した通りです。
ここで勘違いされやすいのはサブディヴィジョンモデリングとレンダリング時に適応されるサブディヴィジョンアプロキシメーション(レンダーマンサブディヴィジョン)の違いです。

サブディヴィジョンモデリングはあくまでもモデリングデータとしてサブディヴィジョンを使用します(解り易いのがMAYAの3番表示や単純に面を分割するスムース的表現)
サブディヴィジョンアプロキシメーション(レンダーマンの場合はレンダーマンサブディヴィジョン?)は、レンダリング時にサブディビジョンを適用します。
サブディヴィジョンアプロキシメーション(レンダーマンサブディヴィジョン)はポリゴンに対して面分割を調整するのではなく、レンダリング時に映っているポリゴンに対して、どれだけ分割するか?という調整を行います。

長々と文章説明しても難しいので、画像で比較してみましょう!

まず下記のような単純なCubeを用意します。


左がMayaの3番表示(Subd level2)でレンダリングした状態です。右がMentalRayApproximation(ビューポートベースでサブディヴィジョン)を適用したレンダリング画像になります。
遠めにはほぼ同じ形状に見えますが、ズームしてみると大きな違いが確認できると思います。



※もちろんサブディヴィジョンアプロキシメーション(レンダーマンサブディヴィジョン)もMayaサブディヴィジョン(スムース)の様に、単純に面を分割するだけの設定も可能ですが、あえて違いを解って頂く為に、今回はビューポートベースでポリゴンを分割しています。

これがサブディヴィジョンモデリングとサブディヴィジョンアプロキシメーション(レンダーマンサブディヴィジョン)の大きな違いです。
海外の大手プロダクションの多くは後者の様なレンダリング時にサブディヴィジョンを適用する方法を用いています。

そして、サブディヴィジョンアプロキシメーション(レンダーマンサブディヴィジョン)を適用する前提で、モデリングも行う必要があります。
モデリングの作業的には、サブディヴィジョンモデリングもサブディヴィジョンアプロキシーメーションを適用してレンダリングする場合でも、同じようなアプローチを行いますが、そもそも日本の多くのプロダクションはレンダリング時間の負荷を考慮して、サブディヴィジョン自体を使用していいないプロダクションがほとんどだと思います。

これはRaytracer系とRays系というレンダラーの違いも大きいと思いますが、日本のプロダクションではCM、映画、アニメ、フル3Dアニメなど多様な対応を一つのプロダクションで行わなければいけないという背景もあると思います。

と言うことで、今回は前回の補足ということで、サブディヴィジョンモデリングとサブディヴィジョンアプロキシメーションの違いを紹介させて頂きました。

次回はサブディヴィジョンを用いない(日本式モデリング)とサブディヴィジョンを前提としたモデリング方法の違い、面の取り方、穴の空け方を紹介したいと思います。

※あくまでも日本と海外大手プロダクションのモデリングの仕様の違いについて紹介する物であり、これはサブディヴィジョンの使用を強要する物ではありません。

2012年3月17日土曜日

【CG】 モデリング基礎編 その1 モデリングの種類 前編

今回は”モデリング基礎編”と題しまして、何回かに分けてモデリングの基礎知識、基礎技術を紹介していければっと思っています。

まず今回はモデリングの種類について。
モデリングには大きく分けて3種類(MAYA限定)の方法があります。
左からNURBS(Non-Uniform Rational B-Splines)モデリング、POLYGONモデリング、SUBDIVISIONモデリングの3種類です。




■NURBS(Non-Uniform Rational B-Splines)モデリング
NURBS((Non-Uniform Rational B-Splinesの略)曲線と言われる曲線を元に面(サーフェース)を作成していくモデリング方法です。
このモデリング方法は綺麗な曲面を持つ車や工業製品を製作する時に向いているモデリング方法です。

■POLYGONモデリング
これは現状、最もスタンダードなモデリング方法の一つです。ポリゴンモデルはポリゴンと呼ばれる面を面単位、または頂点単で編集して、形状を作っていくモデリング方法です。
もちろん向き不向きはありますが、ほとんどの形状をこの方法で作成することが出来ます。
またナーブスモデリングと違い、他のソフトへの形状移行が正確に行えるのもポリゴンモデルの特徴の一つです。

■SUBDIVISIONモデリング
ポリゴンモデルにベクトル情報を加えて、少ない頂点で綺麗な曲面を作るモデリング方法です。
基本的には頂点、面を編集するポリゴンモデルと考え方は同じですが、得られる結果が異なります。
分割方法は各ソフトウェアで微妙に異なります。


上記の3種類が主なモデリング方法ですが、実際に制作現場で使われているのは8割がポリゴンモデルで、残りの2割程度がナーブスモデリングです。
ただ、最終的にはナーブスで作成された形状もポリゴン化してしまうことが、ほとんどなので
制作現場で使われるモデリング方法は、ほぼポリゴンモデルだと思って頂いてかまわないと思います。
一部の会社などではナーブスモデリングを主にしている会社もあると聞きますが、僕の経験上では、ほぼすべてのモデルがポリゴンで作られていました。
そして、僕自身もうねったチューブやパイプ、スプリングなどの特殊な形状以外は、ほぼ100%ポリゴンモデルで作成します。

海外プロダクションの多くは基本的にはポリゴンモデリングでモデルデータを作成しますが
レンダリング時にサブディヴィジョン※1(再分割曲面)を使用するプロダクションがほとんどなので、実際のポリゴンモデルよりも滑らかな曲面でレンダリングされます。

※1再分割曲面
簡単に言うとレンダリング時にポリゴンを再分割(スムース)する様なニュアンスです。
厳密に言うと、MentalRaySubdiveやRendermanSubdiveなどレンダリングで使用するソフトウェアによって、ポリゴンの分割方法は微妙に異なります。


日本のプロダクションでは多くの会社がMentalRayやVrayなどのレイトレーサーをレンダリングに使用していますが
海外プロダクション(特に大手の映画系プロダクション)は、RenderManなどのRays系を使用している会社がほとんどです。
レンダラーの違いから、日本ではあまり馴染みがないサブディビジョンですが、海外プロダクションの場合は、多くのプロダクションが
レンダリング時にサブディヴィジョンをかける事を前提にモデリングデータを作成します。
そのため、僕の知る限りでは、日本のプロダクションと海外プロダクションでは、モデリングの方法が大きく異なります。


Raytracer系とReyes系ではレンダリング時にSubdivesionを使用した際のレンダリング負荷は圧倒的にRaytracerの方がレンダリングに負荷が掛かるため、日本ではサブディヴィジョンは、あまり使われていないのだと思います。

特にサブディヴィジョン+ディスプレイスメントを使用した時の負荷はRaytoracerの方が負荷は圧倒的に大きいです。
これはレンダリングのアルゴリズムに根本的な違いがあるのが原因なのですが、この当たりはモデリングの基礎の話とは少し外れるので割愛。

もしかすると、キャラなどは日本でも、すでにサブディヴィジョンありきのモデリングになっているかも知れませんが。。。
この辺は僕の専門外な部分なので、日本でキャラモデリングを専門にされている方のフォローアップに期待したいところですね。(^^;

今回は少し小難しい基礎理論的な話になってしまいましたが。。。次回からはもう少し具体例、図解をまじえながらモデリングの基本的な面取りの方法や
穴のあけ方、曲面の作り方、日本のモデリングと海外のモデリングの違いについて紹介していければと思います。

次回はモデリング基礎編 その2 正しいトポロジー!です。

2012年3月11日日曜日

【CG】サイコロの作り方

ツイッターの方では、文章だけでサイコロ(課題)の作り方、答えを呟きましたが、ここでは図解もまじえてご紹介できればと思います。

挑戦してくれた今泉さん田島くんありがとう!

1、
まず最初にリファレンスとなるサイコロによってベースの四角の形が違うので、まずはサイコロの目は考えずに、四角の形状だけを作ります!!(ベベル具合や角の丸みなど)
ちなみに僕がリファレンスにしたサイコロは、他の2人に比べて、かなり角が丸いですね(^^

今泉さん作のサイコロ
田島くん作のサイコロ



2、
次にサイコロの目を考慮して、1で作成した四角にエッジルールツールなどを使って均等なエッジ(分割線)を加えます。この時のエッジの加え方は図を参照にしてみてください。




3、
いよいよ問題のサイコロの目ですが、この時、どの目から作るか???で、後後の作業効率が変わってきます。
おそらく一番効率的に他の面を作れるのは"5"なので、5の目から作ります。5の目を作る時も4分の1だけを作ってしまえば、あとはミラーしてしまえばOKですね。




4、
"5"の目が出来てしまえば、サイコロの目の半分以上が出来たことになります。次はこの出来た"5"の目だけEXTRACT、DUPLICATEして再利用します。そして、2、3、4、6を作ります。
ワイヤーフレームを見ていただけると解ると思いますが”5の目”と”他の目”には多くの共通点(共通のトポロジー)が確認できると思います。




5、
あとは残った1の目を作ります。(これも5と同様に1/4だけ作ります。)




6、
それから、一番初めに作った四角(目の無い形状だけのモデル)に各サイコロの目を配置して、最初に作った四角の面を削除。目のある面と入れ替えてコンバイン、マージバーテックス。




7、これでサイコロの完成です。すべて四角ポリで不正のない綺麗なトポロジーの完成です。
(ただすべてが均等で正確だとCGぽっくなってしまうので、最後にわざと不均等な箇所、ゆがみなどを作ってやると、非常にリアリティが増します。Photoshop World TIPS参照



もちろん、モデリングは千差万別、色々な作り方、アプローチの方法があるので、僕の作り方が正解という訳ではありません。

ただ僕がこの課題で確認したいのは

1、綺麗なトポロジーであるか?(トポロジーについて理解しているか?)

2、サイコロの目を作る時のアプローチの方法。
アプローチの方法は人それぞれですが、どうすれば早く、綺麗に作れるのか?それを常に考えることが重要です。


多角形や不正なポリゴンが、なぜ問題なのか?おそらく、それすら知らない人も日本には多いと思います。
というか、海外でも認識薄いモデラーは非常に多いですが。。。(^^;

これはデザイナーの問題では無く、教育の問題(教育機関、会社での教育も含む)だと思います。
モデリングやトポロジーについて正しい知識、技術を教えることが出来る講師、先生、上司が少ないことと
不正なトポロジーがなぜ問題なのか?ということへの意識が低いことが原因だと思われます。

それでは不正なポリゴンがなぜいけないのか???
一番クリティカルな問題はやはりレンダリングトラブルの原因になると言うことですね。
僕の中では、どんなにかっこいいモデルでも、レンダリングが出来ないモデル=ゴミと一緒です。
もちろん正しいトポロジーだけど、データが重いという場合は、全くの別問題です。こういう場合は、解決策はいくらでもありますが、不正なデータというのは、トラブルの原因になっている不正、エラーを探すだけでも、相当な時間を浪費しますからね。

次に問題になってくるのが、アニメーションやリグなどに悪影響を与えます。特にデフォームするような場合に、不正なポリゴンや多角形があると、正しい結果を得ることが非常に難しいです。

綺麗なトポロジーというのは、UVを展開する上でも、非常に効率的に楽に展開できます。ところが!!いたるところに三角形や多角形、不正ポリが存在すると。。。。エッジを選択するだけでも一苦労します。。。
綺麗で不正のないトポロジーと一言で言ってしまえば、簡単ですが、非常に実践するためには多くの時間と経験が必要になってきます。
綺麗なトポロジーを作るためには、普通にモデリングするより遥かに時間が必要になります。
しかし、綺麗なトポロジーでモデリングすることで、リグのセットアップ、シュミレーション、アニメーション、レンダリングなどへ与える好影響は非常に大きいです。

とにかく、何をするにしてもクリーンで綺麗なトポロジーを作るということは、モデリングと言う分野においても非常に重要なことです。

次回は、何回かに分けて、正しいモデリングのトポロジー、正しいモデリングの基礎知識を図解をまじえながら紹介できればと思います。