2014年7月17日木曜日

SketchUp で Makehuman

SketchUp に STL が読み込めるという事で、 Makehuman で作成した3Dキャラクタモデルを取り込んでみました。

Makehuman は 3D キャラクタ作成のためのオープンソースツールです。
ダウンロードページから各OS (Windows, OSX, Linux) に対応したバージョンがダウンロードできます。
実行するとデフォルトの言語設定は英語ですが、アイコンメニューの下にいくつか並んでいるタブメニュー上段の [Settings] の 下段 [General] で右サイドに表示される [Language] で [Japanese] を選んでアプリケーションを再起動すると日本語に切り替える事ができます。

あとは [モデル] タブからいくつか分類された各種パラメータをスライダで設定するだけで、様々なモデルのボディ形状を生成できます。
[ジオメトリ]タブでは、[衣服][目][髪][歯]など、生成されたボディにフィットするパーツを追加・設定できます。さらにはポーズやアニメーションの為の骨格の設定やマテリアルの設定などもあり、かなり奥深いアプリケーションなので、全てはココでは試しきれていませんが、SketchUp に取り込んで、なるべく軽めのデータとするためには、[ジオメトリ] の [目] や [トポロジー] でポリゴン数の少ないものを選んでおく必要がありそうです。
 ↓
Makehuman で生成されたモデルデータは、[ファイル] メニューの [エクスポート] から、フォーマットを指定してエクスポートできます。
メッシュフォーマットのうち、SketchUp でインポート可能なのは Collada (dae) と Stereolithography (stl) です。とりあえずこのまま SketchUp で取込みできることを確認できました。
どう利用するかによりますが、デフォルトのままではメッシュの数が多すぎるかもしれませんね・・ SketchUp に取り込まれた時点でクアッドメッシュ(四角形メッシュ)のサーフェスは全て3角形になり、詳細部分では一部、小さすぎて面が貼られていない状況も見受けられました。
クアッドメッシュを最小限に抑えて、荒いメッシュのモデルでも、SketchUp 側でエッジのソフトニング/スムージング処理をすることにより、それなりのモデルに出来る事が確認できました・・










2014年7月6日日曜日

SketchUp でパラメトリックモデリング? [02]

今回は数学的なアルゴリズムによるパラメトリックなモデリングについて・・

利用したアプリケーションは 3D-XplorMath (Mac版) と MeshLab (Mac版) です・・
3D-XplorMath
3D-XplorMath の公式サイトはコチラ

サイトの説明にもあるとおり、 3DXM Consortium という 数学者の国際ボランティアグループが The National Science Foundation (DUE Award #0514781) の支援を受けて開発しているもので、Mac版実行アプリケーションの他に、Java環境版Javaアプレット版(WEB)などもあり、Java版の一部は日本語化されています。

このアプリケーションで扱う事ができる数学的なオブジェクトは多肢にわたり、以下の通り、[Category]メニューで分類されています。
平面曲線
空間曲線
曲面
共形写像
多面体
常微分方程式
波形
音波
フラクタル&カオス

これらのオブジェクトのうち、3次元系のオブジェクト(Surfaces, Polyhedra) は *.obj 形式データでエクスポートできます。まずは試しに [Category] メニューから [Surfaces] を選び、その右横に表示された [Surface]メニューからさらに [Monkey Saddle] を選んでみました。

ウィンドウに3次元曲面が描画され、マウスで回転、左下の [+] [-] で拡大縮小可能です。またここでは [Settings] メニューの [Set Parameters, Modify Object] でパラメトリックに曲面の形状をセッティング可能です。

各パラメータの初期値が記述されているので、変更して[OK]ボタンを押すと3次曲面がパラメトリックに更新されます。形状がきまったら、[File] メニューから [Save Surfaces As Single .obj File... ] を選ぶと ファイル名を指定して *.obj 形式で保存できます。

次に SketchUpでは *.obj 形式のデータは直接インポートできないので (エクスポートは可) コンバーターとして、*.obj を読み込んで *.stl を書き出せる MeshLab.app を利用します。
MeshLab.app

MeshLab はさまざまな3次元系データの Viewer/Converter として利用できるので、オススメです。

MeshLab の [File] メニュー [Import Mesh...] から *.obj ファイルをインポートすると形状はそのまま取り込まれましたことを確認できます。[File] メニュー [Export Mesh As...] でファイル形式として *.slt を指定して書き出し、 SketchUp に取込みできることが確認できました。

ところで、数学的なオブジェクトの可視化といえば、古くから ”究極の科学技術計算アプリケーション” として Mathematica が有名です。(最新版は Mathematica9)
Mathematica
さまざまなデータ形式でインポート・エクスポート出来る様なので、SketchUp に限らずいろいろな利用ができそうです。 (サポートされているデータ形式はコチラ)
ただし、それなりに数学的知識やプログラミングの知識が必要で、まあ、そもそもその知識があれば SketchUp 内蔵の Ruby でコーデングすれば良い訳で、少し試してみた範囲では気軽にパラメトリックなモデリングという訳にはいきませんでした・・;


2014年7月3日木曜日

SketchUp でパラメトリックモデリング? [01]

SketchUp には RhinocerosGrashopper の様な Graphical な Programming 環境はありませんが、STL データを読み込めるのでいくつか試してみました。


Autodesk123DファミリサンドボックスにあるWEBアプリで、パラメトリックなモデリングが可能です。
現状、基本的な Shape Type は Prism と Revolve の2種類ですが、それぞれのテンプレートおよびパラメータとモデルの構成要素である1つのセグメントに当てはめる基本形状の組み合わせはほぼ無限大(?) また、これらの要素・パラメータをランダムに生成するメニュー [Randomise] も用意されています。(正式リリース時には Shape Type もさらに増えるのかもしれません・・)

それぞれのパラメータになにか意味を持たせなくても、とりあえず生成された3D形状は、メニューの [Download Model] からダウンロードできます。

ファイル名・H×W×D寸法(mm)・垂直軸を決めて、ファイル形式は *.OBJ と *.STL が選べます。  *.STL を SketchUp に取り込んでモデリングに利用できるという訳です・・



SketchUp で RealTimePreView [03]

以前、SketchUp での RealTimePreView について、Render[IN]Maxwell FIRE について紹介しました。すでに3年が経過し、Render[IN] は Render[IN]2 ($160) となりレンダリングエンジンが高速化、パノラマビュー対応、ネオンライト、背景画像の取り込み対応などが出来る様になりました。(詳しくはコチラ)
Maxwell はその後 SketchUp 専用版 Maxwell for SketchUp (FREE/$99) もリリースされました。(詳しくはコチラ)

そんな状況の中、今回はまたもう一つ、新たにリリースされた RealTimePreView 可能なレンダラ、 Visualizer For SketchUp ($19.99) の紹介です。

"Your Virtual Camera In SketchUp"  とキャッチフレーズにあるとおり、SketchUp 専用の RealTimePreViewer です。Render[IN] や Maxwell と比較した場合、光源としては外光(太陽光)だけなので、外光の入らないインテリアや夜景的な表現はできませんが、逆に外光さえ反映できれば、SketchUp の日付・時間のスライダにリアルタイムに対応したプレビューが可能です。

SketchUp でのモデリングをしつつその場でプレゼンテーションする場合や、テクスチャーの張り替えをリアルタイムにプレビューする場合など、コスト的にも$19.99 なので一つの選択肢として試してみるのも良いのではないでしょうか・・・

Visualizer は独立したアプリケーションで、SketchUp には Visualizer を呼び出すためのプラグインがインストールされ、これとは別に ImaginationVisualizer.app がアプリケーションフォルダにインストールされます。

ImaginationVisualizer.app
インストール後 SketchUp を起動して[表示]メニュー[ツールパレット]から[Visualizer]をチェックするとパレットが表示されます。
このパレットをクリックすると別アプリとして ImaginationVisualizer.app が起動してデフォルトでは最前面にそのウィンドウが表示されます。
後の操作はSketchUp 側でモデルを移動・回転・拡大縮小、Visualizer 側では、通常のカメラの感覚で、ピントや露出を合わせたい位置をクリック、被写界深度を右下のスライダで設定、ときわめて直感的に操作できます。
画像のサイズは4種類 (240x180, 320x240, 640x480, 1024x768) と限定的ですが、リアルタイムにプレビューすることに特化したコストパフォーマンスは好感が持てます。

参考として、Render[IN]2のプレビュー、Maxwell FIRE のプレビューを同じモデルで比較してみました。 それぞれデモ版もあるので、画質の差だけでなく、プレビューのレスポンスを比較して使い分けてみるのもよいと思います・・

Render[IN]2
Maxwell For SketchUp