2014年8月9日土曜日

SketchUp でシミュレーション [02] Velux Daylight Visualizer

日本ではトップライトのメーカーとして知られる VELUX が 2008 年から公開している室内の昼光による光環境を解析する、Daylight Visualizer というアプリケーションですが、2009 年末に SketchUp データをインポートできるようになり、その後 2012 年に MAC 版もリリースされました。
(開発をしたのは、あの KeyShot をリリースしている LUXION です。)

最新バージョン 2.6.7 はコチラのページで名前とメールアドレス等を登録してダウンロードできます。英語サイトでダウンロードした場合でも、[編集]メニューの[オプション]で言語選択で日本語化可能です。(日本語ページはコチラ

アプリケーション単体でも、空間を構成する床・壁・屋根・開口部(VELUXの製品)・家具配置など可能です。単純な構成の場合やエスキース段階などは「新規作成」からスタートします。
「インポート」可能なデータ形式は下記の4種類。
SketchUp の場合は Ver.8 までのデータをインポート可能です。

・・・ということで試してみました。
テスト用に簡易なモデルを作ってみようとも考えたのですが、どこまで可能か試す為に、すでにかなり詳細部分まで作り込んでモデリングしてあったデータ(7.6MB程度)をVer.8形式で書き出してインポートしてみたところ、すんなり読み込めてしまいました。
 インポート後は上部のタブを左から順に進めてゆきます。右下にインストラクションもあるので、初めてでもスムーズに作業を進める事が出来ました。まずは[尺度]タブでは、[モデルの倍率]と[単位]を設定します。VELUXのロゴの下にあるアイコンの一番右の[メジャー]ツールで入力したモデルを計測して、適宜設定します。
 次の[面の設定]タブでは、テクスチャを設定します。デイライトによる解析なので、少なくとも開口部のガラス部分だけでもガラスに設定しないと、多分真っ暗になってしまいます。SketchUp 側でまとめて半透明のガラステクスチャを指定しておくと、左下の[部材]リスト欄にその名前がリストアップされるので、選択後[材質]を選んで、[面の設定]をします。[編集]ボタンからテクスチャ画像を取り込んで反射率など細かな設定も可能となっていましたが、とりあえず今回は全てデフォルトで用意されていたなかから割り当ててみました。
 3番目の[立地]タブでは、いわゆるジオロケーション情報を入力します。GoogleMap などで敷地の住所などから場所を特定するとかなり正確な緯度と経度の情報が得られるので、参照して入力します。北の方角は配置図を参照して角度を計り入力しました。
 あとは4番目の[カメラ]タブで、解析するアングルを設定します。各画面の左上のツールアイコンをアクティブにするとパン・拡大・縮小などができます。下段の[出力ビューの設定]にある[カメラビュー]をアクティブにすると、各画面上に[カメラ]のアイコンが表示され、直接アングルを設定しやすくなります。焦点距離でとりあえず28mmを選び画角を広角にするなど、結果が右上にリアルタイムに表示され、わかりやすいインターフェイスとなっています。
最後の[出力]タブでは、[静止画][年間推移][アニメーション]という3つの選択肢があります。今回はこのなかからとりあえず[静止画]を選択して、上記の通りの設定としてみました。全てを確認してここで[出力]をクリックすると解析(レンダリング)がポップアップしたウィンドウで始まります。画像サイズを大きくしたり画質を高くするほどレンダリング時間がかかります。
解析中であっても、下部にある[着色像(明るさ)]または[ISO(分布)]をチェックすることが可能です。それぞれの画像で、さらに[グリッド表示]や[露光調整]も可能となっています。
レンダリングが終了したら、これらの設定をして、[ファイル]メニュー[Save Image(s)]
 から、データ形式を選択して保存します。
画像を保存する前にこのウィンドウ閉じてしまうと、また解析(レンダリング)し直しとなってしまうのでご注意を・・

SketchUp で簡単に作ったモデルで、すぐに解析できるのこの手軽さは、まさに SketchUp Effect !!

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 








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 と同じ様な、航空写真を張り込んだモデルとすることも可能です。
地理院地図の「地図・空中写真」タブ「写真」ー「最新」をチェック