3D-CG Modeling Technics

(Update 1997/05/02)

目次

  1. モデリングの手順
  2. テキスチャーの手順
  3. ソフトウェアの在処
  4. 作ったパーツを組み合わせる


モデリングの手順

 3Dモデリングを行うのに、 次の手順を踏むことが多い。

  1. 六角大王 for Windwos95 (基本のモデリング)--(DXF形式データ出力)-->
  2. PolyEdit (面の属性決定と加工調整)--(Direct3D形式データ出力)-->
  3. PUMAN Robot-Simulator (階層構造をつくりモーション作成)

詳細は以下のとおり。 データ形式とモデラの関係については こちら

 

  1. 紙貼り細工的な造形ソフト 六角大王 for Windwos95 を利用して、 顔面のモデリングを行いました。 六角大王は優れたインターフェースを有しており、 左右対称の3D物体の作りやすさでは他の追従を許していません。 実際にモデリングは「六角」で、仕上げは高価な3DCGソフトでという 使い方をするプロアーティストも多いそうです。
    私も同様に、まず六角大王でモデリングを敢行。 この程度のモデルなら外形は2時間で制作可能。 それよりも細かい修正に時間がかかります。
    完成したデータを、六角大王形式(ROK)から代表的なCADデータであDXF 形式に出力(エクスポート) します。

     

     

  2. CADライクな3DCGモデラー PolyEdit に転送します。 その方法として最新版の機能である DXFのインポート機能 で入力します。 これにより、 サイズの数値入力や、面の属性およびテキスチャマッピングといった ポリゴン単位の細かい修正・加工が可能になります。

    PolyEditでのチェック項目として、

    1. DXF入力時に、サイズ比率を適当な数値で指定します。 もちろんサイズはあとでも数値入力で修正できます。
    2. 「表示->表面のみ表示」を選択し、モデルをくるくるまわしてみると、 こちらの望む方向と面が裏表になることがあります。 このときは面を「選択」して「編集->面方向反転」させます。
    3. 「アトリ・オブジェ」で、面の色や反射などの属性を与えます。
    4. 「マップ・シェード」で、フラット・グーローシェーディング、 テキスチャマッピング方法を指定します。
    5. 面の分割数が多いと思ったら、面を「選択」後、 「編集->面自動合成」で、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 ) );

という行を追加してください。倍率を指定できるようになります。

  1. これで PUMAN Robot Simulator for Direct3D で使用可能なデータに変換されました。

    3DモデルデータをPUMANで使うには、

    1. 「File->3Dモデル読込->ノーマル」でデータファイルとして直接読み込む。 (多分サイズがでかいので、画面を一旦クリックした後、 マイナスキーを御し続けてください)
    2. 「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"に書き換え。 でXViewerURViewerPUMANなどの Xファイルビューワーを使って読み込む。
 もしテキスチャーが左右上下逆だったり、裏返ってたら、 ペイントブラシでBitmapを反転させましょう。

XViewerで表示。フラットシェーディングだと、3Dモデルがポリゴンで形成されているのがわかりやすい。 グーローシェーディングの状態です。 面に丸みが付き、 「人間の顔らしさ」 が出ています。

Who is this puppy?
スキャナーがあれば、取り込んだ写真画像をポリゴンに貼り付けることもできます。 店の宣伝なんかにいいね。

 
 

利用したソフトの在処

PolyEditと六角大王を紹介させていただきました。 ダウンロードは以下のホームページから行いましょう。

PolyEdit カンパウェア(\2000〜) (team Project DOGA) PolyEditのページ
MS-Windows版実行ファイル (394,280Bytes)を選択してください。
六角大王 for Windows95 (Shusaku Furushima & Tomo the New Aquarian Kid) 窓の杜から検索

つくったパーツを組み合わせる

 この工程をなぞることで、誰でも簡単に3Dデータを自作できます。
たとえばPUMANシステムによる 室内レイアウト検討の評価実験などを行ってますが、その中で重要なのはたくさんの部品データがあること、 自分の好みのデータを楽に追加できること、でしょう。 その点上記の方法なら、

  1. 六角大王はユーザー数が多く、 多くの様々な種類のサンプルデータが流布されています。
    参考: NIFTY-Serve FGALAV LIB16 : 「六角大王と六角大王で作ったデータ」など。
  2. PolyEditの対応するDXF形式は、設計分野でも認められたデータ形式で、 大抵の3Dモデラー、2D,3D-CADが対応しています。 不都合を感じることはまずありません。

とりあえず転載禁止
Copyright Takashi Horinouchi 1997. All rights reserved.



ホームページに戻る