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

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

【EasyRecaster】3Dプリンター出力までの時間を劇的に短縮することで得られるものとは。

2014年04月22日 11時17分19秒 | EasyRecaster


3人目のミクさん、現在絶賛調整中です。


・・・それは置いておいて、

今一度EasyRecasterの開発意義について再考してみたいと思います。


昨今3Dプリンターの低価格化が進んでいることはこのブログの読者諸兄もご存知のことであると思います。

そして、肝心の3Dプリンターを手に入れたとして、

それで何を出力するかについて、いまだに決め手にかける状態である事も

ご存じの方は少なく無いと思います。


これ自体何度も何度も言い続けてきたことですが、

3DCGデータ自体はインターネット上にもゲーム内にも満ち溢れています。



問題なのは、

「それらの3DCGデータが3Dプリンターで出力したいと思える内容なのか?

 あるいは出力可能な内容なのか?」


を問い直す必要があるということです。



残念ながら、

ゲーム内の3DCGデータを勝手に吸いだして別の目的で利用することは

「ゲームを楽しむ」ために提供されたゲームコンテンツの本来の目的とは異なるため、

利用契約に違反することになり、最悪のケースでは法的訴追を受ける事態になりえます。

また、公開された3DCGデータについても、

そのデータの作者が「映像制作以外への利用を禁ずる」と宣言していた場合にはそれに従わなければなりません。


現状では、3DCGデータは3Dプリンターで利用する事を想定して公開されたものは殆ど無いということです。

それは、数年前までは3Dプリンターで3DCGデータを立体出力するという行為に非常に多額のコストがかかっていたからです。

そんな沢山のお金を払って3DCGデータから立体物を作成する事に価値を見出す人はいませんでした。


しかし今後は違います。

3Dプリンターは着実に増殖を続けています。

その性能も年々信じられないペースで向上しています。

数年前に1000万円支払わなければ入手できなかった性能が、今は30万円を切る価格で手に入るようになってきました。

そうなると、

3DCG側でも3Dプリンターを視野に入れたデータの配布やゲームコンテンツの展開を積極的に考える必要があると思います。



私は、まさに今がその時代であり適切なタイミングだと考えます。



それ故に、EasyRecasterを積極的にゲーム環境で利用できるようにしていくのが、

VRE Researchが担う最大の使命であると認識しています。


そのために何をすべきか?

既にその試みは始めています。

当初はMikuMikuDanceの3Dプリンター出力アプリケーションを標榜して開発を進める予定でしたが、

コンテンツ的に見てそれは様々なリスク要因を内在していることも昨今わかってきました。


そのため、

3Dプリンターを持っている人がより楽しめる、

システム&コンテンツを提供できるようにすることが肝要であると考えています。

その具体的なプランは近々発表できるよう、現在準備を進めています。





将来、3Dプリンターはあまねく多くのゲームプラットフォームでゲームとコラボできる周辺機器になります。

その日の到来を早めるべく、頑張ってまいります。(^^;)






コメント

今一度「EasyRecaster」の意味を考える。

2014年02月03日 20時06分25秒 | EasyRecaster


昨年11月から12月にかけて、

MMD等の3DCGデータから3Dプリンターに直接出力することを可能にする試作プログラム

「EasyRecaster」を開発してきました。

これがその開発の要約映像です。

【論文】MMDから俺の嫁を3Dプリンター出力するプログラムを開発してみた



昨今3Dプリンターの高性能化と低価格化がアメリカを中心に進行しています。

特に今年の後半から秋にかけて、さらなる高性能な個人向けフルカラー3Dプリンターの発売(※1)や、

カラーパレットによるマルチカラー印刷及び半透明&柔軟素材との複合同時印刷が可能な新型3Dプリンター(※2)

1月中有に相次いで発表されていました。


このように3Dプリンターをめぐるハードウェアの進歩は待ったなしの勢いで進んでいきます。

現在はABS樹脂による3Dプリンター出力が主流ですが、それも今年の後半にはどうなっているかわかりません。



そんな中にあって相変わらずなのが3Dプリンターに出力するための3Dデータの現状です。

3Dプリンター出力用のデータを得る方法は、現在様々なデータ公開およびマーケットプレースサイトがリリースしています。

これらは常にデータ作成者の作品を心待ちにしているのですが、

残念ながらデータの作成者は3Dプリンターが増えたからといって増加傾向にあるわけではありません。

その理由は全く簡単な事です。

3DCGツールの使い方を勉強して3Dデータを作ろうとする人がいないからです。


それでは、何故3Dデータを作る人は未だに出てこないのか?


これも理由は簡単な事です。

3Dデータを作っても、3Dプリンターで出力したら用済みだからです。

たった数回の3Dプリンター出力のために、多大な時間と苦労を費やして

せっかくの個人の趣味のための時間を捨ててまで3Dプリンターで何かを出力する気が起きるでしょうか?

初めて買った3Dプリンターで、初めて3Dモデリングした作品を、トライ&エラーを繰り返して作ってみたものの、

初めての作品では人に見せられるほど満足の行く出来にはならないはずです。

それでも今なら僅かな人から評価は頂けると思いますが、

ニコニコ動画のような公開動画サイトで晒したら遠慮なく酷い評価が与えられます。


そして、仮に上記のデータ公開サイトで自作3Dデータを公開してしまったら、

デジタル化された3Dデータは常に2次改造の危機にさらされ、

さらに自分のあずかり知らない所でコピーされ無断転載されてしまいます。


なにより、自分が物を作って発表することで、

無慈悲な評価者だった自分が「評価される側」という一方的な劣勢に立たされるのです。


ここまでわかっている賢明な個人は決してモデリングに手を出しません。

故に、私は3DCGモデリングの技術は余程の必要性を認めない限り、

趣味でやりたい場合お金を出してまでセミナーを受講して修得する類のものではないと思います。

(ものづくりやデザインを仕事にしている人はその限りではありませんが)



しかし、ここに一つの疑問が浮かびます。



それなら、

何故MikuMikuDanceではその登場以降に多数の3DCGモデル作成者が出現する環境を作り得たのでしょうか?


それも答えは簡単です。

3DCGモデルを「使ってもらえる」からです。

なぜなら、MMDの3DCGモデルは3Dプリンターで出力する3Dデータと違って、

ポーズを自由に変えたり、表情を自由に変えたり出来ます。

元々ダンスをさせるための最低限の人体モデル機能を有していますし、

表情関連アクセサリを追加することで漫画的な記号表現も追加できます。

すなわちMMDのモデルデータはダウンロードしてから先の用途が無限にあるのです。


ひるがえって、3Dプリンター出力用の3Dデータの用途は何でしょうか?

3Dプリンターでの立体出力が完了したら、それでお役御免です。



ここまで考えたら、もう誰もが思いつくはずです。

「例えばMMDで自由に変形させたあとで、3Dプリンターで出力することが出来れば、

 いくらでも様々なポーズや表情のフィギュアを作る事ができるんじゃないか?」

私が今やろうとしている事はこれなのです。

現時点で高機能な3DCGツールにも「リトポロジー」という機能があります。

これは元々3DCG映像制作用に作成されたモデルデータを3Dプリンターで出力可能な形状データに変更するための機能です。

ただし、この機能でフルカラー対応の3Dプリンター用に直接出力可能なデータを作成するには、

そのモデリングツールを使いこなす知識とデータを調整する技術と時間が必要になります。

EasyRecasterはその技術と時間をすっ飛ばして短時間でだれでも3Dプリンターを使って立体出力できるようにするのが

開発の目的になっています。


但し、上の映像をニコニコ動画で発表した直後は、反響と同時に

「映像制作目的で作られたMMDデータを勝手に3Dプリンターで出力できるようにするな!」

という尤もなご意見も頂きました。

それに対するアイデアを含めて、今まで色々考えてきました。

それらも含めて新しい表現を獲得できるプログラムの必要性を再認識し、開発を復帰させました。


ということで、EasyRecater開発活動を再開させます。

どういう形のプログラムになるか?

今後の活動報告にご期待ください。(^^)



※1 CES2014における3DSystems社のニュースリリースにおいて、
  5000ドル以下でデスクトップ降るから3Dプリンター「CubeJet」が販売されると予告しています。

※2 Stratasys Redefines Product Design and Manufacturing with World's First Color Multi-material 3D Printer(2014.01.26 Stratasys News Release)
コメント

プレスリリース続報&第5回ニコニコ学会βに論文投稿!

2013年11月29日 19時08分08秒 | EasyRecaster
【論文】MMDから俺の嫁を3Dプリンター出力するプログラムを開発してみた


表題の件、第5回ニコニコ学会βのWebサイトで公開審査が始まりました。

どうか一票を投じてくださいますよう宜しくお願い致します。


No.19「MMDから俺の嫁を3Dプリンター出力するプログラムを開発してみた」森山弘樹




・・・・・

プレスリリース発表その後ですが、

「RepRap Community Japan」さん

「Bonsai Lab.」さん

それぞれfacebook上のコミュニティサイトですが、情報を掲載して頂きました。

と同時に期待と応援のエールまで頂きました。

これを糧に今後も頑張って参ります。(^^)

コメント

EasyRecasterの使い方(その2):設定パラメータの改良とその効能について。

2013年09月01日 02時32分41秒 | EasyRecaster



シリーズとしての記事なのに、数日空いてしまいました。(汗)

その理由は今回お話する設定パラメータの値と動作結果を調査する内に」、色々とプログラム的に手直しすべき問題点を見つけてしまったのです。

その問題を修正している内に時間がかかってしまいました。

そして、前回説明した「Recaster設定」ダイアログのデザインも少し変更が加わりました。(^^;)

前回のデザインは以下の通りです。





そして今回説明する「Recaster設定」ダイアログのデザインは以下のようになりました。





具体的に何が変わったのかというと、

(1) スケーリング以外のパラメータ入力欄が4つから3つに減った。

(2) 「奥行き方向カット距離」入力欄が削除された。

(3) 「奥行きカットオフ実距離」欄が「奥行きカットオフ比率」に名前が変更された。

点が変更点としてあげられます。


実は調査している内に(1)の「奥行方向カット距離」値は処理に全く影響を及ぼさない事がわかりました。

そのため今回のプログラム修正において削除されました。


次に、「奥行きカットオフ実距離」についてですが、これはZ方向(奥行方向)のうちどこまでをレリーフ内部に埋め込ませるかを

設定させるパラメータなのですが、直接距離を値として与えるがために「厚み調整倍率」がかかってZ方向のボリュームが変化した時の

対応が難しいという問題に気がついたため、距離値で設定するよりも0.0から1.0の範囲内で比率として設定することで他のパラメータ

による変化があっても一定に対応できるようにしました。


故に今回の修正で厚み付けと奥行きをどこまで出すかの調整がわかりやすくなりました。

この修正点はこの日記とともにリリースするα0.0.0.3版に反映されます。



・・・・・

それでは早速パラメータ設定値とレリーフ処理の結果についてご説明します。


[1] 「奥行きカットオフ比率」について:

「奥行きカットオフ比率」は、画面上に表示された3DCGモデルの奥行き方向に対して、

どこまでをレリーフ化した時に前に出すか奥に引っ込めるかを決定する比率です。

具体的には、「奥行きカットオフ比率」を1.0に設定すると、



この設定では100%モデルは背面にめり込むので、立体にはならなくなって単に1枚板に絵が張り付いただけになります。



逆に「奥行きカットオフ比率」を0.0(0%)に設定すると、



今度は物凄く飛び出してきます。



これは、ミクさんの後ろ髪まですべてレリーフとして浮かび上がらされるためです。

これはこれで迫力のあるレリーフですが、少々飛び出しすぎです。

それでは、「奥行きカットオフ比率」を0.5(50%)に設定すると・・・、



このように飛び出します。



それでもやはり飛び出していますが、先程寄りは飛び出し量が少なくなってます。

ミクさんの髪の毛もかなり背面にめり込んでいることがおわかり頂けると思います。



[2] 「厚み調整倍率」について:

「奥行きカットオフ比率」ではモデルをどこまでレリーフから飛び出させるかを決定するパラメータでしたが、

このままでは厚みそのものを調整することは出来ません。

レリーフによってはもっと薄く仕上げる必要があったり、あるいはモデル本来の立体感を強調する必要があったりします。

その「飛び出し具合」を調整するためこのパラメータが活躍します。

まずは「厚み調整倍率」の値を0.5に設定してみましょう。「奥行きカットオフ比率」はここでは0.5(50%)に固定しておきます。



すると、厚みはグッと圧縮されてこんな感じになります。



今度は「厚み調整倍率」の値を2.0に設定してみましょう。



するとレリーフはドカンと飛び出します。



このように、「厚み調整倍率」を操作するとレリーフの暑さを自由に調整できるのです。


[3] 「背面厚さ」について:

「背面厚さ」はレリーフ部分と関係しませんが、レリーフの背面の板の厚みを決定する数値です。

個々の値を大きくすればするほど背面の厚さが大きくなります。



・・・・・

以上が「Recaster設定」についてのおおまかな説明です。

途中でパラメータの動きに見直しを加えたため、説明を書くまでに時間がかかってしまいました。

さらにこの修正を加えたEasyRecaster_Alpha0003Jを本日の日記とともにリリースします。

よろしければご使用の上動作を確認してみて下さい。(^^)

EasyRecaster Alpha 0.0.0.3Jダウンロード
コメント

EasyRecasterの使い方(その1):設定パラメータとは?

2013年08月29日 09時29分09秒 | EasyRecaster


EasyRecasterの説明ビデオを公開したのですが、

映像だけでは伝えきれなかったのが上の画像で示されている「Recaster設定」ダイアログの数値についてです。


これらの数値は姿勢される立体出力用形状データの全体サイズや厚み、奥行き比率等を調整するためのものです。

それぞれの値の役割と設定効果について順を追って説明していきます。


(1) 形状モデルサイズ(最大値・最小値)

現在メインウィンドウ内に読み込まれている形状モデルデータの座標点の最大値と最小値を示す欄です。

この数値が小さすぎる(1.0以下)だとレリーフ化処理がうまく行かず平らな形状になります。

最大値・最小値が50.0~500.0の範囲に収まるように調整する必要があります。

調整は次の項目「形状スケーリング」で行います。


(2) 形状スケーリング(X,Y,Z)

読み込まれた形状モデルの最大値・最小値を変更するために、モデル全体にかける拡大縮小倍率値を入力する欄です。

1.0のままだと比率は変わりませんが、1.0より小さいと縮小され、1.0より大きいと拡大されます。


※注意※

 実際の拡大縮小処理は、Recaster設定ダイアログのOKボタンを押してダイアログを終了することで実行されます。

 数値が入力された時点ではまだ拡大縮小は行われていません。

 そして、ダイアログを終了した後は上記の拡大縮小倍率が適用された形状データとなります。

 再び「Recaster設定」ダイアログを表示すると、上記の最大値・最小値の値が変化していることをご確認下さい。



本日はここまでです。

明日はレリーフの厚みや深さを決定するパラメータについて具体的な図を示しながら説明します。(^^)
コメント