シムズ3オブジェクト作成備忘録: ノーマルマップについて気づいたこと(勘違いしていたかも)

サイドボードにノーマルマップが追加できないとか言ってましたけど、あれ、追加はちゃんと出来ていた可能性がw
ただ、テクスチャ潰れ現象と同じように、潰れて見えない状態になってたといいますか。

壁紙作っていて気づいたんですけど、Gimp の normalmap プラグインでプレビューされるように、シムズ3内でも同様に表示されるのだと私思ってたんです。
17275 byte
こんな感じでくっきりはっきりと

でも multiplier を灰色一色にした壁紙をゲームで表示させると、
8248 byte
このように光が当たってるとほぼ見えず、若干影になるとようやくかろうじて見える状態。
14453 byte
色を黒とか濃い色にすると、やっと本領発揮って感じで見えるようになるんですが、Gimp のプレビューからは程遠いですねはは…;
縮小したらなお見えにくくなったし;(クリックでトリミングしただけの版もどうぞ。それでも見えにくいかもしれないけど)

それでサイドボードに話は戻るのですが、教えていただいたノーマルマップ追加のチュートリアルに(ぽっちさん、いつもありがとうございます!)、ノーマルマップ追加後 TSRW で「Show Bumpmap」を押したときに灰色一色だとそのオブジェクトではノーマルマップが使えないと書かれていたんですよね。チュートリアルの通りに何度やってもダメだったので、サイドボードにノーマルマップを追加するのは諦めたんです。
3472 byte

でも、壁紙も「Show Bumpmap」は灰色一色だったんですよ!
6068 byte
壁紙は元々ノーマルマップ持ってる CC、となるはずなのですが。

それじゃあサイドボードも薄すぎて見えなかっただけで追加できてたんじゃないか? と思ったわけです。
早速ノーマルマップ追加して、ゲーム起動してみました。

28091 byte
いや~、やっぱ表示されてないしorz

ここからはとりあえず引き出しに注目しておいてください。引き出しのエンボス加工みたいにした部分等をノーマルマップのみで描いて、判りやすいように multiplier はその部分をのっぺりさせてます。

壁紙みたいに濃い色に変えたらよく見えるようになるかも!? と試してみると、

20619 byte
おおー凸凹感が出てきた!!
それから元の色に戻すと、
28197 byte
うっすら表示されている!

だがしかし。

46054 byte
承諾してゲーム画面戻ったら消える…と。
なんだ、これってテクスチャ潰れ現象のときと同じじゃないか!!

簡単に説明すると、テクスチャ潰れ現象は、mask width/height がテクスチャのサイズより小さく設定されていたことで起きてました。ただ、テクスチャサイズに合わせてもオーバーレイやステンシルで描いた細かい絵なんかは潰れる場合があって、1段階大きいサイズに設定すると、綺麗に表示されるようになるんですよね。

でもこのサイドボードはすでに mask width: 1024, mask height: 512 のサイズ。
これ以上大きくして大丈夫かしら…と不安になりつつ、mask width: 2048, mask height: 1024 にしてみると――

45350 byte
通常画面でもノーマルマップが表示されるように…!

ただ、やはりサイズを大きくしたせいか、パターン変更画面から承諾した後、テクスチャが表示されるまでが若干長くなった…。TSRW でプロジェクト読み込む時間も長くなった…。
テクスチャ自身のサイズは変えてないんですけど、mask width/height 変えるだけでも同等の負荷はかかるのですね; テクスチャ潰れ現象記事の最後に書いた疑問も、期せずして解けましたw
まあ、さすがに 2048 ×1024 は大きいですよねあはは…; シムの顔や体のテクスチャでもないのに。

というかそもそも、multiplier なしでノーマルマップのみで描写しようとするのは間違いだったようですねw
1024 × 512 では潰れているけど、ないのとあるのじゃ、ノーマルマップあるほうが綺麗に見えたりするのかな? プラシーボの範囲なのかな~?はは…;
せめて壁紙レベルには表示されないと、意味ないような気がするんですが…。

8035 byte
ちなみに、デフォの太陽の壁飾りはノーマルマップを持っているんですが、TSRW で「Show Bumpmap」も表示されるし、
32655 byte
Multiplier と Specular をやっつけでのっぺらぼうにしても、mask width/height は 128×256 で小さいにもかかわらず、
25100 byte
多少見えづらいですが、ゲーム中では顔があるのが判るほどには表示されていましたw

うーん、元々ノーマルマップ持ってるオブジェクトと何が違うんでしょうね。そこが判ればー!
それか、これでもか! とメリハリつければ、太陽の壁飾りのように表示されるようになるんでしょうか…? ――試した結果→ Scale 100 にしてみたけど、変わりなかったorz

なんとなく、TXTC の設定が怪しいと思うんですよね~…。
それと気づいたのは、太陽の壁飾りはノーマルマップ用の UV マップを別に持ってること。ま、これは関係ないですよね?

ちなみに、TSRW でノーマルマップを後から追加すると、火事で焦げたとき用のオーバーレイテクスチャと共有されるんですよね。
9623 byte
これは Texture Tweaker3 で見たものですが、こちらからでもノーマルマップは追加されていることが確認できますが、DirtOverlay とインスタンスが同じ。なので、ノーマルマップの画像を変更すると、DirtOverlay も同じように変更されてしまいます。
チュートリアルで、TSRW ではたまに新しいテクスチャとして追加できない場合があるって書いてるのは、これのことなのかな?

かなり稀だと思いますけど、焦げたときに焦げが表示されない(かもしれない)のはマズイかな~と思うので、ここはちゃんと別々に設定しておいたほうがよさそう。
TSRW でノーマルマップを追加した後、Texture Tweaker3 でノーマルマップ用のテクスチャを追加し、そちらに設定を変えるほうが早いと思いました。パターン設定終えてしまっていたらプロジェクト最初から始めないといけないですが…。

s3pe で MLOD / MODL を Grid からいじることでも可能だと思う。TSRW ではちょっと判らない。

まとめ?

以上、長くなりましたが、現状判ったことをメモしておきます。
勘違いでじたばたしてるだけですけどねハズカシ!

とりあえず、ノーマルマップはあくまで multiplier の補助的な役割なんですね。
multiplier 並にくっきり見えることはないけれど、ノーマルマップありのほうが綺麗に見える…かも、と。
チュートリアルの作者さんが、ノーマルマップのあるなしの比較画像でアップされてたので見たのですが、あるほうが綺麗でしたし。

私の自作物の場合、壁紙は、ノーマルマップあると光の反射がちょっと綺麗に見える気がするw(ただの気のせいの可能性ありw)
だが、サイドボードの場合は、そもそもノーマルマップありオブジェクトをクローン元にしていないせいか、残念ながら潰れてしまう…。

mask width/height を大きくする以外で潰れないように出来ないのかー!
色々設定試してはゲームで確認を繰り返していると、潰れてるのにうっすらあるように見えてくるし(笑)。
あかん! こんな検証やってる場合じゃないのよ、早くセット完成させないと!

でもここまで来たら、そこまでやる必要ないかと避けてたノーマルマップ持ってるものをクローン元にしたサイドボードに、mask width/height は 1024 × 512 のままでノーマルマップを表示させられるのか試したくなってきたよw

このエントリーへのコメント

Disqus のほかにも Twitter や Google、Facebook アカウントでもログイン出来ます。
ログインしないで投稿するにはメールアドレスが必要ですが、サイト上には表示されませんのでお気軽にどうぞ(*^_^*)("アカウントを作成せず投稿する" にチェックを入れてください)

blog comments powered by Disqus