妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

サブサーフェス シェーディングの実験

f:id:una_unagi:20171117234608p:plain

f:id:una_unagi:20171117234619p:plain

f:id:una_unagi:20171117234627p:plain

「今日はサブサーフェス シェーディング(Subsurface)について。なんとなく雰囲気は知ってるど、実際どうなってるのはよくわかってなかった物」

妹「どういう雰囲気なの?」

サブサーフェス スキャタリングという、物体内部で光が反射した場合の色を再現する技術があるらしい。UE4用語じゃなくて、3D用語の」

妹「物体の……内部、で反射……?」

「よく言われるのが、太陽を手の平に透かして見た時に、手が赤く見えるという」

妹「見えるの?」

「見える。手の平の中で光が反射して、血の色が透けて見えるという」

妹「こわっ! 手のひらは太陽にかざさないようにしよう」

「見てない時でも手に光は当たってると思うけど……まあそんな感じの原理なんだけど、これは半透明とは違う。向こう側が見えるわけじゃないし。だから反対側から光があたると赤くなるマテリアルとして作る、みたいな」

docs.unrealengine.com

「ただ実際に人肌に使うにはPreintegrated Skinの方がいいとか。Subsurfaceの親戚みたいなマテリアル」

妹「じゃあSubsurfaceの方は何に使うの?」

「大理石とか。あと氷の巨人みたいなやつにも使ってるって」

妹「氷だったら半透明じゃないの?」

「どういう感じの氷にするかによるけど、半透明よりもSubsurfaceの方が負荷が軽そうな気がする」

f:id:una_unagi:20171117234608p:plain
順光

f:id:una_unagi:20171118000152p:plain
逆光(反対方向から見てるので、サブサーフェスのが右になります)

f:id:una_unagi:20171118000206p:plain
逆光でさらに光の量アップ

※こういう風に見えるのは、ライトがムーバブルの場合です。これについては次の記事に書きます

「正面から光が当たってる場合はそんなに違いはない。まあSubsurfaceカラーの分が上乗せされて、ちょっと明るくなったり、色が変わったりはするんだけど。逆光の時に本領を発揮する。反対側から光があたった時にサブサーフェスカラーがにじみ出てくる」

妹「光の色は?」

「それも影響する、サブサーフェスの色と混ざるみたい。混ざり方はよくわかってないけど。あと光の色が暗かったりすると、サブサーフェスカラーが弱くなる」

f:id:una_unagi:20171118000944p:plain

「サブサーフェスカラーが青のとこに、赤の光を逆行当たってるとこは赤いけど、サブサーフェスカラーの青が全然見えなくなる」