PR

【スカイリム2026】遠景の仕組みを理解して最適化してみよう – 第一回 地形編

スカイリム

こんにちは。まとんです。

遠景づくりは手順が多くてとっつきにくいものの、一度覚えてしまえば何度でも作り直せるようになります。

とはいえ、そこから先の調整が大変で、どこからどう手を付ければよいか悩む方も多いと思います。

そこで今回は、遠景生成のツールやMODのつながりを分かりやすく整理してみたいと思います。

まとん
まとん

仕組みが分かっていれば、調整が格段に楽になると思います。

今回は地形編(xLODGen)です。

    本記事は遠景生成で使う各ツール(xLODGen、NGIO、DynDOLOD)の操作方法が分かっている方を対象にしています。

    各ツールの使い方までは解説しませんのでご承知おきください。

    YouTubeなどを参考に、一度遠景制作に挑戦してみた後にご覧いただくと理解しやすいと思います。

    今回の解説範囲と使用ツール

    遠景は大きく地形、草、木や建物オブジェクトの3種類に分かれます。

    今回は、地形について解説します。

    地形の作成には xLODGen を使用します。

    LODレベル

    xLODGenでは地形メッシュをLODレベルごとに作成しますので、まずLODレベルについて理解を深めてみたいと思います。

    アクティブセルとLOD

    スカイリムの地形はプレイヤーがいる場所を中心として、アクティブセル、LOD4、LOD8、LOD16、LOD32の段階で描画されます。

    アクティブセルはLODではなくフルモデルが描画される領域です。これはプレイヤーの周囲5×5セル固定です。

    さらにその先の領域がLODとなります。

    LODの範囲はSkyrimPref.iniのfBlockLevel0Distance、fBlockLevel1Distance、fBlockMaximumDistanceで決まります。

    それぞれ、LOD4、LOD8、LOD16の距離を決める設定値です。

    ざっくり図にするとこんな感じです。LOD16よりもさらに外側の範囲はLOD32となります。

    セルとユニットについて

    セルは5×5とか7×7で定義するのに対し、fBlockLevel0Distanceなどの設定はユニット数で定義します。

    単位が違うので、混乱しやすいです。

    先人の方々の情報によると、セルとユニットは以下の関係のようです。

    1セル = 4096ユニット = 約58メートル
    まとん
    まとん

    つまり遠景とは、プレイヤーの前方100m先からの景色のことです。

    uLargeRefLODGridSizeについて

    SkyrimPref.iniには、もう一つLODと密接に関係する設定値があります。

    それが「uLargeRefLODGridSize」です。

    uLargeRefLODGridSize

    アクティブセルより広範囲でフルモデルを描画する仕組み。

    まとん
    まとん

    SE版で追加された機能のようです。

    アクティブセルは固定ですが、この数値を7や9のように大きくすると、その範囲までフルモデルが描画されるようになります。

    まとん
    まとん

    uLargeRefLODGridSizeは、バニラ環境で遠景を強化する目的で用意された機能です。

    この値を変更すると、図の通りLODの範囲に食い込みます。

    そのためこの数値を大きくするなら、それを考慮してLODを考えていく必要があります。

    uLargeRefLODGridSize のメリット・デメリット

    フルモデルの方はメッシュを一切簡略化しないモデルなので、当然遠景モデルよりきれいです。

    また、ENBやCommunity Shadersなどのエフェクトの恩恵もフルに受けることができます。

    まとん
    まとん

    遠景の草は揺れませんが、フルモデルの草は風で揺れます。

    そのためuLargeRefLODGridSizeが大きいほど大変きれいで没入感のある景観となりますが、その分パフォーマンスが死にやすいです。

    uLargeRefLODGridSizeがパフォーマンスに与える影響を測ってみました。

    まとん
    まとん

    MODもりもりの環境で、ホワイトランの入り口からツンドラを見渡してみたところです。

    地形の明るい部分がフルモデル。暗い部分が遠景です。

    uLargeRefLODGridSizeが大きいほど、フルモデルの描画範囲が広がっているのがわかるかと思います。

    uLargeRefLODGridSize = 5
    uLargeRefLODGridSize = 7
    uLargeRefLODGridSize = 9
    uLargeRefLODGridSize = 11

    まとめるとこんな感じです。

    uLargeRefLODGridSizeドローコール(Grass)VRAMFPS
    59383.91GB57
    717023.82GB46
    925684.36GB42
    1136704.22GB35

    uLargeRefLODGridSizeを上げるほど、パフォーマンスが劣化しているのが確認できると思います。

    私の環境ではuLargeRefLODGridSize=7からすぐに影響が出ましたが、良いグラボをお持ちであればFPS低下はもっとゆるやかになると思います。

    まとん
    まとん

    参考までに、私は「玄人志向 RD-RX7600-E8GB」を使っています。

    設定の考え方

    SkyrimPref.ini

    まずSkyrimPref.iniを見直し、フルモデルの描画範囲とLODの描画範囲を正確に決めるのがおすすめです。

    まずuLargeRefLODGridSizeでフルモデルの描画範囲を決めましょう。

    まとん
    まとん

    私の場合は5→7に変更しただけで10FPSも低下するので、5一択です。

    続いて、fBlockLevel0Distance、fBlockLevel1Distance、fBlockMaximumDistanceを決めます。

    この数値は4096の倍数で設定するとセル境界と一致するので無駄がないです。

    4096ユニット = 約58mですので、それをイメージしながら設定しましょう。

    私の場合は以下のようにしてみました。

    項目設定値メートル換算
    fBlockLevel0Distance36864約500m
    fBlockLevel1Distance86016約1200m
    fBlockMaximumDistance184320約2600m

    uLargeRefLODGridSizeはプレイヤー中心の直径になのに対し、こちらはプレイヤーを中心とした半径設定です。

    上の設定値の場合はこんなイメージになります。

    間違いやすいので気を付けましょう。

    まとん
    まとん

    この設定値はDynDOLODのMCMでゲーム内から変更することもできます。

    xLODGen

    SkyrimPref.iniの設定値が決まったら、xLODGenの設定値を変更していきます。

    基本的には近いものは高品質に、遠くにいくほど品質を落として不必要な負荷がかからないよう値を下げていきます。

    LOD4

    まず基準としてLOD4の設定値を作っていくのがおすすめです。

    LOD4はプレイヤーに最も近く、最も目に入りやすい遠景です。

    そのため粗いと没入感がそこなわれてしまいますので、精度の高い設定にします。

    まとん
    まとん

    ここはパフォーマンスよりビジュアル重視。

    ただし、uLargeRefLODGridSizeを7以上にした場合はLOD4の開始位置が遠くなるので、少しくらい粗くても気にならないと思います。

    まとん
    まとん

    フルモデル描画で低下するパフォーマンスを、LOD4を粗くすることで少しだけ相殺させられると思います。

    でも完全相殺は厳しいので、過度な期待は禁物です。

    LOD8、LOD16

    LOD4の半分程度の品質に設定します。

    メッシュのQuarityに関しては、LOD16はさらにその半分の品質でも良いと思います。

    LOD32

    LOD32はちょっと特殊で、遠景だけでなく地図にも使用されます。

    まとん
    まとん

    メニューのマップから開くアレです。

    これの品質を下げてしまうと地図上の海岸線がガタガタになってしまうとのことで、精度は高めに設定します。

    ただし Flat World Map Framework (FWMF) など、そもそも3D地図を使わないのであればこの話は関係ありません。

    一番遠くに見えるだけの景色として設定しましょう。

    Height maps

    Community Shadersを使用している方は、ON推奨です。

    Terrain Shadowsという機能で利用されます。

    Height mapを作っている場合は、Terrain Shadowsの「Debug」→「Has height map」から確認できます。

    Height mapが認識されるのは屋外だけです。

    屋内や街中では確認できないので、ワールドマップに出た状態で確認してください。

    Optimize Unseenについて

    Optimize Unseenは表に見えない部分(地面の下とか)のメッシュを簡略化し、その分表側の見栄えを良くする機能です。

    大変素晴らしい機能なのですが、DynDOLODの作者様曰く「スカイリムは古いゲームなので、見判定が正確ではない」とのことです。

    そのため、あまり大きな値にすると地形が崩れたり穴が空いたりする原因になってしまうようです。

    LOD4はOFF。LOD8、LOD16はOFFかON。LOD32は550以内が推奨とのことです。

    明るさ設定について

    Community Shardersでは遠景の明るさをゲーム内で調整できるようになっています。

    基本的には触らず、ゲーム内で調整するのがおすすめです。

    その他の設定について

    他の設定はあまり特筆すべきことがありません。

    DynDOLODページ の推奨設定に従いましょう。

    参考設定

    参考になるか分かりませんが、私の設定値を載せておきます。

    私は Flat World Map Framework (FWMF) を使っているので、LOD32は単なる遠景としてLOD16のさらに半分の品質で作成しています。

    3Dマップを使っている方は、LOD4の設定値と同じで良いと思います。(Optimize Unseenは550のままでOK)

    次回は草キャッシュについて解説します。

    スポンサーリンク

    コメント

    タイトルとURLをコピーしました