今回のビデオチュートリアルでは、実践的な例を通して Light Generator を見ていきます。
動画の書き起こし
皆さん、こんにちは。今回のビデオチュートリアルでは、実践的な例を通して Light Generator を見ていきます。
Generators やマップの Baking といったトピックについては、すでに理解していることを前提とします。これらについては以前のビデオチュートリアルで解説しています。
Light Generator は、仮想空間内のある一点からシーン内のオブジェクトへ向かって光線を投影する様子をシミュレートすることで、レイヤーマスクを作成できます。これは、仮想環境内に太陽を配置したようなイメージです。そのため、方向性マスクを生成する用途に利用できます。つまり、光線に正面から向いているサーフェスは白くなり、光を直接受ける度合いが低いサーフェスほど徐々に暗くなるマスクです。ただし、Generator の名前が Light だからといって誤解しないでください。これらの光線はレイヤーマスクを生成するためだけに使用され、オブジェクトの色やシーンのライティングには影響を与えません。これらはまったく別の効果です。
まずは実際の例を使って、Light によって生成されるマスクの基本的な見た目を確認してみましょう。
伝統的な日本の灯籠オブジェクトをインポートし、そこに「Concrete Plain Brushed」マテリアルを割り当てています。

次に、マテリアルの Layers スタックの最上部に「Iceland Snow」マテリアルを追加します。狙いとしては、この雪のマテリアルをオブジェクトの一部だけに適用することです。具体的には、降雪に最もさらされやすい部分です。しかし現時点では、新しいマテリアルが元のマテリアルを完全に覆っているため、マスクが必要です。

そこで、「Snow」マテリアルに黒いレイヤーマスクを追加し、そのマスクを右クリックして Light Generator を追加します。

何か問題があるようです。生成されたマスクが完全に白くなっており、新しいマテリアルが下のマテリアルを覆っています。一見すると、Generator の Properties パネルでいくつかのマップが不足していることが分かります。そこで、「Texture Set Settings」の「Bake Mesh Maps」をクリックし、この場合に必要な少なくとも 2 つのマップである「World Space Normal」と「Position」を Substance Painter に作成してもらいます。


「World Space Normal」には、仮想空間内におけるオブジェクト各面の向きに関する情報が保存されています。一方、「Position」には各面の座標情報、特に高さに関する情報が保存されています。

Light Generator はこれら 2 つのマップを使用して、シーン内での面の向きや高さに応じて、各面がどの程度影響を受けるかを判断します。向きについては、Generator の Properties パネルにある「Horizontal Angle」と「Vertical Angle」を使って Light の光線の方向を調整できます。また、「Position」マップに保存された座標情報は、「Light Attenuation」パラメータを調整する際に利用され、ジオメトリの下部に対する影響を弱めることができます。
マスクへの効果、つまりマテリアル適用への影響は、3D View の Material 表示モードでも十分確認できます。特に「Iceland Snow」マテリアルの表示をオンとオフに切り替えて結果を比較すると分かりやすいでしょう。ただし私は、レイヤーマスクを選択した後に「Mask」表示モードへ切り替えることをお勧めします。こちらの方が、Light Generator の光線がどこに当たり、どの程度の強さで影響しているのかを、2 つの角度パラメータや Light Attenuation の値を調整しながら把握しやすいと思います。

Mask 表示モードでは、「Highlight Glossiness」と「Highlight Level」パラメータの効果も直接確認できます。これらの設定を使うことで、生成されるマスク内の照明強度、つまりグレー値を増減できます。その結果、関連付けられたマテリアルの適用強度も変化し、光線が直接当たっていない面に対しても、より強く、あるいは弱くマテリアルを適用できるようになります。

このように、Light Generator のパラメータ数は多くありませんが、効果を適用する際には十分な柔軟性を備えています。ぜひ、この Generator のほかの活用方法についても考えてみてください。
残念ながら、良い点ばかりではありません。Light Generator は自己遮蔽を考慮しません。そのため、灯籠の内部にあるサーフェスにも光線の影響が及んでいることが分かります。これは Light がジオメトリの面の向きを基準に動作しているためで、灯籠内部の面も依然として上向きになっているからです。
これらの面を手動で除外する方法はいくつかあります。たとえば、Snow マテリアルをグループの中に入れ、そのグループに最初から白いレイヤーマスクを割り当てます。その後、ブラシやポリゴン選択ツールを使って不要な領域を手動で除外します。私の場合は、「UV Chunk Fill」を使用し、値を 0 に設定します。これにより、クリックしたマスクの UV アイランドが黒になります。

他の Generator と同様に、Light に対してもフィルターや追加エフェクトを適用できます。たとえば Blur フィルターを追加すれば、マスクの境界をぼかし、必要に応じて遷移領域をより滑らかにすることができます。

それでは、今回のチュートリアルは以上です。いつものように、ご質問、ご意見、ご要望がありましたら、ぜひ YouTube 動画のコメント欄にお寄せください。それでは、また次回お会いしましょう。