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

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

EasyRecaster開発レポート。(2013.04.25) / そして雑感。(^^;)

2013年04月25日 21時03分39秒 | プログラム開発


EasyRecasterの開発状況についてですが、本日ようやくレリーフ処理結果がプログラムウィンドウ内に表示できるようになりました。

現状ではまだまだ実験プログラムの域を出ず、レリーフ平面位置の設定も現状ではソースコードの編集に依っています。

この辺りを変更して最低限のプレーン位置設定機能や、その設定情報のファイル入出力機能を早急に作成したいと考えています。



・・・・・・・・・・【EasyRecaster明日からの実装機能開発について】・・・・・・・・・・


それよりも、

プログラムが動き始めてから気になりだしたことなのですが、

このプログラムでは画面に正対するピクセルの立体曲面化は現在正しく動作しています。

しかし横から見ていただくと分かる通り、レリーフ状になっているので背面の板とストレートにつながっています。

正面から見る限りは立体物として楽しめますが、横から見るとプログラムの立体化の限界をさらけ出してしまうのです。

出来れば横から見ても立体物として見られるようなレリーフ化が出来れば、立体出力物はより一層フィギュアに近い形状になります。

それが開発者としての願いでもあります。


ここ数日間横面ないし背面から見ても立体物になるような計算方法は無いか検討していましたが、

一昨日はたと思いつきました。


「裏面も同様に描画し、同様に立体化処理してから表面と統合してしまえばいいじゃないか!」


考えてみれば、このプログラムではメタセコイアモデルを描画する際に画面正面から見て裏側になるポリゴンは自動的に描かないようにする設定(=カリング)を行なっています。

このカリング設定はOpenGLにより柔軟に行えるようになっており、これとは逆に「裏面」のみを描画して表面は描画しないようにすることが出来ます。

しかしその場合においてもまだ問題は残ります。それはOpenGLが採用している描画計算アルゴリズムである「Zバッファ法」の処理方針です。


「画面の手前のポリゴンを残し、奥のポリゴンを消去する」


ところがOpenGLではこの処理方法を変更し、「奥の物を残して手前の物を消去する」描画を行うことが可能なのです。

(専門的な話ですが、glDepthFunc()関数の利用により実現出来ます。)


ということは、「裏面ポリゴンを、奥の物を残して手前の物を消去する」方法で描画すれば、背面モデルの表面形状を計算により生成することが可能です。


ここまでわかった以上、やらないわけには行きません。

ということで、明日以降この機能の実装に向けて挑戦を始めます。(汗)


今週中に出そうと思っていました試作物ですが、この機能の実装を確認次第改めて試作ぶつを出し直し、

立体出力サービスにかけてその結果を確認したいと思います。(^^;)



・・・・・・・・・・【昨今の3Dプリンターをめぐる論争に対するアレコレ】・・・・・・・・・・



最近は3Dプリンターについての様々な最新ニュースが飛び交うようになり、立体出力界隈も楽しそうな状況になって来ました。

中でも朗報なのは米国の老舗3Dプリンターメーカーのコンシューマー向け低価格3Dプリンターの販売が始まる等の情報が出てきたことです。

(※2013年4月25日現在、ソースを失念したため具体的にかけなくて申し訳ありません。ソースを発見次第再掲します。)

それに呼応するかのように米国内で展開している様々な3Dプリンターとその出力用形状データ共有サービスが日本でも紹介され、

日本においても同種のサービス開始が待たれる状況になって来ました。

現在開発中のEasyRecasterもそうした流れを支援する存在としてお役に立てるように頑張りたいと考えています。


しかし、こうした流れの中で「3Dプリンターは米国のような具合には普及しない」という論調が認められます。

3Dプリンターを利用するには3DCGモデリングスキルがなければならない、という主張も見受けられます。

こうした意見は、米国から始まった3Dプリンターブームとは真逆の意想ベクトルから発せられたものと思います。


何故こうした意見が出るのでしょうか?


それは日本国内における3Dプリンターの登場と過去の利用シーンが絡んできます。

昨年のMakersブームが発生する前から3Dプリンターという機械は存在していました。但しその頃は3Dプリンターとは呼ばずに

「RP機(Rapid Prototyping Machine)」と呼称していたのです。

その頃の3Dプリンターの役目は、「金型を作成するための試作モデルを評価するための立体出力装置」だったのです。


すなわち、3Dプリンターの立体出力物は、

それをそのまま何らかの製品として売るためではなく、

その出力品を利用して金型を作成し、低価格で同じ形の製品を量産するための試作品として利用するためのものだったのです。


しかし、金型を作るということはその時点で100万円オーダーの製作費がかかります。

昨年末以降注目されている3Dプリンターは、この金型をすっ飛ばして直接最終製品を制作することを目標に開発が進められているのです。

それは金型陣営にとっては市場縮小を意味します。すなわち死活問題です。

そのため、以前から金型市場向けに3Dプリンターを売ってきた人たちは、

3Dプリンターにより金型市場を潰されることを恐れて微妙なネガティブキャンペーンを張っているのです。

(「微妙な」と記述したのは、3DプリンターもRP機も同じ種類の機械であるため、それぞれに興味をもつ人間をDisることになればどちらからも批判されてしまうのを回避する狙いがあることを指しています。)


とは言うものの金型製作のために3Dプリンターを利用する人口よりは、個人的な立体物の入手や商品の生産のために3Dプリンターを利用する人口のほうが今後は増えることは目に見えています。

米国におけるWebでの3Dプリンターサービスはどれも後者の人口増を狙ってのものばかりですし、ソーシャル内での興味は常に後者の側にあります。

これらに背を向けて、3Dプリンターの生産性をことさら否定しようとするのは建設的ではないし、むしろ哀れな気がします。

個人的に金型の有用性については否定しませんが、量産して量販するといった20世紀後半の大量生産大量消費モデルを推し進めるには現在は情報が多様化しすぎているのです。

セオリー通りにTVCMを打って10万100万さばける製品を作る場合は量産コストとクォリティを考慮する必要があったのですが、

既にその産業は新興国にシフトしていってます。

(※生活必需品や、需要が決して無くならない製品については日本国内での量産を続ける必要があると思います。)

さらにWebの普及はスマフォによって加速し、商品をあらゆる場所で検索し調査し比較検討しできるだけ安く購入できるようになりました。

そのため小売は常に苦戦を強いられています。大型家電量販店ですら売上は下がっていますし、既にTVやオーディオといった主力商品も市場の縮小が続いています。

物が売れないのは消費者の意識が変わってきたためです。

その消費者のこだわりをすくい上げる機械として3Dプリンターは注目されつつあるのです。

そしてその可能性を信じる人達がネットやソーシャルツールを介して集まってきています。

こうして集まった人たちの頭脳と情報交換が、今後の3Dプリンターと、そこから生み出される新しいアイデアを加速することは目に見えています。

意想の集合体による生産性の加速は既にWeb上で何度も証明されています。

この流れを無視することは、ガラパゴスと揶揄された日本の携帯電話以上に日本人のクリエイティブ能力を後退させる要因になり得ると思うのです。


故に、歩みを続けましょう。(^^)



コメント
この記事をはてなブックマークに追加

EasyRecasterによる出力サンプルと開発予定。

2013年04月19日 21時43分58秒 | プログラム開発


本日は実際に立体出力するためのデータその1を作成しました。

「このバニーさん誰?」と思われる方もいらっしゃると思いますが、一応私のオリジナルデザインキャラです。

対外向けに発表する用に向けて版権に引っかからない素材を考慮したため、オリジナルデザインの3DCGキャラクターデータを作成しました。

この子の名前はまだ決めてません。(汗)

バニーさんの格好をしているのは作者本人が卯年生まれなのと、

昨年某3DCGデータ公開サイトで行われた「ファンタジー娘祭り」に急遽エントリーするために作成したため簡単にバニーさん衣装を作成したのです。


・・・・・・・・・・

それはさておき、

EasyRecasterの開発・リリース予定をお伝えしておきます。

現状のインタフェースはあくまでデータ生成アルゴリズムの確認用のための最低限の機能しか搭載されておりません。

元々STLファイル(立体出力用3DCGデータファイル形式)が扱えるプログラムでしたが、

現在はメタセコイア形式3DCG形状データファイルの入出力機能を優先するため無効化されてしまっています。

このSTLファイルの入出力の復活に加え、

画面レイアウトも現在の1画面から2画面構成に変わります。

それと、今のところプログラムの初期値を書き換えて対応している

・レリーフ底面位置(Z座標値)

・レリーフの厚さ(Z方向値)

・レリーフの彫りの深さ(倍率値:0.1~10倍)

の3つのパラメータを設定するためのUIを装備する予定です。


但し本プログラムはあくまで実験目的での開発のため、

今後は開発言語や画面構成・搭載機能等を大きく変更し、

3DCG初心者のためにより使いやすいレイアウトを採用した別のプログラムを開発する予定にしております。

そちらの開発につきましては計画が固まり次第改めて発表させて頂きます。

取り急ぎですみませんが、プログラム開発の現状のご報告でした。
コメント
この記事をはてなブックマークに追加

【3DCG立体出力】EasyRecasterテスト版【全自動データ変換】

2013年04月18日 19時10分09秒 | プログラム開発


一昨日ご報告しました3DCGデータの3DCG立体出力対応自動変換(フルカラー出力可能)プログラムですが、

名称を「EasyRecaster」(イージーリキャスター)と命名しました。

ということで本日、EasyRecasterが出力した最初の3DCG形状データが完全閉空間であることを

以下のMinimagicというチェックツールを用いて確認しました。

下の画像では色無しのモデルが表示されていますが、

こちらはSTLファイルという色がつかない立体出力対応ファイル形式です。



この段階で立体出力サービスに出しても問題なく出力されますし、

個人用の小型3Dプリンターを利用して立体出力する場合でもエラーが出ること無くそのまま立体出力にかけることが出来ます。


・・・・・・・・・・

ということで、明日からはこのプログラムを利用したデモ用の立体出力形状の作成に入ります。

実際にツールから一発出力したデータを立体出力にかけて、どんな実物に仕上がってくるかをお見せすることになります。

同時に、ニコニコ動画にそのレポート動画をアップロード致します。

その際、今回開発したプログラムを公開アップロードすることに致します。

現状ではまだ試作要素の強いプログラムのため初心者向けとは行きませんが、

MMDやGoogle等で公開されている3Dライブラリーの形状をレリーフ状にして立体出力にかけることが可能です。

実はレリーフの作成はモデリングツールを利用して行おうとすると色々厄介な問題が出てきます。

ましてや今回のように完全閉空間を考慮した立体出力対応3DCG形状データにしようとすると、

どうしても細かいポリゴン調整を余儀なくされ時間がかかってしまいます。

それをプログラムの力で一発処理しようというのが今回の開発目的でもあるのです。




しかも今回のプログラム開発技術はまだまだいろいろな応用の可能性を持っています。

今後はその可能性を広げる開発を進めて行きたいと考えております。

MMDアバンドールプロジェクトから生み出された新技術と、そのアプリケーション開発動向に

今後もご注目頂ますよう宜しくお願いします。(_ _ )
コメント
この記事をはてなブックマークに追加

3DCGモデルレリーフ立体出力化プログラムの最新開発進捗状況

2013年04月16日 20時06分07秒 | プログラム開発


当ブログをご覧下さる諸兄には大変不義理を致しましてすみません。
3月後半からずっと、表題のプログラム開発に没頭し更新を怠っておりました。

というのも、2月16日の記事で書かせて頂きました

「【速報】MMD等の映像用3DCGデータを立体出力可能にする自動変換プログラム開発報告。」

で紹介しました

「既存の3DCGデータをプログラム処理だけで立体出力可能なモデルに作り変える」

プログラムを具体的に利用可能にするための開発を続けて来ました。

最初公開したプログラムでは、立体出力可能な形状データは全て直方体の柱になっており、お世辞にもスマートな形状ではありませんでした。



これをスムーズな表面にするために直方体柱から格子状のポリゴンの組み合わせになるよう計算処理を変更していきました。

ところがはじめの頃は真っ黒けのモデルが出て来ました。



修正を加えるうちにどうにかまともなSTLファイルを出力できるようになって来ました。




こうなると、最大の目標である「フルカラー立体出力によるレリーフの作成」を達成したい欲望がメラメラと燃え上がってきました。

しかしそのためにまずプログラム自体をフルカラー表示可能にする必要がありました。

そこで手軽にフルカラー3DCG形状データを調達するためにメタセコイアMQO形式のファイルを読みこませる機能を実装するべく作業にとりかかりました。

こうしてなんとかテクスチャマッピングとスムーズシェーディング処理のための法線ベクトル補間計算まで実装を済ませました。






次に、現在制作中の初音ミクモデルが読み込める能力があるかどうか検証し、問題なく読み込めることを確認しました。



改めてミクのデータでレリーフ形状を取り出しにかかりましたが、最初は計算処理に不備があってまともに形状データを取り出せませんでした。
以下の画像は初期の出力結果(STLファイル)をメタセコイアで読み込ませたものです。



それらを解決し、なんとかレリーフ状の形状データの抽出ができるようになって来ました。






そして本日、最終目標である色情報データを反映した出力結果をメタセコイア形式(MQOファイル)で取り出すことが出来ました。




現状ではこのモデルはまだ左右が反転してる等の問題点がありますが、
それらを解決した上で裏側のポリゴンを作成して完全な閉空間(水が漏れないポリゴン空間)を作成しメタセコイアファイルとして出力します。

そしてこれを立体出力サービスで立体物化してみます。

その立体物をお披露目できる日もまもなくです。ご期待ください。(^^)


追伸:

その後左右反転版ができました。トップの画像のみ最新版で差し替えました。(2013-04-16 21:04:00)

コメント
この記事をはてなブックマークに追加