チュートリアル / 宋さんの3ds Max キッチンスタジアム
第36回:3ds MaxでArnold / ライトの設定について
- 3ds Max
- Arnold
- コラム
- チュートリアル
- ライティング
- 学生・初心者
- 建築・製造・広告
- 映画・TV
では今回からはシーンセットアップの重要な要素であるライティングについて解説していきます。今回のコラムは長くなりますが、頑張ってお付き合いください。
MAXtoA上で使える3ds Maxライトオブジェクト
ライティングですからMAXtoA上で使える3ds Maxライトオブジェクトは何かを知っておかないといけませんね、
まずはMAXtoAを使ってArnoldレンダラーを使用するときに利用できるライトの種類です。
フォトメトリック ライトであるターゲットライト、フリーライト、サンポジショナの3種類、それと 当たり前ですが、Arnold Lightです。フォトメトリックライトも全機能が使えるわけではなく、一部の機能は制限されます。制限内容はMAXtoAのUser Guideに詳しく書いてあるので、そちらを参照ください。
https://support.solidangle.com/display/A5AF3DSUG/Lights
あと、標準のオムニライトやスポットライト、ターゲットライトは使用できませんので…諦めてください(笑)。
ライトという表現は合わないかもしれませんが、Physical MaterialやArnoldシェーダなどでエミッションの設定をしている場合はライトとしての表現も可能です(当たり前か・・・でも注意が必要! 次回のコラムで説明しますね。)
あと環境効果に割り当てるSkyシェーダなどもライトの一部と言えますね
使用できるのはビットマップファイル(もちろんライティングとして使用するHDRイメージ)、フィジカル サン&スカイ環境、Arnold Physical Skyもスカイドームライトとして利用可能です。
Arnold Lightはシーンに配置してそのままレンダリングすると初期設定がとても暗く感じるかもしれませんね
では基本的な設定ですが光量を調整するには、下図のIntensityの項目で行います。まあ3DCGを普段使用している方なら なんとなく数値をあげれば明るくなんでしょ!?って思いますよね。
Intensityの項目内にはIntensity、Exposure、Res. Intensity、✓Normalize Energy:
の4種類の内容があります。Intensityは明るさだっていうのは分かりますがExposureは何?
日本語で訳すと露出ですね。露出を定義するにはシャッタースピード、f-stop(絞り)、ISO(感度)の3つで定義しますが、ここではカメラ撮影の段数的な考え方で管理しているようです。
カメラの絞りの設定だと数値をあげると明るさは暗くなりますね。でもここは撮影設定ではなくてライティングの設定なので、値を上げるという事はターゲットのEV(Exposure Value)値の段数を上げる動作に近い感覚になると思うので、ライトの光量としては明るくなります。実際のスタジオ内でのカメラ撮影の場合、カメラマンの感覚だと、EVの設定などをしてフラッシュライト強度を急激に上げたりすることが多いのですが、このExposureの設定はそれに近い感覚です。EV値では室内は5-9EVですが、昼間の屋外だと14-15EV程です。数値で見ると大した差ではないですが実際の光量は500-1000倍ほどの光量の差があります。この光量の差をIntensityで調整すると大幅に数値の桁数が上がってしまうのでExposureを使って調整するととても楽になります。つまり、実際の光量はIntensityで固定にして状況に応じてExposureでコントロールするという感じですかね。
最終的なIntensityの値は [ Res. Intensity: ] に表示されます。
MAXtoAのユーザーガイドにも書いてありますが、光の全強度は次の式で計算されます。
color x intensity x 2exposure
mental rayやVrayなどを使っていたユーザーさんからするとArnoldライトのパラメータを見たときに「あれ!?」と思いませんでしたか?そう、物理的な光量の値で設定が出来ませんね
3ds Max フォトメトリック ライト やVrayライトなどにはちゃんとカンデラとかルーメン、ルクスなどの単位で光量を設定できます。
でもArnoldにはありません。
先にも書きましたが、Arnoldでは3ds Maxフォトメトリックライトを利用することが出来ます。なので照明の単位系(cd, Lx, lm)などを考慮しなければならない場合はフォトメトリックライトを利用するようにしましょう。
また、Arnold Lightでは配光データファイル(IESファイル)を利用することもできますが、Arnold LightでIESを設定した場合は本来の光量を正確に再現が出来ませんので、目測で光量を合わせていくしかありません。
ですので建築系のビジュアライゼーションの製作でクライアントから指定された輝度、照度、光束などの値を使う場合はArnold Lightを使わずにフォトメトリックライトを使った方が良いですね
フォトメトリックライトを使う場合は一部の機能が制限されますので注意が必要ですが、まあ実作業レベルではほぼ問題のない機能制限ですので支障はないと思います。
同一のIESファイルを使って光量の比較をした場合。左がフォトメトリックライト、右がArnold Light
下図の方は照明解析露出制御をかけて輝度値を表示したものです。同じIESファイルを使っても結果が異なります。Arnold LightのIntensityやExposureで光量の調整が必要です。
Arnold Light の便利なライト コントロール
Arnold Lightでは様々な便利なライト コントロールが使えるのでそちらもご紹介しましょう。
まずはArnold Lightのパラメータからです。
コマンドパネル > 作成タブ > ライト > Arnold > Arnold Lightを選びます。
シーン内に配置して作成します。
配置する際に、マウスドラッグし配置するとターゲットライト、クリックで配置するとフリーライトのモードで配置されます。これ結構便利ですよ、覚えておいてくださいね。
配置して、コマンドパネルを見ると下図のような膨大なパラメータが出てきますが、それほど難しくはないので安心してください。
まずは基本となる[Shape]ロールアウトの中身を見てみましょう。
一番上に[Type: ]というプルダウン メニューがあります。開いてみると様々なタイプを選択できるようになっています。
内容は以下の通りです。
Point | 点光源 |
Distant | 平行光源 |
Spot | スポット ライト |
Quad | 矩形ライト |
Disc | 円形ライト |
Cylinder | 円柱ライト |
Skydome | スカイドーム ライト |
フォト...リック | フォトメトリック ライト(配光データ) |
Mesh | メッシュ ライト |
[Type:]で種類を変更すると表示されるプロパティが変化しますので色々試してみてください。
では、簡単に特徴を解説しましょう
全てのライト タイプを解説する紙面はないので、まずは代表的なところでPointから解説しましょう。 その名の通り点光源です。
Point Lightの場合、Typeを決定すると上図のようなUIに切り替わります。
Radius(半径)の設定で、ライト シェイプの大きさを設定することが出来ます。値を大きくするとビューポート上では以下の様に見えます。
この設定では左がRadius「0」、右側は「100」にした状態です。
光の照射はこのRadius(半径)の外側から始まります。つまりレンダリングすると下図のようになります。このセットアップはライトのすぐ後ろに平面オブジェクトを配置した状態です。
つまりPointライトの半径の中には光は照射されないという事になりますので注意してくださいね。フォトメトリックライトのシェイプ半径と同じ現象です。
「Normalize Energy」のオンオフ機能
もう一つArnold Lightで便利な機能があります。
Color/Intensityパネル内にある「Normalize Energy」のオンオフ機能です。
既定ではオンになっているのでPoint LightのRadiusをあげてもシーン内の照射される光量に差は出ません。これはVrayライトやフォトメトリックライトの既定の状態とおなじです。ただ、Arnoldライトの場合は「Normalize Energy」をオフにすることが出来るので、面積を持ったライトの場合その面積に応じて照射される光量が大きくできます。テレビ画面やコープライトのように配置する総面積に応じて光量が変わるので、特定の場面ではライティングの設定がとても楽になります。
では「Normalize Energy」のオンの状態でテストしてみましょう。
当然ですが、ライトシェイプの半径を大きくとると、結果として現れる影やSpecularの表現に変化が出ます。
この辺の陰に関する変化は、Quad LightはDisc Lightでも都のサイズを変更すると同じような表現になりますね。
ではRadius「100」の影の部分を拡大してみましょう。
少しノイズが強い印象があります。この辺の設定は下図のArnold Light > Rendering パネル> Samplingの設定で対処することが出来ます。
既定のSamplesの値は「1」になっていますが、「3」程度にあげてみると、下図のようになります。
かなり、ノイズが解消されましたね。レンダリング時間を比較するとSamples 「1」の場合は1分30秒、Samples 「3」の場合は1分54秒なので、レンダリング設定ウインドウ内のレイのサンプルをあげる場合と比較して効果の割にはさほどレンダリング時間に負荷をかけていないことがわかります。このコラムの冒頭でレンダリング設定のサンプリングの設定方法を書きましたが、サンプリングをあげてもなかなかノイズが消えない場合は、ライトのSamplesの設定を調整することで解消することもあります。とくにエリアライト系のライトを多用している場合は効果絶大ですので、画像全体の品質を上げる際には要注意ポイントです。
ライティングを除外する方法
最後に基本的な操作になりますが、特定のオブジェクトだけをライティングしなければならない場合や、特定のオブジェクトは除外したい場合はどのように設定するかですが、Arnold Lightには標準ライトやフォトメトリックライトで普通に設定できる「除外/含む」コマンドがありません。
Arnold Lightを使った場合は対象のオブジェクトに「Arnold Properties」モディファイヤを割り当てて、どのライトの影響を受けるかをモデル側で設定します。今までとは逆の設定方法ですね。
「Arnold Properties」モディファイヤの中に「Light Group」というパネルがあります。「Enable」にチェックを入れて下段のシーン内ライトの一覧からライト効果を追加したいライトを選びダブルクリックします。ダブルクリックすることで「Include」の項目に追加されます。
注意が必要なのは、「Enable」にチェックを入れると、シーン内の全てのライトが除外されます。そのオブジェクトは真っ黒になるってことですね、スキャンラインレンダリングやARTレンダーの「除外/含む」コマンドとはこちらも設定方法が逆になるので注意してください。