« 2006年09月 | メイン | 2006年11月 »
2006年10月31日
にゃがとさん(2) [ CG・制作進行中 ]

ちっちぇ
投稿者 ヒロツ : 16:30 | コメント (2) | トラックバック (0)
2006年10月23日
拡張OpenGLとインタラクティブレンダー [ CINEMA 4D R10 ]

R10の「拡張OpenGL」は、法線マップや環境マップ等をビューポートに表示する機能。「インタラクティブレンダー」は「部分レンダリング」をインタラクティブに更新する機能。どちらもそれなりに便利で、それなりにマシンパワーを要求する。
◆拡張OpenGL
とりあえずテキトウなシーンを開いて、ビューの表示メニューにある「拡張OpenGL」をオンにする。ビデオカードが対応していれば、OpenGLの表示が変わる。変化がなければビデオカードが未対応ということに。つーかオンにすらならない?

特に特殊なマテリアルを使ってなくても、スペキュラが明らかに変わるのですぐわかる。
↓ これが通常のOpenGL表示。
↓ こっちが拡張OpenGL表示。法線マップと環境マップが反映され、影も落ちてている。わかりにくいけど、スペキュラも正確になっていてフレネルシェーダもまともに表示されている。
影は見ての通りガタガタ。そのくせ結構重くて、しかも全方向ライトでしか有効にならないので、正直あまり使いどころがない。影を見る必要があるときはインタラクティブレンダーを使うほうがよさそう。
↓ こっちはビューをレンダリングした状態。これと比較すると、拡張OpenGLの表示が通常OpenGLより格段に正確なのがわかる。
ビデオカードが拡張OpenGLに対応しているかどうかは、一般設定の「ビューポート」にある「OpenGL性能を確認」でチェックできる。対応してればOKっぽいメッセージ、対応してなければダメっぽいメッセージが出る。

↓ これはWindowsのGeForce7600GSの場合。OK。

↓ Macの場合はOKと言っておきながら一部機能が無効だったりするようだ。このGeForce7800GTの場合、OKつってるけど実際は影が出ない。なんとなくMacのOpenGLドライバが疑わしいような気がする。

「OpenGLシェーディング」のところに詳細な設定もあるが、大概は特にいじる必要はない。ここで「拡張OpenGL」をオフにすると、シーンファイルでの設定にかかわらず全てオフになる。

表示タグを使うとオブジェクト単位でオンオフでき、マテリアルの「GIと照明モデル」にはマテリアルごとに表示するチャンネルを選択できる設定がある(冒頭の画像は法線マップのみ表示させた状態)。従来非常に面倒だったバンプマップ等の位置合わせも、そのチャンネルだけ表示させれば簡単にできる。しかし何故また「GIと照明モデル」のところに入れるんだろう。素直に「ビュー表示」カテゴリを作ったほうがいいんじゃないだろうか。
◆インタラクティブレンダー
日本語だと「インタラクティブ・レンダー」だけど、英語では「IRRegion」。つまり「Interactive Render Region」=「インタラクティブ範囲レンダリング」で、従来からあったビューの「範囲レンダリング」をビュー上に固定し、シーンに変更が加えられるごとに再レンダリングするようにしたもの。「Alt + R」を押して有効にすると四角い範囲の枠が出てきて、ビューを動かしたりパラメータをいじる等シーンに変更を加えると、枠内が即レンダリングされる。
低解像度でレンダリングしたものを引き伸ばして表示することでスピードを稼いでいるので、従来の範囲レンダリングより速い。この引き伸ばし具合は白い三角マークを上下にドラッグすることで加減できる。目一杯上げるとピクセル等倍=通常の範囲レンダリングと同じ、デフォルトの真ん中では2*2ピクセル単位、目一杯下げると10*10ピクセル単位のレンダリングになるようだ。
IRRの設定メニューは三角マークを右クリックすると出る(ちょっとわかりにくいよこれ)。ここから詳細な設定をしたりIRR結果の保存をしたりもできる。

IRRはfinalRenderでも有効。普通にディストリビュートレンダーもやってる。

◆
拡張OpenGLは劇的に表示クオリティが良くなるが、あんまり贅沢な表示にすると重くてやってられないので、一長一短アリ。派手なフル表示よりも、テクスチャの位置合わせ等、地味なところの貢献の方が大きそうだ。手の込んだテクスチャを使いがちな人は嬉しいかも。
IRRはテストレンダリングが速くできるので、マテリアルやライトのチューニングに活躍しそう。何かするごとにレンダリングってことになるので、快適さもマシンパワー相応。
投稿者 ヒロツ : 20:37 | コメント (4) | トラックバック (0)
2006年10月22日
本アニメ [ CG・制作進行中 ]

地味だけど、実際やってみるといろいろと工夫が必要だったにょろ。
うちのWindowsマシンは、QuickTimeのビデオ設定をセーフモードにしないと色がヘンになります。紫がかったりとか。前のマシンは平気だったんでGPUとかドライバによるみたいですが、「色ヘンじゃね?」と思った方はお試しを。つーか、QuickTimeよりWindows MediaとかFlashのほうがいいんでしょうか、世間的には?
投稿者 ヒロツ : 00:46 | コメント (2) | トラックバック (0)
2006年10月19日
にゃがとさん [ CG・制作進行中 ]

投稿者 ヒロツ : 23:26 | コメント (0) | トラックバック (0)
2006年10月10日
LSCMでUV展開 [ CINEMA 4D R10 ]

R10/BP3の新機能として挙げられているUV展開機能、いわゆるLSCM(Hexagonの例はこのエントリ参照、もっと詳しくはググれ)、というか「切れ目を指定してUV展開」するやつ。インターフェイス的には「リラックスUV」のオプションとして地味に実装されているので「どこにあんだよ」と憤りの方もいらっしゃるかと思う今日この頃であります、サー!
◆選択されたエッジで分離
リラックスUVのオプションにある「選択されたエッジで分離」というのが「切れ目指定」(LSCMでいうSeam)。

しかしBPのUV編集には「エッジ」モードがないので(駄目じゃん)、エッジ選択はポリゴン編集のエッジモードでやっておく必要がある。選択されているエッジはUVビューには表示されないが、リラックスの際に切れ目として参照される。また、エッジ選択タグから読み込ませることもできる。
まず簡単な形状でやってみる。これはにゃがとさんのカーディガン。

あらかじめ平行投影などでUVを生成し、リラックスの対象になるポリゴンがひとつながりのUVクラスタを持つようにしておく。既に分離しているUVクラスタはリラックスをかけてもつながらないので、一発展開するときは初期UVもひとかたまりにしておかないといけない。また、この初期状態がどうなってるかによってリラックスの結果も多少変わってくるので、投影方法をいろいろ試してみるのもいいかも。

そしたらポリゴン編集のエッジモードで切れ目になるエッジを選択する。

切れ目のエッジを選択するときは、新機能の「パス選択」ツールの「ライブパス」モードを使うと便利。マウスドラッグで一筆書き状にエッジを選択できる。

この状態で「選択されたエッジで分離」をオンにしてリラックスを適用すると、指定した切れ目でUVクラスタが分離されてUV展開される。「自動再調整」がオンになっていると、分離したクラスタがオーバーラップしないように再配置される。

角度が斜めなのは回転すればいいとして、微妙に左右非対称だったりするのはちょっといただけない。これは「選択ポイントを固定」(LSCMでいうPin)を使うと解決できる。
◆選択ポイントを固定
ポイント固定=「ピンを打つ」操作は、固定の重要性がより高い形状でやってみよう。人間の頭部。

まず初期UVを設定する。人間の顔のマップを描く場合、顔の造作の部分のUVが真正面から見た状態に近いほうがやりやすいので、正面からの平行投影にする。

次に切れ目のエッジを選択。どこを切るかはケースバイケースだが今回はこんな具合に。

リラックスをかけるとこんな結果に! 配置が傾いてるのはいいとしても、左右非対称すぎで使い物にならない。

そこで「ピン」の出番。「選択ポイントを固定」で固定されるポイントは、リラックスをかけてもUV座標が動かなくなる(「自動再調整」によって比率を維持したまま再配置されることはある)。

とりあえず左右対称にするだけなら、正中線を通るポイント2つを選択するだけでいい。

今度はリラックスの結果が左右対称になっている。

左右対称になったのはいいが、顔の造作がリラックスしすぎではないか。この状態でテクスチャを描くのは無理だろ。

そこで、顔の造作になる部分を全て固定しちゃうことにする(もうちょっと狭い範囲でもいいかも)。

ピンを打って固定した顔の造作部分は、リラックス適用後も初期UVと同じ真正面からの平行投影のバランスを維持している。


従来はこの「正面は維持しつつ周辺はリラックス」の状態に持ってくるには、球投影から部分的にリラックスとかマグネットとかポイント単位で移動とかを繰り返す必要があって大変だった。LSCMのおかげで大幅に楽になっている。
前述のカーディガンの場合は、次のようにピンを打つと左右対称に展開できる。


ただし、複数のUVクラスタに分離する形状の場合、一発展開にこだわりすぎないほうがいい。個別のクラスタ毎に初期UVの設定やピン打ちの調整をしたほうがきめ細かい制御ができ、トータルでは効率が良いこともある。
投稿者 ヒロツ : 21:48 | コメント (12) | トラックバック (0)
2006年10月06日
R10のヘルプ [ CINEMA 4D R10 ]

R10ではCINEMA 4D自体に内蔵のヘルプ(オンラインマニュアル)がついた。

ただのHTMLヘルプビューアなのに、なんでわざわざ本体に組み込みするのん? いや、実はこのヘルプには秘密が!
※あ、まだ日本語化されてないんですけどもね……。
1)詳細レベルを指定して検索
ヘルプの検索窓には「詳細」というスライダがあり、これで検索の詳細レベルを指定できる。
![]()
詳細レベルが低いと主要な見出しにあるものしかひっかからないが、詳細レベルを上げていくにつれてより多くの関連項目が表示されるようになる。普段は低めにしておき、それで見つからなかったときレベルを上げるようにすると効率的に検索できる。

2)コンテントベースアクセス
このヘルプは、GUI上から直接該当する項目を呼び出すことができる。たとえば属性マネージャで「ジョイント/キネマティクス/ウェイト」を右クリックしてヘルプを呼び出すと、

ヘルプでは該当する項目が一発表示される。

また、ホットキー(Ctrl + F1 / Command + F1)を使った場合は、属性マネージャではマウスポインタの真下にある項目、アイコンやメニューはプルダウン/ポップアップ中にある項目からも、同様に一発でヘルプの該当項目が呼び出せる。いままでPDFを検索して頭から見ていくと数十秒から下手すると数分かかったのが1秒未満で! ドイツの科学力は世界一ィィィィイ!
3)その他
見てすぐ気付くと思うけど、左上の矢印アイコンはWEBブラウザ同様の「戻る/進む」ボタン。縮小表示されている画像はサムネイルをクリックすると原寸表示される。印刷は一応、右クリックメニューから可能(各ページ単位)。
投稿者 ヒロツ : 18:43 | コメント (4) | トラックバック (0)
2006年10月05日
CINEMA 4D R10 [ CINEMA 4D R10 ]
CINEMA 4D R10発表。もうデモ版も出てますね。
MAXONのリリース(まだ日本語サイトは準備中の模様)。
Cineversityの紹介ビデオ
新機能や改良点が非常にたくさんあって僕も把握しきれてないですが、ざっと目に付くあたりを紹介しますと。
・BodyPaintが本体標準装備に
これはビックリ。もっとも昨今では3DペイントやUV編集はあって当然になりつつあるので、時流に合わせたともいえるかも。BP自体も3になり、ハイダイナミックレンジ編集が可能=HDRやOpenEXRもそのままペイント/レタッチできるようになりました。これは実は従来からあった機能なんですが、Production Bundleっていう法人個別契約仕様でないと使えないようになってました。あと、UV編集がちょっと改良されて、切れ目とピンを指定してリラックスしたりできます。
・キャラクタアニメーション刷新
ボーンシステムからMayaっぽい?ジョイント&スキンシステムになり、オートウェイト/コンストレインツ/モーフ/マッスル等もつきました。まあ大半は既にCD Toolsで実現している機能と似たようなものですが。別モデルにUVやウェイトを移植する「VAMP」っていうツールも(XSIのGATORみたいな?)。
・ワークフロー改良
オブジェクトマネージャを複数出してシーンの別々のところをルートにしておけるとか、レイヤ機能がついたとか、いろいろ。タイムラインも一新。このへん非常に地味ですが、全般的な作業効率に影響大です。あとアイコンとスキームも劇的に変わってますが、旧アイコン&BlueBerryに戻すこともできます。
・拡張OpenGL
OpenGLのピクセルシェーダを使って、バンプ/法線/環境/フレネル/影などをビュー表示できるようになりました。ただしビデオカードに大きく依存するので、環境によっては動かないとかえらい遅いとかいうこともあるようです。
・レンダラは放置
逆にまたしてもほとんど変化なかったのがAdvanced Render。製品パッケージとしてPyro ClusterがARに取り込まれただけで、実質的には変化なし。でもこっちはR9の頃に比べるとユーザーの期待感も違うんじゃないですかね。高機能レンダラが必要な人はもうfinalRenderやMaxwellを買っちゃってるだろうし、Vray for C4Dもアナウンスされてる状況で、いまさらMAXONがそれに競合するものを作ってもメリットない。今回、ARを放置して他のところに注力したのはある意味、英断じゃないかと。
投稿者 ヒロツ : 18:36 | コメント (0) | トラックバック (0)