今回は影についてのメモ。
前に卓上鏡の作る方法を備忘録として書きましたけど、影だけ書き忘れてました。っていうかその当時はまだ気づいてなかったんですけどね。
オブジェクトを何個か作ってみて気づいたのは、影の設定にはどうも3箇所あるようだということ。
- Shadow mesh (Sunshadow)
これはそのまま影用のメッシュで、屋外に設置しているときに現れます。
TSR Workshop では、メッシュを元に自動で作ってくれます。
Blender TS3 Tools でもワンタッチで作れますけど、package にインポートしても影の位置設定は更新されないので手動で変える必要があります。影にもハイポリ用、ローポリ用とあるのですが、ハイポリ用でもローポリメッシュで作ることが多いようです(これまでに参考にさせていただいたチュートリアルのいくつかではそうされてました)。パフォーマンスに配慮してのことでしょうね。形が著しく変わっているのなら、それぞれのメッシュを元にして作ったほうがいいと思いますが。
- Dropshadow (Groundshadow?)
これも影用のメッシュといえばそうですけど、平面です。テクスチャとして影を描写するという感じですかね。屋内に設置したときに現れます。
ローポリ用にはありません。どちらにもないオブジェクトもあります(シーリングライトとか)。
- LITE
名前からして Lighting の設定。照明オブジェクトだったら自身がどんな光を放つのかをここで設定していますし、ほかはオブジェクトの範囲を設定してるんじゃないかなーと思っています。
なぜなら、上記1,2を設定した後も何故か机の影(dropshadow)は幅広いままでした(画像左)。元は2タイルオブジェクトなので、そのまま表示されているらしい。
それでこれをいじれば、影も変わるんじゃないかと試したら思惑通りの結果になったので、LITE 設定も影を司ってると言っていいんじゃないかと思います。
というわけで、LITE の変更方法をちょっと書いておきます。
しかし正直どういう仕組みになっているのか解りませんので、親切なチュートリアル形式にはなっておりません。
s3pe で作るにしても、TSR Workshop は不可欠です。なにせ計算式が判らないので、試行錯誤するほかないので、TSRW だとプレビューが表示されるので設定しやすいからです。
TSR Workshop で LITE の編集
LITE は TSR Workshop では Misc タブの「Lights」がそれです。
「Light 0」をクリックすると、プレビューに灰色の板が現れます。板じゃなくて直方体のときもあります。照明オブジェクトなら、光源の位置や光の範囲なんかが表示されます。
そして「Light 0」の行の右端の「...」を押すと、Lite Editor が出てくるので、適当に目星をつけて数値を編集していくわけです
目安にするのはメッシュの bounding box
基準はメッシュの bounding box ですね~。オブジェクトの境界を示す値で、Mesh タブの中で確認できます(本体となる Group の Extra → Boundingbox)。
詳しくはBounding Box の値を調べるをご覧ください。画像付きで場所を示してますので。
それでクローン元の bounding box と Lite の数値(Occluder の Origin)を比べてみると、値が近いことが判ります。
「Occluders」の各ボックスは、Pair Offset 以外は上から XYZ にそれぞれ当てはまります。
Origin は原点、Normal は Normal map とかの法線かな? プレビューの黄色の線が Normal のはず。
X-axis は原点から X軸方向にどれだけの長さなのかを示してるし、Y-axis は Y軸方向。
おそらくですが、こんな感じ。ただ、Pair Offset だけ解りません。
とりあえず私がやった方法
それで Origin を以下のような感じで出してみました。
数学的に書き方が変でも気にしないでください(やってることは足し算引き算だけどw)
※計算するときはマイナス記号は無視してます。 Origin がマイナスなら bounding box を最小値で、 Origin がプラスなら bounding box を最大値で計算しました。 (クローン元の bounding box minX) - (クローン元の Origin X) = X (自作メッシュの bounding box minX) - X = X' X' を 自作机の Origin X に代入する。 Y と Z も同様に。
X-axis と Y-axis は、プレビューを見ながらこれくらいか? いやこうか? と大雑把にw
Normal は特にいじる必要はないですね。
Pair Offset はゼロのときはそのままで、何か数値あったら適当に放り込んだ気もします 覚えてないので適当に…。
Entry は全部で3つあるので、残りも同様に行いました。
最終結果
最終的にこうなりました。
ゲーム内で見ると、影が二重になっているので、Pair Offset はここで関係してるのかもしれません。実際数値変えてみたら影の場所――というか形というか――が変わったりしましたし。
でも手前に影が若干伸びてる気がすると、何度も数値を変えてみても思い通りの位置にならなかったので、もうこれでよしとしました。
で、s3pe に移り、TSRW で決めた数値を入力しました(Tag「LITE」の行を選択して「Grid」にて)。
別に TSRW で保存してもいいんだけど、オブジェクトの名前と説明が変になるし、s3pe で作ってみたい気分だったのですw
このように、机みたいに大きさが変わるだけなら、クローン元を参考に大きさをいじればいいだけなのでまだいいんです。
大きさをクローン元に合わせていたらいじる必要もなし。
実はスツールはめんどくさかったのでそのままにしちゃいました 壁際に設置したら、背後に謎の影ができるかも…。
問題は、クローン元と全然違うオブジェクトの場合ですね。卓上鏡のように。
卓上鏡の場合
卓上鏡はフロアミラーをクローン元にしているので、明らかに大きすぎる Occluder がひとつあるだけでした(画像左)。
これを卓上鏡のサイズにするだけでいいのか判断がつかなかったので、色々な装飾オブジェクトを見てみることにしました。
このように十字になってるか、直方体が2つ対照的にあるか、の2タイプがほとんどでした。
でもどういう法則でこうなったのか見当もつかないのでモヤモヤする~>< ランは同じ花瓶なのに、他の花瓶のようには何故しなかったのか、とか。
ノーム(一部が透明になってたのは謎)とかフラミンゴの置物には LITE 設定がありませんでした。屋外用オブジェクトなので、ないのだと思われます。
とりあえず今回は頭でっかちなところが似ている蘭とかシダのような形の Occluder にしてみることにしました。
2つの Occluder が中心で交差していますね。でも鏡のほうは1つしかありません。
TSRW なら簡単に追加することも可能ですけど、s3pe で追加できるのか判らなかったので、まずシダオブジェクトをクローンして、LITE をエクスポート。そしてそれを卓上鏡にインポートする方法を取りました。
今 s3pe 見たら、TSRW と同じように追加できそうでしたが……ま、インポートするほうが安全ですよね。きっと。
数値の調整をして、最終的にこんな感じになりました。
ゲーム内でも参考にしたオブジェクトの影と似てるし(影の長さはちゃんと短くなってるし)、これでよしとしましたw
うーん、もしかして前後左右が同じ長さ(真上から見たときに正方形になる)のオブジェクトは十字で、それ以外は直方体2つのほうになってるのかな~? 2枚上の画像を改めて見ててそう思った。
もしそうだったら間違ってたんだけど…! まあいいけどさ。
そもそも Occluder って何?
辞書にない英語さんによると以下だそうです。
- occluder
分野:CG
品詞:名詞オクルーダー。オクルージョン・カリングにおいて、他の物体を隠している方の物体のこと。
とはいえ、まず「オクルージョン・カリング」ってなんのこっちゃ、って感じなので検索してみると、どうも 3D における負荷軽減の技術のことみたいです。
オブジェクトの後ろに隠れて見えないオブジェクトまで全部描画してたら、どれだけハイスペックであっても足りないので、見えない部分を描画しないでパフォーマンスを上げる、と。
その見えないオブジェクトを隠しているオブジェクトが Occluder らしい。
逆に言うと Occluder の後ろにある物は描画しないようにするってことですね。どっちが分かりやすいだろうw
シムズ3で例えたら、町中にある家が Occluder なんじゃないかな。
オプションの「ディテールが細かい区画」で設定した数以外の家の中の家具までは一個一個描写してない(はず)ですよね。見えないのに描画したって無駄ですし。
でも LITE における Occluder が、この機能の設定を兼ねてるのかは判らないです。どう見ても影のポジションを制御しているようにしか思えないという…。
とまあ、解らないことだらけの LITE。どこかに解説あったらぜひ教えてください…!
(光源の解説は sims3ccjさんのブログ内にあります)
オクルージョン・カリングについては、検索してトップにあった日報あくせくジェ~ムズさんの「オクルージョンカリング」が解りやすかったです。
このエントリーへのコメント
Disqus のほかにも Twitter や Google、Facebook アカウントでもログイン出来ます。
ログインしないで投稿するにはメールアドレスが必要ですが、サイト上には表示されませんのでお気軽にどうぞ("アカウントを作成せず投稿する" にチェックを入れてください)
blog comments powered by Disqus