オブジェクトを着色する(3) パースのレンダリングに挑戦

 オブジェクトに着色すると、やはりレンダリングしたものも見たくなるので、いまの段階で分かる範囲でRenderワークベンチの使い方を確認する。

 FreeCAD本体にはレンダリング機能はないので、Renderワークベンチで外部のレンダリングソフトと連携することにより、FreeCADで直接レンダリングすることができるようになる。
 エクスポートして外部のレンダリングソフトに読み込んだ方が詳細な設定ができるが、モデルを変更した時に、また設定から繰り返さなければいけないとしたら、あまりやりたくない作業である。



 Renderワークベンチは、レイトレーシングワークベンチに代わる新しいワークベンチで、対応できるレンダリングエンジンの種類も増えている。これまではPov-RayとLuxRenderだけだったがBlenderのCyclesほか4種類が追加された。
 Blenderはネット上にも情報が多いのでBlenderCyclesを試してみたが、途中でエラーになりレンダリングできなかったので、LuxCoreRenderで挑戦することにした。

2024/04/19追記
レンダリングエンジンAppleseedについても使用方法が分かったので、別の記事「Tips集  RenderワークベンチでレンダリングエンジンAppleseedを使う」にまとめてある。


Renderワークベンチで、LuxCoreRenderを使うまでの設定は次の通りである。

①LuxCoreRenderをパソコンにインストールする。
・LuxCoreRenderのホームページのダウンロードには何種類かのダウンロードファイルがあるが、中段あたりのスタンドアローンをダウンロードする。
・ダウンロードしたzipファイルを解凍し、できたフォルダを適当な場所に移動する。
(インストールは不要で、解凍したフォルダ内の実行ファイルで起動できる。フォルダ名を変更してもよい。)
・FreeCADにLuxrenderの場所をリンクする必要があるので、場所を覚えておく。

②アドオンマネージャーでRenderワークベンチをインストールする。
 BIMワークベンチをインストールした時と同じ方法で、Renderワークベンチをインストールする。

③ワークベンチをRenderに変更して、初期設定する。
・編集メニューの設定をクリックすると、設定ウインドウにRenderが追加されている。
(ワークベンチをRenderに変更しないと、ここにRenderは表示されない。)
・Render Preferenceの中に、LuxCore command(cli) Path と UI pathがある。
右端のリンクボタンをクリックして、LuxCoreRenderのフォルダ内の、Luxcoreui.exeを選択し開くをクリックすると、リンクが表示される。
(UI Pathだけ設定すれば動くようであるが、設定がわからないので両方に同じものをリンクしておく。)

これで、RenderワークベンチでLuxrenderを呼出すことができるようになる。
他のレンダリングソフトでも同様の操作でリンクできるが、どこかフォルダの設定が違うのかエラーになって止まってしまう。


Renderワークベンチの技術ドキュメントによれば、レンダリングエンジンの種類に関係なく、レンダリングの手順は次の4ステップのプロセスになる。

① のプルダウンメニューの中にある)レンダリングプロジェクトを作成する
 レンダラーに対応するツールバーのボタンを押して、テンプレートを選択する。
 テンプレートは次の3種類から選択する。
・Flat: 詳細不明:エラーになることがある
・Standard: オブジェクトのみ表示、ライティングが必要(ないと真っ暗)
・Sunlight: 太陽光と背景色あり。ライティングなしでも表示可能

② オブジェクトのビューをレンダリングプロジェクトに追加する

 レンダリングするオブジェクトとプロジェクトの両方を選択し、[ビューの追加]ボタンを押すと、オブジェクトがプロジェクトの下層に登録される。
 レンダリングプロジェクトがひとつしかないときは、プロジェクトは選択しなくても、自動的にプロジェクトの下層にリンクができるようである。
 
シーンにライトを追加できる。プロジェクトでSunlightを選択した場合は、ライトなしでもレンダリングすることができる。
 ・ポイントライトは点光源で、全方向に均一に放射する。(スポットライトはない)
 ・エリアライトは面光源で、法線方向に放射する。
 ・サンスカイライトは、太陽光と環境光。太陽の方向をXYZ軸の比率で変更できる。
 ・イメージライト

レンダリングでライトを有効にするためには、ライトとプロジェクトの両方を選択し、[ビューの追加]ボタンを押して、プロジェクトに追加する。

③視点を設定する
 透視投影モードに切り替え、3Dビューで適当な位置に移動する。

 透視投影モードに切り替える方法は、ナビゲーションキューブの右下の立方体をクリックして透視投影表示(V,P)を選択する。
(メニュー>表示>透視投影表示(V,P)でも選択できる。)

透視投影モード(パースペクティブモード)にしないと、画面の表示とレンダリングウインドウの表示が異なる。レンダリングビューに表示されないこともあるので、必ず透視投影モードに切り替える。

カメラを追加できる。
 FreeCADでは、特にカメラを追加しなくても3Dビューの表示のままでレンダリングすることができる。
(3Dビューを表示するためのデフォルトのUIカメラが使用される。)

カメラの設定を細かく調整したい場合には、カメラツールをクリックすると3Dビューの現在の視点に基づいてカメラオブジェクトが作成される。

 カメラの設定と視線方向、焦点距離(画角)の調整、カメラビューへの切替え方法は、「Tips集 Renderワークベンチのカメラツールを使う」にまとめている。

作成したカメラオブジェクトをプロジェクトに適用するには、カメラとプロジェクトを選択し、[ビューの追加]ボタンを押してプロジェクトに登録する。

レンダリングする
 プロジェクトを選択し、ツールバーの[レンダリング]ボタンを押す。

LuxCoreRenderのレンダリングウインドウが開いて、レンダリングを開始する。ウインドウが開くまでに少し時間が掛かることがあるので、すぐに開かなくても待つ。


ここからは実際のモデルでレンダリングの操作を練習する。
モデリング練習7で作成した練習07住宅2合成.FCStdを使用する。

練習07住宅2合成.FCStdを開いて、すべてのオブジェクトを表示にする。
表示を透視投影モードに変更し、適当なアングル(中央の800x600ピクセルに建物を入れる)に移動する。
(上のプロセスの③を先に設定している。)


ワークベンチをRenderワークベンチに移動する。

レンダリングプロジェクトでLuxCoreプロジェクトをクリックし、sunlight.cfgを選択すると、LuxcoreProjectオブジェクトができる。

Shift+Eキーを押して、作業ウインドウで範囲要素選択で建物を選択する。
モデルタブで、すべての建物のオブジェクトを選択していることを確認し、下図のイメージを除外する。(Ctrlを押しながらオブジェクトをクリックする。)
このモデルでは、下書きと下図イメージはガイドグループに入っているので、これをまとめて除外する。

ビューをプロジェクトに追加アイコンをクリックすると、LuxcoreProjectに矢印マークがつくので、展開すると下層にオブジェクトへのリンクができている。










ここで、LuxcoreProjectを選択し、レンダリングアイコンをクリックして、少し待つとレンダリングウインドウが開いて、レンダリングを開始する。








レンダリングウインドウは最初はざらついているが、すこしずつきれいに変わっていく。










LuxCoreのウインドウ上部にメニューバーがある。
Renderingメニューの中に、Pause、Cancel、Restartがあるので、中止再開ができる。
Cancelはレンダリングを中止してLuxCoreを終了するので、終了するとき以外は押してはいけない。

LuxRenderは、計算を自動で止めないので画面で見て適当と判断した時点で、Pauseをクリックして計算を中断する。長すぎると画面にノイズが出るので、長ければよいというものでもない。

Save renderingで、レンダリング結果を保存できるが、保存形式がrsmしかない。

レンダリングが終了または、Quit(ESC)を押すと、FreeCADのレンダリング結果のウインドウに戻る。

画像を右クリックすると、Saveのメニューがでるので、クリップボードに保存する。


他の設定としては、Engineメニューで、レンダリング精度を0から9まで設定できる。既定値は3であるが数字が大きい程、詳細になるが時間もかかる。試したところでは建築の外観パースに使えそうなのは3または9なので、目地などの詳細な表示が必要な時には9に変更する。

レンダリングモードの数値を変更すると、自動的に最初に戻って計算を始める。







モデリングのままで、色、マテリアルの設定をしないでレンダリングしたのが下の図である。
GLに面を作成していないので、地面の影ができていない。
背景に地面と空の色が自動的に入っている。


地面の表現は、レンダリングプロジェクトのGround Planeプロパティをtrueにすれば、水平面を自動的に作成することができる。
敷地形状に合わせて勾配なども付けることを考えると、面を作図した方がよい。

着色は今回は、表示プロパティを使って各部に色を割り付けることを試してみる。
同じ種類のオブジェクトをまとめて選択し、右クリックで表示をだして、表示プロパティを開く。
表示プロパティのマテリアルでテクスチャーを選択する。

1階の目地の壁はコンクリートにしたいが、テクスチャーがないので、反射の少ない石を
選択し、シェイプの色をグレーに変更する。

1階の目地無しの壁は、白い塗装とするために石膏(反射0)とし、シェイプの色を白に変更する。

鉄骨の柱梁は、白っぽい表示でよいので、デフォルトのままで変更しない。

2階妻側の大きい壁は、木質系の壁にするが、これもテクスチャーがないので、プラスチックにして、シェイプの色を褐色に変更する。

建具は、壁ごとに下層の窓をまとめて選択し、表示プロパティのマテリアルを銀にする。シェイプの色は、RGBのどれかの数値を1だけ変更する。
シェイプの色を変更しないでOKすると、ガラス面が透明でなくなるが、色の数値を変えると透明に戻る。

LuxCoreプロジェクトを選択し、レンダリングをクリックしてレンダリングする。
Engineメニューで精度を9に変更する。



同様にして練習07住宅1.FCStdも作成してみた。
窓とルーバー、屋上の壁に表示プロパティで色を付けただけなので、モデルさえあれば誰でもそんなに苦労しなくてもできる。

Materialプロパティとマテリアルオブジェクトを使ったレンダリングは次回に検討する。

コメント

このブログの人気の投稿

はじめに FreeCADでBIMはできるのか(2022/8/8追記)