2021年12月4日土曜日

【Grasshopper_50】Grasshopperのデータをそのままレイトレースモードで表示する方法


Rhinoceros6以降、標準搭載されているレンダリング機能が強化されて、従来と比べ、よりフォトリアルな画像が作れるような環境が整ってきました。

有料のレンダラーと比べて質感が今一歩だったのですが、現在ではCyclesレンダラーによるレイトレーシング手法や物理ベースのマテリアルが搭載され、より簡単に、よりリアルな質感表現ができるようになっています。

今回は、ベーシックなやり方を紹介しますので、興味があれば改良してチャレンジしてみてください。ちなみに、Rhinoceros7を使ったやり方になります。

Step.1 環境を作る


・まずは環境作りからスタートします。

・新規でRhinocerosを立ち上げ、右端に「環境」タブを表示すると上の図のようになります。まだビューポートには何も表示されていませんが、初期設定ではStudioという環境の名前になっており、RhinoStudioというHDR画像が貼り付けられています。

Step.2 環境を変更する

Rhinocerosにはインストールした時点で、すでにいくつかの環境データが用意されています。今回は、オブジェクトへの映り込みとして青空を表現したいので、RhinoSkyを選択していきます。

・Step.1の図の右上の横三本線(赤い丸印で囲った部分)をクリックし、上から五番目にある「環境ライブラリからインポート」を選択します。

・別ウィンドが立ち上がるので、以下の場所を開きます。
C:\Users\ユーザー名\AppData\Roaming\McNeel\Rhinoceros\7.0\Localization\ja-JP\Render Content\Environments

・おそらく46個の環境データが格納されていますので、その中からRhino Sky.renvを選択しましょう。Rhino Sky.envの画像の上で右クリックし、「グローバル環境として設定」をクリックすると切り替えが確定します。


・上の図のように、右肩あたりに薄暗い青空の画像が出ます。

・この右肩にある画像の上で、マウスを右クリックしながらドラッグすると表示画面を回転させることができます。

※もし手持ちのHRD画像を使う場合は、背景画像の欄にあるRhinoSkyをクリックします。

すると上の図のように、HDR画像の読み込み欄、マッピング方法、色味の調整などの項目が出てきます。ここのやり方は別途取り上げる予定ですので、今回は画像の真上の「←」ボタンをクリックして元の画面に戻ります。

・HDR画像の位置を回転させる場合は角度を調整しましょう。

・オブジェクトへの映り込みや、CGの光源としてHDR画像を使う手法をIBL(Image Based Lighting)といい、CGでは広く使われているやり方です。若干暗いとか、明るいと感じたらその強度を変えることができます。これは後程、レンダリング画面を見ながら調整できますので、ここでは1.0のままで進めます。

Step.3 地平面の設定


・次に、「地平面」のタブを開きます。

・オンにチェックを入れます。もしデータとして地面となるオブジェクトがすでに作成済みの場合はこの工程はスルーしてください。

・地面に何かしらの色をつけたりテクスチャを張る場合は、エフェクト欄のマテリアルを使用にチェックを入れ、シェーダーを変更します。今回は参考なので薄い灰色にしました。

Step.4 太陽の設定


・次に「太陽」のタブを開きます。

・太陽オプションのオンにチェックを入れます。

・太陽の位置や向きを自在にコントロールしたい場合は手動コントロールにチェックを入れ、強度や方位角、高度を調整します。実際の緯度、経度によるデータを使う場合は手動コントロールのチェックは外し、時間と場所を選択します。

Step.5 オブジェクトの準備


・今回は簡単なやり方の紹介になりますので、Grasshopperを開いて球体を準備します。XY平面に接するよう、半径と同じ数値でZ方向に移動させます。

Step.6 マテリアルの設定の準備

次にマテリアルの設定に移ります。Rhinocerosに標準で備わっているシェーダーを使う方法もありますが、一般的なCGのシェーダー(V-rayとかCyclesなど)に比べてパラメーターの数が少なく、細かな調整が難しいので、別途、用意することにします。

Rhinoceros7のデフォルト環境ではインストールされていませんので、Rhino画面のツールタブを開き、下から4つめにあるパッケージマネージャーを開きます。下のような画面が出ます。


検索欄でrhinopbrmaterialを検索し、右下のインストールボタンを押します。インストールが終わったのちRhinoを再起動して再びパッケージマネージャを開くと、インストール済の欄にパッケージ名が表示されます。


Step.7 マテリアルの設定


・「マテリアル」のタブを開きます。

・+のアイコンをクリックして新規マテリアルの作成を選び、Rhino PBR-style material(Extended)を選択します。

・必要に応じてパラメーターの数値を入力していきます。
(Blenderなどで使われているシェーダーの数値等が参考になりますので、初めての方はgoogle等で検索して数値を入れてみてください。)


Step.8 Grasshopperのプラグインの導入

Grasshopperの形状データをそのままレイトレースモードで表示するには追加でプラグインのインストールが必要となります。

Step.6の手順と同じように、パッケージマネージャを開き、GhShaderNodesを検索、インストールします。下のようになったらOKです。


再起動後、Grasshopperを立ち上げると、新たにShaderというタブが追加されているはずです。


Custom PreviewのコンポーネントのM入力の上でマウスを右クリックし、Set one materialの中からStep.7で作成したマテリアルをセットします。

この状態で、Rhinoの表示モードをレイトレースに変更すると、下の図のようになります。

Step.9 レンダリングの設定

・次に、「レンダリング」のタブを開いてその他の設定をしていきます。

・画面右側の解像度と質の欄は、レンダリング画面による最終レンダリング時の解像度の設定ですので、必要なサイズを入力します。

・バックドロップは背景の表示の設定です。Step.2で読み込んだHDR画像をそのまま表示する場合は360°環境の箇所にチェックを入れます。ただし、画像がボヤけて表示されてしまいますので、今回はグラデーションカラーを設定し簡易的な青空にします。

ちなみに、HDR画像とはいわゆる各画素ごとの色情報が通常のJpegとかに比べて広い色調のものを指しますが、CGの環境で使われるHDR画像の表示方法としては、通常の画像(長方形)のほかに、360°つながったパノラマ画像やサイコロ展開図みたいに6枚の平面に広がったもの、地球儀の展開図みたいに湾曲した平面画像など各種存在します。Rhinoskyで使われている画像はいわゆる通常の画像と同じ形式となるので、もしこの画像を背景として表示する場合は、「環境」タブの中にある投影方法を「平面」に設定します。
※各種の形式に合わせて投影方法を選択してください。

・オブジェクトへの映り込みを表現する場合は「反射にカスタム環境を使用」にチェックを入れ、Rhino Sky環境を選択します。

・照明は同じくRhino Sky環境のHDR画像を光源として使いますので、スカイライトにカスタム環境を使用にチェックを入れ、Rhino Sky環境を選択します。

・ガラス素材の反射や屈折の計算回数、サンプリング数等は一番下にあるRhinoレンダーの高度な設定の個所をいじります。ここはレンダリングの結果を見ながら、お好みで調整してみてください。

・以上の内容を設定すると、青空や周囲のテクステャがばっちり移りこんだ画像が得られます。


・各種設定が終わったら、「レンダリング」タブの右下にあるレンダリングボタンをクリックします。
レンダリングウィンドウが開き、静止画像がレンダリングされます。


・レンダリングの計算リソースをCPUもしくはGPUに切り替える場合はオプション設定画面の中にあるCyclesをクリックすると出てきますので、こちらで設定を行います。


以上、簡単な設定方法の紹介でした。

0 件のコメント:

コメントを投稿

【Grasshopper_98】SporphとSurface Morphingの特徴、違いなどについて

今年もまたGWに突入しましたね。コロナ明けに円安、インバウンド特需のおかげで東京から郊外に出かけると例年以上に混雑に巻き込まれそうなので、昨年と同様、連休中は家に籠ってブログを更新します。今回のテーマは、Surface MorphingとSporphの違いについてまとめてみました。