3DCGで樹木の練習

Poserで使う日本の街シリーズ制作の一環から、樹木の3DCG化を課題としている今日この頃だが、Vueでの樹木データをOBJ化してPoserに持ち込むことで、樹木の3DCGのイロハを知っておこうと思う。



Vue (といってもver.6と古いのだが) も持っているので、時たま弄るのであるが、自然界の風景を手軽に3DCG再現できることでベストなアプリと思っている。そして便利なことに、そのデフォルトで用意されている植物データのほとんどはOBJファイルなどに書き出し出来る機能を持っている。
そこでその中から桜の木を選んで、Poserで再現しようと思う。その過程で樹木の3DCG化はどんな様子になるのか? 或は一般的な手法ってどんな感じ? を把握しておこう。頭の中ではだいたいの手順やら、ポリゴン形状も考えられるのだが、精密に表現しようと思うと、どうしてもポリゴン数が過大となってしまう。しかも葉っぱなどは透明設定で切抜きにするので、Poserではレンダリングが遅くなる。加えてポリゴン数が多いとさらにレンダリングに時間がかかる。。
それを打破する妙案は無いものか? と無い知恵を搾っていたのであるが、結局のところ世間一般で定着している方法が一番、というか妙案は無い! と知るに至ったワケ。

で、まずはお手本としてVueのデータを参考とすべく、OBJ形式で書き出してみる。


Vueのデフォルトで用意されている、この桜の木をOBJに書き出してみよう。OBJの形状データはもとより、textureも書き出さないと用をなさない。


Vueのメインメニューから『オブジェクトの書出し』を選択すると、ダイアログが現れ、


そこで左手にあるカラーマップ類にチェックを入れればよい。特にアルファマップが抽出できないと後々大変である。メッシュ解像度は最低レベルにしておく。それでも書出されたボリゴン数は57,000ポリゴン以上であり、大層な数である。


それをmodoで開いてみると、葉っぱの部分に相当する形状はこんな状態だった。単純な平面状ではなく湾曲した形状になっている。


それを面反転させて2種類の形状として散りばめられている。このOBJファイルではポリゴンを全て三角ポリゴンにしているが、これはOBJ変換する時のVue側のロジックによるものなのだろう。Poserで使うポリゴンでは四角形で構わないのだが、それ故にポリゴン数が膨大となっているようだ。


書出されたtextureはこの3種類。左からテクスチャー・マップ、切抜き用の透明マップ、そしてバンプ・マップである。それぞれ下半分が『幹』用のtextureである。
これをPoserに読み込み、マテリアル・ルームでそれぞれのtextureを当てはめれば良いのであるが、留意点としては2つ。


一つは、この『ノーマル 前』のチェックを入れること。これはレンダリングする際にポリゴンが裏になっている部分を、表面としてレンダリングしますヨ、というコマンド。葉っぱのポリゴンは360°ぐるりと配置されているので、必ずポリゴンが裏面になってしまう部分がある。これを忘れるとライティングにもよるが、葉っぱが黒いままレンダリングされてしまう。必ずチェックだ。
そしてもう一つは、『折り目角度』の変更。


Vueから持って来たOBJファイルの場合、この値を90以上にする。Vueで生成されたOBJファイルでは、『幹』の断面形状は四角となるようであるから、この値がデフォルトの『80』のままでは幹が丸くならないからだ。


折り目角度80のままだと、このように四角の角がそのままとなり、いかにもローポリのままとしか見えない。


それを91(90より大きく) にすると角が取れた感じでレンダリングされる。このデータの場合、OBJ書出しでイレギュラーがあったのか、幹の根元付近の形状がおかしい。
で、そこを少し修正した後に、Poserでレンダリング。


陰影の濃淡の違いはあるが、冒頭のVueでのレンダリングと比べてほしい。当然ながら同じようにPoserでも桜の木が出現である。
が、予想通りレンダリングが激遅であった。。Poser7で、ワガ最強の8コアMacProにしてもレンダリング完了まで16分オーバーであった。そんなに大きな画像サイズではなくおよそ1100 x 810ピクセルの大きさで、である。同じデータ同じライティングで、Poser8でレンダリングしたら6分とちょっと。。十分速くはなったのではあるが、もともとのVueで、それもラジオシティのレンダリングで2分弱である。やはりPoserでの透明部分のレンダリングは遅い、ということだ。

というPoserでのハンディはあるものの、樹木のモデリングはやはりこの方法でやるしかない、と悟った次第。葉っぱ用のポリゴンを増やしてやらねば鬱蒼とした感じは出ない。でも幹や枝は四角ポリゴンあるいは三角、平ポリゴンの組合わせで生成して極力ポリゴン数を増やさないようにする。なんというか、当たり前の結果でしかなかったが、後は葉っぱのポリゴンが規則正しく並ばないように配置したり、実際の樹木の『枝振り』を観察して地道にモデリングするしかないか〜、大変そう。。
まずは手頃な樹木を選定してトライしていくしかない。

BlogTopへ戻る