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 には Rhinoceros の Grashopper の様な 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 








2014年4月11日金曜日

SketchUp で 地理院地図3D

「日本全国、3Dプリンタで立体模型に」(国土地理院:2014/03/19発表)
・・ということで、地理院地図からダウンロード可能となった3D地形データを SketchUp に取込んでみました。

そもそも SketchUp は GoogleMap/Earth との連携で航空写真画像をテクスチャとして貼付けた地形を3Dメッシュサーフェスとして取込む事が可能ですが、その仕様上、1回の操作で取込可能な範囲は約2km四方です。より広範囲のモデルデータが必要となる場合は複数回範囲を変えて取込みを繰り返す必要がありましたが、今回の公開で、広範囲の場合などは、「地理院地図3D」を利用するという使い分けができそうです。
(※地図の縮尺でいうと、「地理院地図3D」は1/25000〜さらに広範囲となる縮尺、「GoogleMap/Earth」は1/2500レベルという感覚でしょうか・・。)

「地理院地図3D」にアクセスすると、説明があり、ページ右上の「3Dで見る」というボタンが入口です。(ブラウザの設定で WebGL を有効にする必要あり)

表示されたMAPを拡大・縮小・移動して、取込みたいエリアを選びます。正方形にクリッピングされたエリアを中心に縮尺に応じたメッシュ構成で3D化される様なので、範囲が決まったところで画面下部にある「この地図を3Dで表示」ボタンをクリックします。

ポップアップしたウィンドウで3D化された地形データが表示され、拡大・縮小・回転が可能です。画面下部には、表示されているモデルにアクセスする為の「URLを表示」するボタンと(上のモデルを表示するにはココをクリック)「3Dデータをダウンロードする」ボタンがあります。

ダウンロード可能な3Dデータは3種類用意されています。それぞれ説明があり SketchUp に取込み可能なのは *.STL ですが、SketchUp 上でモデルに地図の画像をテクスチャとして貼りたい場合は、 *.STL だけではなく、VRML か WebGL もダウンロードしておきます。地形データに対応した範囲の地図のテクスチャーデータ (texture.png) が入っています。

[ファイル] メニュー [インポート] で [形式] は[STereo Lithography Files (*.stl)] を選び、SketchUpに ダウンロードした dem.stl を取込みます。(取込み時の [オプション] で、[Merge coplaner faces] にチェックを入れた場合は、同一平面がマージされます。)

取込み後は、高さ方向を示す座標軸が SketchUp と違っている様なので全体を原点中心として回転させます。マージしなかった場合は、地表面だけではなく、厚みを構成する他の面(側面4面と底面)も全て3角形に分割されてしまっていたりするので、ここでは側面は一旦削除してしまい、あとで地表面にテクスチャをマッピングする為のガイドとなる底面を1枚の面となるように、適宜修正します。

取込んだデータはそのままではメッシュ毎に3角形 (またはマージされた面毎) に分割された状態なので、地図のテクスチャを貼る為には全体として1枚のフェースとなるようにする必要があります。

ココで役立つ PlugIn が Fredo6:HoverSelect です。(要 LibFredo6 ライブラリ)
対象となるジオメトリ[エッジと面]を全て選択した状態で HoverSelect コマンドを実行するだけで、選択したジオメトリのうち [エッジ] のみを選択した状態にしてくれます。
3角形 (またはマージされた面) を構成するエッジのみを選択して、マウスは[エッジ]の上で、コンテクストメニュー(右クリック)から [エッジをソフトニング/スムージング]を選び、地形の状況をみながら、法線間の角度をスライダでエッジのラインが全てスムージングされるように調整します。
これで地表面は1枚の面となったので、テクスチャを張り込み可能となりました。テクスチャの位置合わせをしなくて済むように、地表面の垂直方向、真上に1枚底面をコピーして表裏を反転、そこに先にダウンロードした地図データ (texture.png) を取込み、テクスチャサイズを面の対角線いっぱいに貼付けます。張り込んだ後は、さらに、テクスチャ面を右クリックして [テクスチャ] のコンテクストメニューで、[投影]にチェックを入れておく事を忘れずに・・(地表面に垂直投影するためです。)
この状態で、あとは[ペイント]ツールで、テクスチャーを[Command]キーを押しながらコピーして、地表面にペーストして完成です。

3Dだけではなく、「地理院地図」も進化してきており、全国はカバーされていませんが場所によってはGoogleMap/Earth より新しい/高解像度な航空写真もあるので、今回のモデルにテクスチャとして張り込んだ地図データと同じ範囲の写真データをスクリーンショットを組み合わせて作る事で、GoogleMap/Earth と同じ様な、航空写真を張り込んだモデルとすることも可能です。
地理院地図の「地図・空中写真」タブ「写真」ー「最新」をチェック







2012年1月8日日曜日

SketchUp でシミュレーション [01] SunTools

建築設計の上で有効な環境系シミュレーション
現状 SketchUp で利用可能な Plugin の紹介です・・

SunTools v.2.4
by Guedi Capeluto (c)2008-9

上記リンクで表示されるページで、メールアドレスを登録し、Agreement に同意すると、ダウンロードページと、圧縮ファイルを解凍するためのパスワードが送付されてきます。


ToolBar 左から・・
SunPATH : 太陽の軌跡のビジュアライズ
SunPOS : 日付と時刻を指定した太陽の位置のプロット
SunVIEW : 太陽の位置から見たアクソメ鳥瞰VIEWの生成
SunPENETRATION  : 指定した測定点からのVIEWで太陽の軌跡を観測
SkyVIEW : 天空図・天空率の表示


GoogleMapからジオロケーション情報を取込み、このToolを使うことで、計画建物を中心としたシミュレーションが可能になります。
オブジェクトとして生成される太陽の軌跡を、詳細モデルに重ね合わせると、たとえば、インテリアからみて、季節によって、太陽がどの方向に、何時から何時のあいだ見えるのか?
計画建物だけでなく、周辺環境もモデリングすれば、実環境での日差しの有無を確認可能です。

このツールで生成可能な天空図は、天球を指定したセグメント数(デフォルトは48)で分割し、その最小セグメント毎に測定点から空が見えるかどうかを判定しているものなので、建築基準法で天空率による緩和を受ける場合に求められる天空図とすることはできませんが、天空図とともに天空率も数値で示されるので、ある程度の目安としての利用はできそうです。

(SunTools Manualより抜粋)

SketchUpをモデラとした環境系シミュレーションはほかにもいろいろあるので、引き続き取り上げてゆきたいと思っています。

2011年11月4日金曜日

Maxwell for SketchUp v.2.6.0

先日 (2011/11/02) Maxwell Render のアップデート版 (ver.2.6.0) がリリースされ, Maxwell Render Suite としてネーミングもリニューアルされました.
今回のリリースで新たに, いままでの構成とは別に, 新たに Google SketchUp 専用のスタンドアロン版 Maxwell for Google SketchUp (FREE/LISENCED) が同時にリリースされています.

Maxwell for Google SketchUp FREE 版のDLはコチラ.
(LICENCE 版は $95 です.)

FREE 版は出力出来る画像サイズが 800pixel, LICENCE 版は 1920pixel とどちらもフルセットの Suite に対していくつかの制限がかかっています。(詳しくは FAQ 参照)

いままで demo 版ではレンダリング結果に mw というウォーターマークが入ってしまっていましたが FREE 版にはありません. 解像度が 800pixel までですが, とりあえずWEB用やPCでのプレゼンテーションには充分かもしれません・・

Maxwell for Google SketchUp は SketchUp 内部で動く Plugin スタンドアロン・レンダラです.  また, 起動するには Microsoft Silverlight が必要なので最新版を事前にインストールしておくとよいでしょう. (未インストールだと起動時にインストールするようにダイアログに表示されます.)


インストールはダウンロードしたファイルを解凍し, plugin フォルダ内にある maxwell フォルダと, maxwell.rb ファイル (ruby script) を, mac の場合, plugin をインストールするいつものフォルダ (*1) にコピーするだけです.
(*1) [Macintosh HD]/ライブラリ/Appliction support/Google SketchUp 8/SketcUp/plugins/

いろいろ制限はあるものの, SketchUp な表現が FIRE ボタンであっというまに Maxwell な表現に!


この画像は SketchUp8 FREE 版+ Maxwell for Google SketchUp FREE 版で実際にレンダリング/保存した画像です. texture は全てSketchUp附属のデフォルトのものですが, 編集はできないものの FREE で公開されている MXM Gallery のものすごく豊富なマテリアルを利用出来る事もあり, この SketchUp Effect はさらにすごいことになりそうな予感デス・・