3D-CG Modeling Technics
(Update 1997/05/02)
目次
3Dモデリングを行うのに、 次の手順を踏むことが多い。
- 六角大王 for Windwos95 (基本のモデリング)--(DXF形式データ出力)-->
- PolyEdit (面の属性決定と加工調整)--(Direct3D形式データ出力)-->
- PUMAN Robot-Simulator (階層構造をつくりモーション作成)
詳細は以下のとおり。 データ形式とモデラの関係については こちら。
紙貼り細工的な造形ソフト 六角大王 for Windwos95 を利用して、 顔面のモデリングを行いました。 六角大王は優れたインターフェースを有しており、 左右対称の3D物体の作りやすさでは他の追従を許していません。 実際にモデリングは「六角」で、仕上げは高価な3DCGソフトでという 使い方をするプロアーティストも多いそうです。
私も同様に、まず六角大王でモデリングを敢行。 この程度のモデルなら外形は2時間で制作可能。 それよりも細かい修正に時間がかかります。
完成したデータを、六角大王形式(ROK)から代表的なCADデータである DXF 形式に出力(エクスポート) します。
- CADライクな3DCGモデラー PolyEdit に転送します。 その方法として最新版の機能である DXFのインポート機能 で入力します。 これにより、 サイズの数値入力や、面の属性およびテキスチャマッピングといった ポリゴン単位の細かい修正・加工が可能になります。
PolyEditでのチェック項目として、
- DXF入力時に、サイズ比率を適当な数値で指定します。 もちろんサイズはあとでも数値入力で修正できます。
- 「表示->表面のみ表示」を選択し、モデルをくるくるまわしてみると、 こちらの望む方向と面が裏表になることがあります。 このときは面を「選択」して「編集->面方向反転」させます。
- 「アトリ・オブジェ」で、面の色や反射などの属性を与えます。
- 「マップ・シェード」で、フラット・グーローシェーディング、 テキスチャマッピング方法を指定します。
- 面の分割数が多いと思ったら、面を「選択」後、 「編集->面自動合成」で、10度から指定してみてください。
Direct3Dで3Dモデルがどのように画面に出てくるか確認するのに、 「表示->Direct3D表示」で、PolyEditに付属するD3DViewer.exe を起動させます。 上の画像がそれですが、確認も高速で影などが現るのでグッドです。 最終は、 Direct3Dのエクスポート機能 でDirect3D形式に出力します。 このときサイズを指定します。
Direct3D出力のマクロ改造
PolyEdit内部で *.X 出力時には、 座標の最大値が 1.0になるように自動調整されます。
つまり倍率はデータによって変わってきます。
そこで、 PolyEdit\MACRO\d3d.m の210行目付近で
scalefactor = 1.0 / scalefactor;
の後に、DlogOpen( "倍率指定", 1 );
DlogString( 0, "倍率", substr(tostring(scalefactor), 14), 16 );
temp = DlogWait();
if( temp != 0 )
scalefactor = atof( DlogAnswer( 0 ) );という行を追加してください。倍率を指定できるようになります。
これで PUMAN Robot Simulator for Direct3D で使用可能なデータに変換されました。
3DモデルデータをPUMANで使うには、
- 「File->3Dモデル読込->ノーマル」でデータファイルとして直接読み込む。 (多分サイズがでかいので、画面を一旦クリックした後、 マイナスキーを御し続けてください)
- 「File->モデリングパラメータ読込」で、 前もって用意しておいたモデリングパラメータのなかの一パーツとして読み込む。 (これなら前もってパーツ同士のつながりや、 パーツの色・サイズを指定できるので、ある意味はやいです)
DXF->Direct3Dへのデータコンバータはいくつか見つけていたのですが、 「変換の間で加工する」 という部分がどうしても欲しかったので、 今回のPolyEditのバージョンアップはとても好都合でした。 これを市販のモデラーでやると150,000円以上かかります。 ちなみにPolyEditは2,000円以上のカンパウェアです。
補足: 自分で人体モデル制作したい方は Virtua-Fighter ラウ制作工程 を見ると制作工程イメージが掴めます。 作成したデータは、 PUMAN Robot-Simulatorに与えると、 Virtua-Fighterと同様のポーズ、 リアルタイムアニメーション作成が容易に行えます。
右図のような左右対称のBitmapファイルをまず作成します。 Direct3Dでは2のべき乗データに限定されるので、 これは256x256になります。 BitmapをPolyEdit上で、円筒張り付けします。 チェック終わったらDirect3D出力。
出力されたXファイルをエディタで開き、 "c:\***\***.bmp"からディレクトリ名を削除して"***.bmp"に書き換え。 でXViewerやURViewerやPUMANなどの Xファイルビューワーを使って読み込む。
もしテキスチャーが左右上下逆だったり、裏返ってたら、 ペイントブラシでBitmapを反転させましょう。
XViewerで表示。フラットシェーディングだと、3Dモデルがポリゴンで形成されているのがわかりやすい。 グーローシェーディングの状態です。 面に丸みが付き、 「人間の顔らしさ」 が出ています。
スキャナーがあれば、取り込んだ写真画像をポリゴンに貼り付けることもできます。 店の宣伝なんかにいいね。
PolyEditと六角大王を紹介させていただきました。 ダウンロードは以下のホームページから行いましょう。
PolyEdit カンパウェア(\2000〜) (team Project DOGA) PolyEditのページ
MS-Windows版実行ファイル (394,280Bytes)を選択してください。
六角大王 for Windows95 (Shusaku Furushima & Tomo the New Aquarian Kid) 窓の杜から検索
つくったパーツを組み合わせる
この工程をなぞることで、誰でも簡単に3Dデータを自作できます。
たとえばPUMANシステムによる 室内レイアウト検討の評価実験などを行ってますが、その中で重要なのはたくさんの部品データがあること、 自分の好みのデータを楽に追加できること、でしょう。 その点上記の方法なら、
- 六角大王はユーザー数が多く、 多くの様々な種類のサンプルデータが流布されています。
参考: NIFTY-Serve FGALAV LIB16 : 「六角大王と六角大王で作ったデータ」など。- PolyEditの対応するDXF形式は、設計分野でも認められたデータ形式で、 大抵の3Dモデラー、2D,3D-CADが対応しています。 不都合を感じることはまずありません。
とりあえず転載禁止
Copyright Takashi Horinouchi 1997. All rights reserved.