2013/01/04

NextEngineを使ってみよう その2

明けましておめでとうございます。
今年もどうぞよろしくお願いします。

2013年最初は、NextEngineの事例紹介を。

巻貝をスキャンしてみました。
とはいえ、本当は昨年のはじめには公開しようと思っていたのですが、、、
ハードディスクと一緒にデータが消え去ったのでもう1度再スキャンして作り直し。。。

さて、今回はテクスチャ(色味)をそのまま最終的にも利用しようと思いますので、サイドにも照明を設置してなるべく影ができないようにしてスキャンを開始。

置きやすい方向で8ショット回転テーブル使ってスキャンして、上下の撮れなかったところは
貝を横に倒して、ひだ、が撮りきれなかったので追加でもう1回転くらいスキャンしたので、全部で3パターンスキャンしました。
これをRapidformに点群(テクスチャはカラーに変換)で読み込みます。

テクスチャのままでも読み込めますが、処理が遅いので1度頂点カラーとして変換します。
読み込みオプションで点群のみをONにすると、テクスチャをカラーに変換しながら読み込むオプションを選択することができます。(XOR3 SP1、XOS3 SP1、RapidWorks 3.5以降)
貝が3方向に重なってますが、これは後で位置を合わせます。
とりあえず、回転台や押さえが一緒にスキャンされているので、これを削除すると
すっきり。
あとはこの3つの方向をスキャンツール>位置合わせで揃えると、
貝!
綺麗に位置が合ってますね。
特徴形状がたくさんあるので、特に苦労もなく位置が合いました。
で、これをスキャンツール>合成(ボリューム合成)して、
エラーのあるポリゴンや細かい穴を埋めて(メッシュツール>不正データ修正)、
さらにポリゴンを綺麗な三角形に揃えるために最適化(メッシュツール>グローバルリメッシュ)
色味の表示を隠すとこんな感じに。
グローバルリメッシュを掛けているので、三角形が均一で綺麗です。
これなら、そのまま3Dプリンタで出力もできます。
今回は、テクスチャをもう1度頂点カラーからテクスチャへ変換して、テクスチャ付きOBJで出力しました。
頂点カラーからテクスチャへ変換するときは、メッシュの密度が粗いと画像も荒くなってしまうので注意が必要です。
データが重くて間引きたい場合は、テクスチャへ変換してから間引きましょう。

出力したOBJファイルとテクスチャをフリーの3D CGソフトウェア Blender で読み込んで、ライトと背景を足してレンダリングしてみました。
Blenderは以前にもNextEngineを使ってみよう その1の3でご紹介しましたね。

Blenderではメッシュしか読み込めないようなので、今回はメッシュにしましたが、自動曲面作成ツールで曲面化(ソリッド)したほうが、CGでは扱い易いかもしれませんね。

動画
スキャンしたデータの処理のフローを動画でも見ることが出来ます。
データ容量の都合でリアルタイムではキャプチャできなかったので、1秒1フレームという速さでキャプチャされていますので、コマ送りやスローでお楽しみください。
  1. データの読み込み、不要部の削除と位置合わせ
  2. 合成、穴埋めと最適化
  3. 完成したメッシュの出力
  4. 完成したメッシュから曲面(ソリッド)作成