MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

メッシュ内部にあるライトを表現するには

https://www.youtube.com/watch?v=nuF9sv1B6QY

今回はメッシュ内部にあるライトを表現する方法を紹介します。

サンプル動画ではメッシュの中に存在しているポイントライトが、わかりやすいようにアニメーションで動きを付け、メッシュの外に対してどのように影響を及ぼしているのかを表しています。床あたりを見てみると、メッシュの中のライトによってライティングされているのがわかります。

では実際に設定を行ってみましょう。サンプルシーンには、凹んだ赤いボールと床のモデル、さらにボールの中にポイントライトが配置されています。ライティングの効果がわかりやすいように、シーンの中のライトはメッシュの内部に配置されているポイントライトのみとなるようにし、また環境によるライティングの強さも抑えるようにします。この状態だとシーンに対してあまり光があふれていません。

メッシュ内部にあるライトを表現するには、マテリアルに対してSSS(サブサーフェイススキャッタリング)を適用する必要があります。SSSとはろうそくや人間の皮膚など、光を通すような半透明な物質を表現するマテリアルとなります。ではSSSの設定を行ってみましょう。メッシュのマテリアルを選択し、マテリアル(透過)タブにサブサーフェイススキャッタリングの設定は用意されています。

単純にサブサーフェイス量を100%へと変更してみましょう。そうするとサブサーフェイスの色に指定した色へと変わっただけで、メッシュ内部にあるライトは表現されません。メッシュ内部にあるライトを表現する際に重要なのは、メッシュに対して厚みを持たせるということです。

わかりやすいように、別のサンプルシーンを見てみましょう。こちらのサンプルシーンには厚みのある板が真ん中にある、左右には厚みを持たない板ポリゴンがあり、それぞれの背後にポイントライトを配置しています。左右にある板ポリゴンは法線が逆になっているため、カメラから見えている・見えていないの違いがあります。これをカメラから見てみると、すべて同じマテリアルであるにもかかわらず、厚みのない板ポリゴンでは背後にあるライトを表現することができません。これはSSSの場合、ライトからのレイがメッシュに衝突して突き抜ける際に、メッシュの厚みがなければそれが通り抜けるという判定ができないためです。

では先ほどのシーンへと戻りましょう。こちらのメッシュには厚みがつけられていませんでしたので、厚みツールで厚みを付けて行きます。モデリングツールバーポリゴンタブにある厚みツールを起動し、ビューポートをドラッグして厚みを付けます。そうすると先ほどまでは見えてなかったメッシュ内部のライトの表現が見えるようになってきました。SSSのスキャッタリング距離最大深度などを調整することで、よりリアルな表現が可能になってきます。

このようにメッシュ内部にあるライトをSSSをつかって表現する場合には、メッシュに対して厚みを付けることを忘れないようにしてください。

2024年7月26日