オブジェクトを光で照らすライティングについて学びます。HDRIという画像を用いたライティング、エリアライト、ノイズを軽減する方法等について扱います。
対応ソフト:MAYA2023
<オブジェクトの準備>
まず、背景となる床面と壁面、サンプルオブジェクトとして球を配置します。
・Shiftキー(⇧キー)+右クリックを長押し、 [プレーン] を選択、作成。
・チャネルボックスでpPlane1に スケールXYZ (90, 1, 60)を入力。
・pPlane1を選択、commandキー (win:Ctrlキー) + dキー を押して複製する。
・チャネルボックスでpPlane2に 移動XYZ (0 , 30, -30)、回転X 90 を入力。
・Shiftキー(⇧キー)+右クリックを長押し、 [球] を選択、作成。
・チャネルボックスでpSphere1に 移動Y 4、スケールXYZ (4, 4, 4)を入力。
・3キーを押してpSphere1をスムーズメッシュ表示にする。

<マテリアルの準備>
質感となるマテリアルを割り当てます。
・ステータスライン[ハイパーシェードウィンドウ] の表示ボタンをクリック。

球(pSphere1)のマテリアルを作成、割り当てます。
・ハイパーシェード [作成] の [▼Arnold] > [▶Shader] > [aiStandardSurface] をクリック。

・[ブラウザ] で [aiStandardSurface1] が選択されているか確認

・[プロパティエディタ] の [▼Base] > [Weight] が 1 であることを確認❶。
「▼Base」の「Weight」は基本的な色の強さとなります。値が小さくなると暗くなります。
・[プロパティエディタ] の [▼Base] > [Color] 横の白の四角をクリックし、色を設定する❷。
・HSVのスライダーを動かし、ややベージュ色にする。


・球(pSphere1)を選択。
・ハイパーシェード [ブラウザ] の [aiStandardSurface1] 上で、右クリック長押し > [マテリアルを選択項目に割り当て] を選択。

床面、壁面のマテリアルを作成、割り当てます。
・ハイパーシェード [作成] の [▼Arnold] > [▶Shader] > [aiStandardSurface] をクリック。
・[ブラウザ] で [aiStandardSurface2] が選択されているか確認。
・プロパティエディタの [▼Base] > [Color] の横のスライダーを左にドラッグ。真中に移動する❶。
「Color」のスライダーで明るさ(明度)を調整できます。少し暗めのグレーになります。
・[▼Specular] > [Roughness] の横のスライダーを右にドラッグ。右端に移動する❷。
「Roughness」の値が1になると、反射(映り込み)がボケて拡散し、見えなくなります。広い範囲を占めるオブジェクトの反射をなくすと、レンダリング時間が短くなります。

・床面と壁面のプレーン(pPlane1、pPlane2)を選択。
・ハイパーシェード [ブラウザ] の [aiStandardSurface2]上で、右クリック長押し > [マテリアルを選択項目に割り当て] を選択。
・[ファイル] > [シーンを保存]を選択する。
・ファイル名を「lightTest1」として保存する。
【Skydome Lightsの設定】
周囲を360度取り囲むライトであるSkydome Lightsを作成、設定します。HDRIという高品質な360度画像を張り付けることで、画像の色をライトの光として扱うことができます(イメージベースドライティングと言います)。
<HDRI画像の取得>
HDRI画像は、著作権フリーの素材をWEB上で入手することが可能です。「HDRI Free」等のワードで検索して、hdr形式のデータを入手して下さい(ライセンス形態に注意。必ず各サイトの利用規約を確認した上でご利用下さい)。テキストでは「Poly Haven」というWEBサイトの「studio_small_08」という素材を使用しています。

・[Arnold] > [Lights] > [Skydome Lights] を選択し、作成する。
・ワークスペース右側、[アトリビュートエディタ] タブをクリックする❶。
・Color横、チェッカーのボタンを押す❷。
チェッカーのボタンを押すことで画像を貼ることができます。こうして割り当てる画像のことを「テクスチャ」と言います。

・[レンダーノードの作成]ウィンドウで、[ファイル]をクリック。

・アトリビュートエディタ [イメージの名前] 横のフォルダボタンをクリック。

・ダウンロードしたhdr形式のデータを開く。
・[カラースペース] が [Raw] であることを確認(異なっていた場合修正)。

・perspビューでカメラを動かし、aiSkyDomeLight1 に360度画像が張られたのを確認する。
・aiSkyDomeLight1 を選択し、球に斜めから光があたるようチャネルボックスで 回転Y に 90 を入れる(張り付けたHDRI画像に応じて値を変える)。

・perspビューの真中上、[解像度ゲート] ボタンをクリックして、レンダリング範囲を表示する。
・カメラを動かし、球が画面の真中に配置されるよう調整する。

【レンダリングする】
・perspビューをクリックしてアクティブにする。
・ステータス ライン [現在のフレームをレンダー] ボタンをクリックする。


・Arnold RenderView右下の[Store a Snapshot]ボタンを押して比較用に画像を仮保存する。

・画像が収まるようにスナップショット一覧の表示領域や、ウィンドウの大きさを調整する。
今後は随時、スナップショット一覧で前の画像とレンダリング結果を比較して下さい。

【ノイズを減らす】
レンダリング画像のノイズが大きいため、ノイズを減らすようライトのsamplesの値を大きくします。
・aiSkyDomeLight1 を選択し、アトリビュートエディタの [Samples] に 3 を入力する。

・Arnold RenderView右上の[Refresh Render] ボタンをクリックしてレンダリングする。


ライトのSamplesの値を大きくすることで、直接光(ライトからオブジェクトに直接当たる光)から生じるノイズを軽減できます。aiSkyDomeLightのSamplesの影響は大きいため、aiSkyDomeLightを作成した場合まずSamplesを調整するのが良いです。ただし、値が大きくなるほどレンダリング時間がかかるため、適切な数値を設定しましょう。
・Arnold RenderView右下の[Store a Snapshot]ボタンを押して比較用に画像を仮保存する。

【レンダー設定からのsamples設定】
レンダー設定からは間接光のsamplesを設定し、ノイズを減らすことができます。
・ステータスラインの [レンダー設定ウィンドウの表示] ボタンをクリックする。

・Arnold Renderタブを選択❶。
▼Samplingでレンダリングの精度をコントロールします。値が大きいほどノイズが少なくなります。
・Diffuseを2から3にする❷。
基本的な物体色部分の間接光(一度オブジェクトに当たって跳ね返った光)のノイズが少なくなります。数字は大きくしすぎない。レンダリングに時間がかかります。

Arnold RenderViewに戻り、レンダリングして画像を確認します。
・[Refresh Render] ボタンを選択する。レンダリングされる。


・[Store a Snapshot] ボタンを押す。画像が仮保存される。

【Area Lightの追加】
aiSkyDomeLightを少し暗くして、面の光源であるArea Lightを追加します。
・aiSkyDomeLight1 を選択し、アトリビュートエディタの [Intensity] に 0.75 を入力する。
「Intensity」はライトの強さになります。値を小さくすることでライトが暗くなります。

・[Arnold] > [Lights] > [Area Lights] を選択。

・チャネルボックスで、スケールXYZ に(3, 2, 1)を入力。
・wキーを押し、移動ツールで左斜め上に移動する。

・Area Lightを選択、perspビューのメニューで [パネル] > [選択項目から見る] を選択。

perspビューがライトからの視点に変わります。ライトはカメラ操作と同様に動かすことができます。
・optionキー(win:Altキー)+マウスドラッグ で、球を向くように回転/移動させる。

・aiAreaLight1 のビューのメニューで [パネル] > [パース ビュー] > [persp] を選択。
元のperspビューに戻します。
・Area Lightを選択、アトリビュートエディタの [Exposure] に 11 を入力する。
Area Lightは初期設定ではごく弱いライトになっています。ExposureはIntensityと比べて、少ない値でライトを大幅に強くできます。
<参考>
ライトの強さの値は以下の計算式で表されます。
Color × Intensity × 2のExposure乗
Color 1(白)、Intensity 1、Exposure 11 の場合、1 × 1 × 2の11乗=2048 となります。
Color 1(白)、Intensity 1024、Exposure 1 の場合(1 × 1024 × 2の1乗=2048)と同じです。

・Arnold RenderViewで [Refresh Render] ボタンを選択し、レンダリングする。


Area Lightからの方向性のある光とその影が生じています。こうしてライトを加えていくことで、シーンの光を構成していきます。今は扱いませんが、その他にもライトの種類がいくつかあります。
・[Store a Snapshot] ボタンを押して仮保存する。

・[ファイル] > [シーンの保存] を選択して保存する(ファイル名は「lightTest1」のまま。後の章で、保存したシーンファイルを使用します)。

