読者です 読者をやめる 読者になる 読者になる

Skyrim箱庭DIY

MODによる固有の環境不具合は自分で直して快適ゲーム。CTDにさようなら。Do It Yourself!!

【Skyrim】LODによる遠景の品質改善と不具合修正



スポンサーリンク

続き物です。前回の記事はこちら。

今回はSkyrimのLODについてのお話あれこれと、LODの作成をしてみます。大抵の遠景近景の不整合は綺麗さっぱり解消します。

SkyrimのLOD作成に必要なこと

Oscape

TES5LODGen

Dynamic Distant Objects LOD - DynDOLOD

これらを使って作成できます。

基本的にはロードしたプラグインと、ルーズ及びbsa内のメッシュとテクスチャを参照してLODモデルを作ってくれます。詳細は各Descriptionにて。

 

※(一部訂正)bsaをルーズ展開しないとダメとか最初書きましたが、僕の勘違いです。bsaの中も探してくれます。公開後すぐに気付いたので取り消し線使わず直しちゃいましたが、一応記載しておきます。

 

すいませんがいつもの通り、個別のツールの使い方説明はしません。Descriptionがどれも懇切丁寧ですし。特にTES5LODGenのネクサスのDescriptionと、DynDOLODの同梱htmlは必見です。

オブジェクト(樹木以外)樹木、地形の3種類で、それぞれ扱いが異なります。

この構造を理解しておかないと、樹木のLOD作成でトラブりまくります。 以下で説明します。

 

オブジェクト(樹木以外)のLOD

家、石、風車等、樹木以外のオブジェクトです。ローポリ化された物を、区画ごとにひとまとめにしています。

メッシュファイルは、

Meshes/terrain/<worldspace>/objects

に格納されている.btoのファイル。Nifskopeで開けます

前述のTES5LODGenでも作れますが、DynDOLODを使うとアニメーションするLODが作れたりと、色々便利です。

いくつかのセル(って言っていいんですかね?今更ですが。まあGridです)を纏めて1つのLODモデルになってます。地形は含まれません

下のSSはDragon's Reach周辺のLODモデル。カメラとの距離によって3種類のモデルが使い分けられているようです。

オブジェクトのLODファイル

地形だと32x32のLODモデルも有るようですが、オブジェクトでは見当たりませんでした。

LOD特有の競合とか特に無いので、トラブルは少ないと思います。遠景が巨大なお城なのに近づいたらボロいあばら屋だった、とか経験無いですよね?それはそれで面白そうですが・・・

atlas texture(LODをひとまとめにしたテクスチャ、後述)の場所はジェネレータによって変わると思うので、必要であればNifskopeから探してみてください。 

 

樹木のLOD

そのものズバリ、木です。LODの扱いが他のオブジェクトと異なります。これがちょっと曲者で、LOD不整合の大きな要因になります!

 

Meshes/terrain/<worldspace>/objects

.bttという拡張子で入ってますが、個々の木をローポリ化したメッシュファイルではないです。

テクスチャを板ポリに貼っただけの「立て看板」が有り、これを配置する座標やスケール情報を格納したバイナリぽいです。オブジェクトの時のように複数種類は無く、1種だけです。ただのポップだからじゃないですかね?多分。

 

Mesh/landscape/trees

の中に、通常の樹木のメッシュと一緒に十字に張り合わせた板が入ってるみたいです。 

 

樹木のLODテクスチャの問題

atlas textureと呼ばれる樹木のLOD用テクスチャがあります。

Textures/terrain/tamriel/trees/TamrielTreeLod.dds

1枚のテクスチャに全樹木のLODテクスチャが纏まってます

バニラのatlas-texture

この中から任意の木を選んで板ポリに貼り付け、LODとして使っているんじゃないでしょうか。

ひと纏めになったテクスチャをどう使うかというと、

Meshes/terrain/tamriel/trees/Tamriel.lst

このファイルがいわばUVMAPの集合体のようなもので、各樹木に対応した板ポリがテクスチャのどの座標を使うか?という情報が格納されてるぽいです。文字通りatlas(地図)を読んでる感じですかね。

 

つまり、あらゆる樹木のLODモデルの要は、1枚のテクスチャ1個の.lstファイルにあるということです。MODで樹木のLODを変更する場合、この1枚のテクスチャと1個のファイルを必ず変更する必要があります。したがって樹木のLODを変更するMODが複数ある場合は競合が発生します。近景と遠景が合わなくなる原因です。

 

MODに同梱されてるatlas textureの比較

上がSkyrim Flora Overhaul。バニラと全然配置違いますね。適切なtamriel.lstファイルが無い場合、おかしな境界でテクスチャを切り取ってしまうでしょう。

SFOのatlas-texture

下はRealistic Aspen Trees 4k 2k 1kのSFO対応版。見ての通りSFOのtamriel.lstで切り取れる配置です。

 

こちらはTamriel Reloaded Trees。種類が膨大なので一杯あります。

TamrielReloadedTreeのatlas-texture

 

とまあ、それぞれMODによって全く異なるatlas textureを作っています。複数の樹木変更MODを入れた場合、上書きによってどこかに破綻が起きるのは明白です。

例えば、こんな感じで切り取りのおかしいLODが発生します。浮いてたり切れてたり、あっちこっちイビツです。

lstとatlasの不整合

 

大変なことになりそうですが、ありがたいことにLODジェネレータで解決する手段があります。

 

樹木以外のオブジェクトも1枚のatlas textureを使ってます。こちらは樹木のように全然違うテクスチャを使ったLODではなく、単にローポリ化された物なので、元々のテクスチャから生成してくれてるんだと思います。

関係無いですが「リトポロジー」って言葉はこのクラスのローポリ化でも使っていいんですかね?ちょっと意味違うんでしょうか。

 

TES5LODGenのbillboardを使う

簡単に言うと、Bashed PatchでLeveled Listを統合するように、複数の樹木LOD変更MODを統合して、新しいatlas textureとtamriel.lstを作ってしまおう的な発想です。

ただしこれには条件があって、billboardと呼ばれる素材が必要です。構造理解をしていれば自分で作ることが可能ですが、TES5LODGenのoptional filesに、メジャーな樹木系MODのbillboardが公開されています。ありがたや。これを使えばOKです。 

 

billboardとは何か?というと。

例えばskyrim.esmにあるBase ID 000B8A76の木を例にします。 

Skyrim.esmのTree

 

000B8A76の木はこんなメッシュファイルを使っていて、

Treeのメッシュファイル

 

LODの時はこのテクスチャを使う。

TreeのLODテクスチャ

 

表示する際のサイズとスケールはこれで頼んます!

Width=651
Height=684
ShiftZ=-67
Scale=1.1

 

こんな感じで各樹木のメッシュとLODを紐付けした情報の集合体が「billboard」です。これを使ってLODを作り直すことで、atlas texture周りの競合を回避、つまり遠景と近景に不整合の無いLODを作ることが可能になります。

 

billboardのフォーマットの詳細を知りたい人は、以下のリンクをどうぞ。

afkmods.iguanadons.net

 

別記事でもうちょっとbillboardsに踏み込んでます。

 

地形のLOD

いわゆるlandscape。.btrのファイルで、これもNifskopeで開けます。地形そのものなので、あまりさわる機会が無いかもです。地形が変更されてるMODでも、これが同梱されてるケースは少ないと思います。

Oscapeで作成できます。TES5LODGenやDynDOLODでは作成されませんHigh Quality LODsでOKとする手もあるかも?。僕は使ったことないです、すいません。

Oscapeはドキュメントのリンクが繋がらなくて困っていたのですが、tamu75様の記事が大変参考になりました。そちらを参照してください。

景観系MODでお世話になってる人、すごく多いと思います。

 

SKYREAL: LOD作成チュートリアル:地形編

 

新規作成でなく、環境DIY的改造な僕ら用の補足です。

再作成したいWorldspaceのDefault Water Heightを合わせた上で、Default Land Heightも合わせておかないとうまくいかないかもです。

TES5Editですぐ確認できます。

WaterHeightとLandHeightの確認

 

DynDOLODを使ってLODを作成

以上をふまえて、DynDOLODで作ってみました。うっかり忘れそうな注意点は、

 

  • クリーニングしてDirty editsをしっかり潰しておく(競合してると遠景不整合の原因に)
  • ロードオーダーを確認しておく(同上)
  • バニラ用billboardを入れておく

 

あたりでしょうか。billboard同士の上書きがある場合は、何が必要なのかを考えた上で適宜上書きしてください。これをミスると、当然ですが近景と遠景の不整合が発生します。

DynDOLODは樹木のLOD作成時、TES5LODGenのbillboardを読み込んでLOD作成をしてくれます

繰り返しになりますがDescriptionは読んでおいてください。前回と今回の記事の内容が頭に入っていれば、問題なく読めると思います。

ボタン押してるだけではゲームに反映されません

DynDOLOD

結構時間かかりました。Tamrielだけで30分弱位。

終了後、出力フォルダをリネーム、圧縮してインストール。

 ※偉そうなこと言っておきながら、前の記事でのpineのLOD間違ってました(汗)

 

風車のLODの比較。ちゃんと羽根も回ります。GTX660時代にこんな高精細のLOD使ったらキツかったかなぁ・・・

風車のLOD比較

 

The Pale Reduxでの遠景。樹木が削除されたespからLODが作成された為、遠景でも綺麗な大平原。

遠景樹木の削除完了

 

Legendary Cities - Tes Arena - Skyrim Frontier FortressのBlackmoor Fortless。遠景でもしっかり町並みが見えます。

Skysight - Simply Bigger TreesRealistic Aspen Trees対応版billboardもあったので、遠景でもしっかり木でかいです。

追加オブジェクトのLOD生成

 

こんなatlas textureを作ってくれました。

生成されたatlas-texture

 

LODモデルが綺麗になると結構変わりますね。LODを徹底的にショボくしてuGridsを上げるか悩ましい所ですが。そこまではパワー無いかなぁ・・・

景観系MODを多用している人は是非。マシンパワーに自信ない場合は、樹木の不整合だけ直すのもいいかもしれません。

 

よかったらおまけの参考記事もどうぞ。

 

複数のbillboardsを使ったLOD作成。