バーチャルマーケットのブースを作る (2):ライトマップ前編
はい、美坂です。
この記事ではBlenderとUnityでの「バーチャルマーケット向けの」
ライトマップについての知見を解説します。
主に
・バーチャルマーケットに出展したことがあって
クオリティを更に上げたい人
・BlenderとUnityのライトマップについて
ふんわり知りたい人
あたりを想定して説明していきます。
例によってBlenderとUnityの基本操作はできる前提です。
前回より更にターゲット層が狭くなってきました……
あと同じ内容の動画も同時公開しています。
テキストと動画、好きな方見てくださいね。
[はじめに]
今回ライティングの話ではあるんですが、
ライトの基本とか種類とか特性とかの話はスルーして
主にライトマップに特化して説明していきます。
バーチャルマーケットのような
色々と制限が厳しい環境でクオリティを上げるには
ライトマップを使うのはとても有効です。
ライトマップをうまいこと使えれば
モデルの見た目クオリティが大幅に上がります。
積極的に使っていきましょう。
[ライトマップ]
で、そもそもライトマップて何?
って話にちょっと触れておきましょう
CGでは空間にある色々な光源から物体の光の当たり具合を計算して、
最終的に見える色を表示しています。
結構複雑で負荷のかかる計算です。
しかし光源と物体が動かない場合、
物体表面の光の当たり具合は変化せず一定のままです。
変化しない値なら、光の当たり具合を1回計算して
テクスチャに記録しておけば、
後はもうそれを使いまわして済ますことができ、
何回も計算する必要がなくなります。
これがライトマップの仕組みです
複雑な光源のブースでも記録したテクスチャを貼るだけで処理が済みます。
計算負荷はとても低く抑えられます。
[入稿制限]
バーチャルマーケットでのライトマップは
展示ワールドに配置された大量のブース全てまとめて
運営側でまとめて焼いてくれています。
すごく重そうな処理ですね。
そういう事情もあるのか、バーチャルマーケットで
ライトマップを使用する場合、かなり厳しい入稿制限があります。
具体的には
・ライトマップテクスチャは 512 x 512px で1枚以内に収める
です。
単純なモデルのブースなら割となんとかなるんですけど
ちょっと複雑なモデルになると
綺麗に仕上げるには厳しい仕様です。
うちのブースでは室内がかなり細かい作りになっていて、
この入稿制限で綺麗にライトマップを焼くのはとても難しいです。
……が、入稿されたブースはこんな感じ。
割といい感じになってます。 ……なってるよね?
何やらかしたらこうできるのか、ですが、
ライトマップの入稿制限が厳しいなら
計算処理は自分でやってしまえばいい。
という事でうちのブースの室内は
Blender側で事前にライトマップをテクスチャに焼いて
Unity側に持ち込んでいます。(※この辺の詳細は次回やります)
これならテクスチャサイズの制限は受けません。
まあ後で容量についての入稿制限が襲ってくるんで
あんまり調子に乗ってやるとつらいことになるんですけどね……
[2つの方法]
ライトマップの処理を
Unityで焼く場合とBlenderで焼く場合。
それぞれのメリット・デメリットをまとめておきましょう。
Unityでライトマップ
・ベイク処理は運営任せ
・制限が厳しい
・周囲の光源も反映される
・ライトプローブなど使用可
Blenderでライトマップ
・ベイク処置は自分でやる
・ある程度制限に余裕があるので細かい部分まで表現できる
・周囲の光は反映されない
・テクスチャによる擬似ライトマップなので制限あり
一長一短ですね……
[両方使う]
はい、2通りのライトマップについて解説しました。
実はこれ、もう気づいている方もいるかもですけど
両方同時に使うことも可能です。
実際うちのブースでは
内側はBlender、外側はUnityと
オブジェクト分けて設定しています。
内側は周りの光の影響をあまり受けないので
Blenderで大きなライトマップテクスチャを使って
精密にライトマップを焼いて……
外壁は周囲の光源を反映させて
周りの雰囲気に馴染ませるために
Unity側で焼いています。
と、このように両方使うことで
双方の良いとこ取りみたいな感じもできます。
まあ作るのが面倒くさいですけどね!
次回予告
ちょっと長くなってきたので
ここらで切って続きは次回にしましょう。
次回は実際にライトマップ焼いていきます。
サポートは主においしそうな or 変な食べ物に費やされます。 サポートしてくれるととても嬉しいですが、お金はまず自分自身を優先して使ってくださいね。