樹木のLODモデルをTES5LODGenやDynDOLODで作成する場合、避けて通れないのが「billboards」です。
前のLODの記事でざっくり書きましたが、複数のbillboardsを組み合わせてLODを作成する場合は、もう少しbillboardsの中身を知っておく必要があります。
景観MODで有名なSkyrim Flora Overhaulと、樹木を大きくするMODのSkysight - Simply Bigger Treesを併用している状態で、樹木LODを作成してみます。
これ、2つのbillboardsをただ導入しただけでは遠景と近景に不整合が発生します。billboardsのおおまかな構造を理解しておけば、複数のbillboardsを組み合わせる時にも安心です。
LODやbillboardsって何だ?という人は、過去記事からどうぞ。
前述の通り、SFOとSSBT導入環境下。Vanilla用billboardsはどんな場合でも必須なので導入済前提とします。
前の記事と同じくDynamic Distant Objects LOD - DynDOLODを使ってます。
billboardsを使ったLOD作成の失敗例
見栄えの問題なので、一概に失敗とは言えないのですけれども。上が近景、下が遠景です。
まずSFO用billboardsだけの場合。Vanilla用と被ってる所は勿論上書きしてます。
近景ではSSBTのおかげで木がでかくなってますが、遠景になると小さくなってます。SSBT用billboards入れてないから当然ではあるのですが。
SSBTには樹木のLOD用メッシュも同梱されていて、近景と同じように2倍サイズに設定されているのですが、この方法だとLODモデルが大きくなってくれないようですね。 billboards側でscale設定して、新しいtamriel.lstを作らないと反映されないのかもしれません。
次にSFO用billboardsを入れた上から、SSBT用billboardsを上書きした場合。木がでかくなって欲しい以上、上書きしたくなるのですが・・・
たしかに遠景もでっかくなってるのですが、なんか大分違う木になってる感じがします。これでもOK、と思った場合は、このまま使っても全く問題無いです。CTD等の不具合にはなりません。
何で大きさだけでなく、遠景の木そのものまで変わってしまったのか?を考えて見ます。ちなみに最初の記事、これで撮影しちゃいましたw
billboardsの構造
大雑把には以下の図のようになってます。樹木のBaseIDごとに2つのファイルが用意されてます。
1つ目はLOD用テクスチャ。
これを板ポリに貼り付け2枚を十字に重ねることで、負荷の低いLODモデルとしてるようです、紙工作みたい。最終的に全てのbillboardsのテクスチャを纏めて、1つのatlas textureを作ります。
2つ目はテキストファイル。
表示するサイズ、このLODテクスチャが対応すべき近景用のメッシュ、スケール情報等が書いてあります。デフォルト値を持っているので全てを書く必要は無いです。
billboardsの競合対策
これを踏まえると、単に2つのbillboardsを導入しただけだと不具合が出ることに気付くかと思います。
SFO用billboardsの後にSSBT用billboardsを上書きしたことで、SFO用LODテクスチャを上書きして潰してしまった訳です。
SFOとSSBTの共存環境というのは、
SFOのテクスチャを使った上で樹木がでっかくなって欲しい
という話です。
そうなるように変更します。
上記と同じ、BaseID 0004B016の木に対するテクスチャとテキストです。
SFO用のテクスチャとSBT用テキストを組み合わせれば、想定通りのLODが出来そうです。
Scale以外の項目が同じなのでこういうチョイスにしてしまいましたが。機械的に単に組合せをテレコにすると、新たな不具合でる可能性有りますので注意してください。
今回やりたかったことは、あくまでSFOのテクスチャのままでscaleをでかくしたい、です。
この組合せに合体させて、billboardsをリパックしてみました。
マージ版billboardsを使ったLOD作成
こんな感じになりました。SFOのテクスチャを使いつつも、LODモデルが巨大化してます。
してるのですが・・・ちょっと小く見えますね?
これは、SSBTのメッシュの倍率は2.0倍なんですね。でもbillboardsで指定したscaleは1.6なので、少し小さくなってます。
billboardsのscaleを2.0にしてLODを作成すると、同じ大きさになりました。
これで万々歳か!?といいますと、あながちそうでもなく。
ちょっと高い所から遠くを見てます。デフォルトの1.6倍と2.0倍の比較。
2.0倍だとちょっとでかすぎる様に見えません?
数字上は正しいのでしょうけど、「遠景」感がイマイチですね。なまじ同じ大きさで色が濃くなってるせいでしょうか。嘘でもちょっと小さい方が雰囲気出てます。好みもありそうですが。
ここら辺は難しいところですね。妥協できるscale値を模索するのもいいかもです。あくまでLODモデルなので妥協必要です。
個人的には1.6でそんな気にならないですが。マシンパワーあればuGrids上げてしまうのも有りだと思います。
うまく活用すれば低スペックでも綺麗な景観作れそうです。GTX660時代にもやっとけばよかったw