「ボクセルポリゴンな日々」 - UnityでMakersとVRをつなぐ挑戦 -

Unityプログラムで3DCGアセットデータをVRや3Dプリンターで利用可能にする最新技術や関連最新情報を紹介します。

今後の目標について。

2013年01月26日 23時08分16秒 | 立体出力(技術およびサービス)



あにまさ式弱音ハク姉さんの立体出力は成功裏に終わった訳ですが、

今後の立体出力を考えると今回立体出力までに至る作業量はまだ誰もがカジュアルに立体出力したいという思いを持てない程の現実を示していると言えます。


これを画期的に変革し、誰でも楽に立体出力できる3DCGモデルデータを得られるようにするには2通りあります。


(1)MMDモデルデータを最初から立体出力を考慮した形で極力「水漏れしない形状データ」
   で組んでおき、立体出力前のポリゴン修正作業を最小限にする。


(2)レンダリングしたイメージを立体出力用データに自動変換するプログラムを開発する。


(1)については、今回あにまさ式弱音ハクモデルの立体出力で行なった「水漏れしない形状データ」への作り替えをMMDの標準ボディに対して行なうというものです。

但し気をつけなければならない点があります。

MMDモデルは表情アニメーションを行なう際、顔部分の形状をモーフィング(ポリゴンモデルの変形)処理を行なう事で実現しています。

それ故に顔部分に水漏れ改造のためにポリゴン追加を勝手に行ったら、表情アニメーションでモーフィングターゲットとなるポリゴン形状の座標およびポリゴン情報の順番が狂う事になるため結果的に顔がぐちゃぐちゃに潰れる等モーフィングの失敗処理が発生する事になります。

これを回避するには顔部分のポリゴン追加を回避するより他方法はありません。立体出力する場合顔部分のポリゴン修正が残る事になりますが、その他のパーツの水漏れ防止が完了していた場合には作業量がかなり軽減される事になります。これは決して効果の無い方法とは言えません。

現在筆者は顔部分の形状モデルも水漏れ防止形状に作り変えた独自制作モデル(次期そむにうむ式初音ミク)を制作中です。(汗)

時間を見て顔モーフィング以外の水漏れ防止を施したMMDモデルの作例を公開したいと思います。(^^)


(2)については、フィギュア的なモデルの出力は現状難しいのですがレリーフのような立体感を持った立体出力用形状データを制作する上で補助になるプログラムの設計を進めています。

そのヒントとなるプログラムとしては既に公開されているDotFabがあります。(名前クリックでダウンロードサイトに飛びます)





このプログラムでは画像データを構成する「画素」の一つ一つをキューブ型のポリゴンデータに変換するというユニークな物です。

また、設定を弄るとキューブをその場で回転させる事が出来、アニメーションにするとユニークな展開を見る事が出来ます。





ところで3DCG描画においては面同士の前後関係を判定するために「Zバッファ法」という処理を利用しています。

このZバッファとは3DCG描画により各画素に色を書きこむ際に、同時に計算した各画素ごとの奥行き情報を記録する場所です。Zバッファは各画素と1対1の関係になっています。

すなわちZバッファ法で描画処理が行なわれる時、各画素ごとに奥行きすなわちZ位置情報を記録しているのです。

この情報を取り出して上のキューブの奥行き距離に設定すると、平面的な画像が立体的に盛り上がるレリーフ状になります。

この原理を利用すれば、上記のような水漏れ防止形状データを作らなくてもどんな3DCGモデルでも描画が出来れば直ちに立体出力が可能な形状として取り出す事が可能になるのです。


今後このコンセプトを実現する試作プログラムを開発し公開する予定です。(^^)