DistantHorizons Standalone(DH)について
・遠くなるほどチャンクの描画を簡略化するLevel of Detail(LoD)で軽量な長距離描画を実現する、DistantHorizonsの1.7.10版。
・本来Angelicaに統合される予定だったが、結局独立したので「Standalone」になっている。
・使用しているDistantHorizonsは最新のオリジナル版(3.0.0-beta)。互換レイヤー等で動いているらしい。
・しかし、Shader互換性はAngelicaのShader対応の関係で低く、最新のComplementary(EuphoriaPatches)とBSL、Photonぐらいしかまともに使えない。github.com
経緯
DistantHorizons Standaloneは前からあったが、Shader非対応だった。最近Shaderに対応したが、今度はKaizPatchが最新のAngelicaに非対応という問題が発生。双方の開発者が連絡を取り、一応クラッシュするのは治ったが、今は描画バグの解決中。
注意
・DistantHorizons+ShaderはPCに結構な負荷がかかる。この記事では高スぺPC向けに解説していく。
・まだ更新中で不安定なため、今回の構成を常用するのは非推奨。普段の構成のコピーを作って試すのが良い。
・ワールドの保存が遅くなる。
ー必要なものー
今回は公式ランチャー(Windows11)向けに説明する。
ーmodの変更ー
一部のmodは、Angelicaに対応したGTNH版に変更しないと、クラッシュ等が発生する可能性がある。既にGTNH版にしている場合は、最新版を使っているか確認する。
ProjectRedの前提modをGTNH版に置き換える - 渡海工場事務所
ー構成ー
・天候が変わるのを止めたいならEt Futurum Requiemを導入する。
https://madoha-4862.hatenablog.jp/entry/2024/12/12/181500#%E3%83%BCEt-Futurum-Requiem%E3%83%BC
- Angelica(2.1.18以降)
- DistantHorizons Standalone
- GTNHLib(0.10.9以降)
- HodgePodge
- KaizPatchX(1.10.0-rc2以降)
- Lwjgl3ify
- UniMixins
ーShader(推奨)ー
ーConfig変更ー
RTM.cfgで、"ModelPack load speed"=2(デフォルト)
⇒3にするとパック(スクリプト)読み込みでクラッシュする。
hodgepodge.cfgで、addSimulationDistance_WIP=true
⇒鯖側の負荷を下げるKaizPatch1.10.0-beta2以降では不要
ー競合するmodー
・OptiFine、Fastcraft、BetterFPSはAngelicaが起動時に無効化する。
・SmoothFont:Angelicaに同じ機能がある。
・Liteloader:LiteloaderLoaderを入れてみる。それでも無理なら諦める。
⇒VoxelMapの代替:JourneyMap
Xaero's Mapもクラッシュが修正されて使えるようになった。
Xaero's Minimap - Minecraft Mod
Xaero's World Map - Minecraft Mod
起動する
・起動構成では今まで通りJava8を指定する。
・起動すると設定ウィンドウが出て来る。
・「Add」でインストールしたJava25の「javaw.exe」を指定する。
・C:\Program Files\Eclipse Adoptium\(Java25のフォルダ)\bin\javaw.exe
・「Garbage collector」を、DHが推奨する「GenerationalZGC」にする。メモリに余裕が無い場合はデフォルトのG1GCにする。
・「Custom options」に-XX:+UseCompactObjectHeadersを追加すると、メモリ消費の削減ができるらしい。
・「Max memory」でメモリを割り当てる。ZGCを使うので、多めに割り当てた方が良い。
・「Run」で起動する。

・起動するとログのコンソールが出て来る。クラッシュログのことを考えると、ゲーム終了まで閉じない方が良いかも。

・今回の方法だと、ログ周りが複雑になる。
ー起動時の不具合ー
・Lwjgl3ifyの不具合の一つとして、
java.lang.NullPointerException: Cannot invoke "java.lang.Comparable.compareTo(Object)" because "c1" is null
がある。要するに確率的なクラッシュなので、無視して再チャレンジ。
Lwjgl3ify 3.0.21で修正済み。
・パックのスクリプトの問題でクラッシュすることがある。
⇒対策:GitHub - 325-Sunnygo/LWJGL3ify-rtm · GitHub
Angelicaとその周りのmodの解説
マルチプレイ
・鯖側がJava8のままでも、Lwjgl3ifyを入れたクライアントで入ることができる。逆に、Lwjgl3ifyを入れた鯖にJava8で入ることもできる。
・DHを鯖に入れると、既存チャンクからLoDチャンク生成を行い、DHがあるクライアントに送信する。ただし、結構な負荷がかかるので、広大なワールドだと長時間鯖が重くなる。
・HodgePodgeとGTNHLibは、鯖に入れた場合はクライアントでも必須になる。全員がAngelicaを使うなら問題ないが、OptiFine使用者がいるならこの2つを抜く。
Angelica(Embeddium)の設定
・SodiumとIrisを使ったことがあるなら大体分かると思う。日本語化リソースパックを作った。
・Alt+F3(Alt+F4と間違えないように)でクライアントと内部鯖の負荷の程度が見れる。鯖側の表示はシングルプレイのみ。

Angelica(Iris)とShaderについて
・「キー設定」で「Shaderpack Selection Screen」を割り当てると便利。

・設定変更したら、「Apply」を押して反映。
・Shaderの重さの目安:Complementary > SEUSRenewed ≧ BSL。
・しかしAngelicaでSEUSを使うと何故か重い。
・Complementaryを使う場合は、EuphoriaPatches有りの方だと、設定が翻訳されているのでおすすめ。
・「EuphoriaPatches設定」⇒「人気の設定」⇒「季節:冬」にすると、全体に程よく雪が積もって綺麗。
・「その他」⇒「雪景色:ON」だと、ブロックのみ完全に雪に覆われる。

・IrisにはOptiFineにあった描画解像度の変更機能が無いが、最近のShaderは元から解像度が高いのであまり必要ないと言える。
・Shader側でUltra設定にすれとさらに綺麗になっている気がする。ただし激重。
DHの設定
・視野の隣のボタンから。


「Enable Rendering」:LoDチャンク描画をON/OFF
「LOD Chunk Render Radius」:DHの描画距離(デフォルト:256、ビデオ設定の描画距離とは独立している)
「Quality Preset」:LoDチャンクの品質(Minimum~Extreme)
「CPU Load」:DHに使うCPUのスレッド数(Minimal Impact~I Paid For The Whole CPU)
「Enable Distant Generation」:LoDチャンク生成のON/OFF
「Enable Server Generation」:DHが入っている鯖からLoDチャンクを受け取るかのON/OFF(シングルでは関係無い)
「Show Generation Progress」:LoDチャンク生成の進捗をゲーム画面に表示(これをONにしなくてもF3画面には表示される)
「Enable Cloud Rendering」:DHの雲の描画のON/OFF
ー通常の描画距離との相性、RTMオブジェクトについてー
・RTMのオブジェクトの大半はエンティティか、タイルエンティティで、これがDHの簡略化と相性が悪い。
・つまり、ビデオ設定の描画距離=RTMのオブジェクトが正常に描画される距離。
・撮影の際、ビデオ設定の描画距離はなるべく長い方が良い。
・特に前面展望では、ビデオ設定の描画距離が長くないと見た目が残念になる。
・画像ではビデオ設定の描画距離が8、DHの描画距離が32。

描画バグ等の不具合について
・ShaderがOFFの時に車体が透ける。原因不明。台車はなぜか大丈夫。
・ShaderがONだとなぜか治る。Angelica側の修正で治った。
・車体の影が無いのはKaizPatchX側で修正済み。

・黒レールバグが復活。原因不明。ShaderがONだと多少ごまかせるかも。KaizPatch側で修正済み。

・Shaderによっては半透明がおかしい。Angelica側で修正済み。

・Angelica 2.1.33からSEUSRenewedが割とまともに動くようになった。
・ただし、照明のバグとタイルエンティティの描画が変なのはそのまま。

・1.12.2likeのマーカーがバグって使えない。Angelicaに必要な機能が入っていないので、サポートされない。
