ReconstructMeを使ってみる
About
|
ReconstructMeは、Kinectを使って実空間を計測し、そのデータを3DCGデータ(objファイルなど)にすることができるソフトウェアです。商用利用に制限が付くフリー版も公開されているので利用してみることにしました。この手のソフトウェアにしては珍しくKinectForWindowsSDK1.5に対応しているのが嬉しいです。大抵の場合OpenNIで作られているのですが、両ドライバを共存させるのも切り替えるのも非常に手間(であるよう)なので、この対応を取っているだけでも価値があると思います。そういう訳で、ここではKinectForWindowsSDK1.5で動かしています。 |
License
ReconstructMeのライセンスについては次のページに掲載されています。
概要は次の通りです。また可能な限りTwitterやブログへの投稿などによって広告するように求められています。正式なライセンスについてはページに記載された原文を参照されたい。
- ReconstructMeの再配布はいかなる形式においても許可されない。
- コマーシャル・商用目的で利用することができず、ReconstructMeで作成された全てのデータの販売も禁止される。
- (non-commercial-licenseの)ReconstructMeで作成されたデータのライセンスはCCの「Attribution-NonCommercial-ShareAlike 3.0 Unported.」となる。
ハードウェア要求・動作環境
次のページから最新のハードウェア要求を確認することができます。
また2012年7月現在の概要は次の通りです。
- グラフィックボード(カード)が次のモノ以上である必要があります
- AMD Radeon HD 6850
- NVIDIA GeForce GTX 560
- 「Microsoft - Kinect」ないし「ASUS - Xtion」が必要になります。
Download・Install
本体や必要になるその他のモノのダウンロードおよびインストールに関しては別のページに分けています。次のページを参照して下さい。なおKinectを扱うために必要な環境の整備に関しては解説していません。ReconstructMeに関係するもののみ解説しているので予めご了承を。
How To Use
大まかなReconstructMeの使い方について解説します。詳細は公式のページ「Usage」にも書かれていますが、現在の所それ程は多機能でないので、使っているうちに分かると思います。
ReconstructMeの有効範囲
先にReconstructMeの有効範囲について押さえておこうと思います。というのも筆者が利用・試験しようとした環境に合わなかったためです。公式のページ「Usage」によれば、ReconstructMeはスキャンを開始した時点でのカメラ位置から、400mm(40cm)先の1m^3(1立方メートル)の範囲をスキャンすることができる様です(2012年7月現在)。
ReconstructMeの起動と操作
ReconstructMeをインストールしたディレクトリを開くといくつかの「Start…」から始まる「batファイル」が見つかると思います。このファイルを実行することでReconstructMeを開始します。「ReconstructMe.exe」実行ファイルを実行してもその後の処理で直終了してしまうので注意してください。名前を見て対応した環境のものを選びましょう。ここではReconstructMeの主な機能である「Scan」について解説します。「Highres」が付いているものと、そうでないものがありますが、文字通り高解像度スキャンか、そうでないかの違いです。高解像度である場合は当然のことながら、実行中の不可も大きいですし、出来あがるモデルの頂点は通常のものより遥かに多いです。
- Start ReconstructMe Record MSKinect.bat
- Start ReconstructMe Record OpenNI.bat
- Start ReconstructMe Replay.bat
- Start ReconstructMe Scan Highres MSKinect.bat
- Start ReconstructMe Scan Highres OpenNI.bat
- Start ReconstructMe Scan MSKinect.bat
- Start ReconstructMe Scan OpenNI.bat
起動するとコンソール画面が表示されます。「Do you agree to our licence term?(y/n)」と表示されているハズです。ライセンスに承諾しますか、という文面です。「y(承諾する)」を入力してエンターによって決定すると、ReconstructMeのメイン画面が表示されるようになります。「OpenGL」のバッファ周りにエラーが出てることが表示されていますが、原因が分かりません。とりあえず動作に支障が無い様なのでここでは放置しています。
カメラ画像が映されている方のウィンドウをアクティブウィンドウにして(ウィンドウをクリックすれば良い)「p」キーを入力するとスキャンを開始します。入力してスキャンを開始した時点でスキャン範囲が決定されるようです。良い感じなスキャン環境を用意するのが面倒だったので、目の前にぶら下がっているカメをスキャンしてみます。向こう側は窓(壁)なので反対の面がスキャンできないのですがご了承を。
Kinectを持ってぐりぐりと実空間内を動かしていきます。徐々にスキャンされた領域が増えていくのが分かるでしょう。位置合わせに失敗する場合や、スキャン空間内を出るとビープ音がなって、スキャン画面側の動きが停止します。これは再度適用範囲内に撮影範囲を戻してやったりトラッキングに成功すると再開されます。
実行中に再度「p」キーを入力すると、スキャンを一時停止して、停止するまでにスキャンしたデータをマウスによって見渡すことができます。左クリック+ドラッグで回転、右クリック+ドラッグまたはホイール操作で拡大縮小出来ます。図のように、右側からのスキャンが甘いことなどを確認することができます(ケーブルの都合上周りこめない)。再度「p」キーを入力することでスキャンを再開することができます。また「r」キーを入力するとスキャンしたデータを破棄して再度スキャンを再開します。
スキャンを完了したら「Esc」キーを入力してスキャン操作を終了します。「Save content?(y/n)」とスキャン結果を保存するかどうかを聞いてくるので必要に応じて「y」キーを入力して保存します。次いで保存ファイル名を決定するために「Filename(string)」と表示されます。ファイル名とフォーマットをここで決定します。フォーマットは「.stl」「.obj」「.3ds」「.ply.」に対応しているようです。ここでは対応ソフトが多い「.obj」を指定して「scan.obj」としました。このファイルは「ReconstructMe」を実行したディレクトリと同一の階層(場所)に保存されます。
出力には多少時間がかかります。全ての処理が完了したらエンターキーを入力してReconstructMeを終了します。対応する出力フォーマットは「FAQ」- ReconstructMe.netより確認することができます。バージョンによって変動する可能性はあると思います。ReconstructMeの詳細な使い方は、公式ページ「Usage」を確認する様にして下さい。
- scan.obj.tgz
- ここでスキャンしたデータです。
- セキュリティの都合上、tgz形式で圧縮されています。
- ReconstructMeの非商用利用条件に従い「CC,BY-NC-SA 3.0」で公開します。
他のソフトウェアへの取り込み
Metasequoia・メタセコイア
フリー版が公開されている和製3DCG編集ソフトとして有名な「メタセコイア・Metasequoia」に先の手順で出力した「scan.obj」ファイルを取りこんでみました。「選択した頂点のみ表示」にしています。ここではメタセコイアに関する解説は行いません。原点から大分離れた位置にオブジェクトが表示されていることが分かりますが、これはKinectから400mm離れた位置のデータとしてそのまま反映されているためだと思います。そのため、実際にゲームやアプリケーションに取り込もうと思ったらある程度は手動で調整する必要があります。もっともReconstructMeフリー版ではモデルデータの公開義務がある他、商用利用はできませんが。
- 「Metasequoia公式HP」http://www.metaseq.net/metaseq/
- このページの内容に関して、Metasequoiaに関連する一切の情報公開サイト・フォーラムなどで質問しないようにしてください。迷惑になることと思います。
その他のソフトウェアなど紹介
- Sculptirs
- http://oakcorp.net/zbrush/sculptris/index.php
- 粘土のように3DCGを扱うスカルプトツールの内、フリーで公開されていることで有名な「Sculptris・スカルプトリス」にObjファイルをインポートしようとしましたがメッシュの構成が対応していないと弾かれてしまいました。ReconstructMeの動画を見る限りではSculptrisかそれの上位互換であるZBrushというソフトで利用されている様に見受けられますが、もしかしたらきちんと裏面まで対応する様なスキャンをする必要がある、などの条件が付くのかもしれません。
- フリーでの利用に際し、登録が必要になります。
- Blender
- http://www.blender.org/
- http://blender.jp/
- フリーで公開されていて世界的にもシェアの多いBlenderですが、手持ちに実行環境が無いので試験していません。