前回記事にしたオリジナルMOD作りを進めていたところ、ちょっと気になることを発見してしまった。
タイトルに書いたとおり、ファイヤーバレルの明かりが一部の居住地で正しく表示されない。
つまり火が燃えているにも関わらず周囲が暗いままになってしまう…という現象。
↑こんな感じで。
暗くてわかりにくいですが左に置いてあるのがファイヤーバレル。右がキャンプファイヤー。
キャンプファイヤーの方はほんのりとではあるが周囲がちゃんと照らされて明るくなっている。
対してファイヤーバレルの方は周囲は一切照らされておらず、バレルの形すら判別できない。
左端に見える白いラインは壁の内側から漏れている明かりです。
最初はこれがバグなのか仕様なのかもわからず、とりあえずCKで光源の設定をいじってみれば解決するだろうと思いやってみたものの…… いくら明るさのレベルを上げてみても一向に直らず。
困り果ててネットであれこれ検索かけてみたところ、ようやく「ファイヤーバレルが一部の居住地で正しく表示されない」という情報に辿り着く。
そうなんです…
この現象、以前多くの111が悩まされた一部の居住地で電球をつけても明るくならないバグ、通称『光源バグ』と同じものだったらしい。
その電球は既に修正されたようですけどね。
で。
それまで、この現象を調べる間ずーっとキャッスルで確認していたので気付かなかったのですが、確かに別の居住地で同じようにファイヤーバレルを設置してみると、このとおり…
あっかるーい!
周囲の道もちゃんと照らされてるし、バレルの形や煙までハッキリ見えます。
さて。光源バグとわかったなら、嘗てそれを修正してくれたMODを参考にすれば自分でもなんとかできるのではないか?
と、試しにDLしてみたのがこちら→ Workshop Lightbulb Emittance Fix
既に電球が修正された今となっては価値のないMODですが、残っててくれて助かった!ありがとう作者さん!
この説明によると、電球が正しく表示されなかった原因は電球内部にあったフィラメントだったらしい。
ブレンド効果を持っているレイヤーがあると動作を狂わせるとかなんとかで…… 具体的なことはほとんどわからないけど、とにかく原因になっていたフィラメントを削除してアルファチャンネルを正しく設定するだけで直るという簡単なものだったらしい。
これなら自分にもできるんじゃね?と、お気楽に考えて取り掛かってはみたものの、ここからが大変だった…
まずCKではメッシュまではいじれないということで、専用ツールの NifSkopeを導入。
無論、触ったこともなければ使い方もわからないので、またあちこちのサイトを頼ってとりあえず動かせるレベルまでお勉強。
ありがとう、偉大なるSkyrimMod製作者の皆々さま…
使い方を覚えたら次は実際にファイヤーバレルのメッシュデータを開いて確認。
複雑…/(^o^)\
最初はどれが何を示しているのかもわからずチンプンカンプンでしたが、一つ一つじっくり中身を見ていくと少しずつ、なんとな~くですが理解できてきました。
ざっくり解説するとファイヤーバレルは以下のようなもので構成されているっぽい。
- バレル
- バレルの中のもの(灰、木、その他)
- 炎
- 光
- 煙
- 風?
- その他
電球はフィラメントが原因になっていた訳だから、そのフィラメントにあたるものをこの中から探して排除していけば直るはず。
しかしそれがどれなのかサッパリわからないので、ここからは一つずつ削除して消去法で原因を探っていくことに。
結果… バレルの中の木、炎、煙、光などがバグの原因になっているっぽいところまで突き止めることに成功!
これらの要素を排除してしまえばキャッスル等のバグが発生する居住地でも正しく表示されることは確認できました。(スクリーンショット撮り忘れたけど)
しかし木や煙なんかはともかく、炎を消してしまってはただのゴミ箱が発光しているようにしか見えない。
これでは本末転倒…
そこでまた一つ一つしらみ潰しに原因を探っていくことに。
なんとか… なんとか炎だけでも残してバグを解消する方法はないか…!!
そしてついに………
全ての要素を残したままバグを解消することに成功!!!
やったーーーーーーうひょーーーーー!!
炎は勿論、木も煙も光も全部ちゃんと残ってる!
そしてちゃんと周囲を明るく照らしてる!!
修正前と比較してみてもこのとおり。この明るさ…安心するなぁ。
細かいことはめんどくさいので省きますが、最終的にバグの原因となっていたのは[BSEffectShaderProperty]の中の設定項目の一つにある External_Emittrance という効果?のようでした。
バグの原因と思われていた木や炎などの要素をチェック直してこの効果を片っ端から外してやったところ正常に表示されるようになりました。
探し当てるのほんと苦労した…
ただ、結局この External_Emittrance というのがどんな効果で、外したことによってどんな影響があったのかはわからなかったし、この方法が全ての環境で通用するかもわからない。
ウチのFallout4の環境下でのみ偶然成功しただけかもしれない。
もしグラフィック関係に詳しい方がいたら是非試して教えてください。こっそりコメント機能をつけました。
さぁこれで落ち着いてMOD製作に戻れる。
寄り道したおかげでNifSkopeの使い方も少し覚えたし、手を出せる範囲が少し広がったぞ~。
続き頑張ろうっと。