ポーズの微調整に特化したツールhkxPoser
hkxposerlogo
hkxPoser
ポーズの微調整に便利なツールの紹介です。
ダウンロードのページ
続きを読む
初回ロードCTD対策mod Load Game CTD Fix


起動してから初回のセーブのロード時にクラッシュするのを初回ロードCTD(海外だとFootIK bug)と言います。このバグはLoad Game CTD Fix導入するだけで対処できます。Continue Game No Crashの同作者による後継です。

要:SKSE最新版
SKSEプラグインのみです。導入に特に設定する必要ありません。

ダウンロードリンク:Load Game CTD Fix

解説

原因はFNISで大量にポーズやモーションを追加しすぎると、ロード時に読み込みすぎてクラッシュすることなんですが、セルにNPCがいないプレイヤーのみの状況でセーブし(Haven bagやqasmokeなど)してそれをロードすることによって回避が可能でした。この安全なセーブをロードする処理を自動化するのがContinue Game No Crashです。
安全なセーブ→通常のゲームのセーブと二重にロードするため、起動時初回のみロード時間が増大するデメリットと、一部の人にとってはセーブ保存時に問題が発生したりする場合があることがありました。これは対処療法でしかなくて、もっと根本の部分での解決を目指したのがLoad Game CTD Fixです。

もう少し原因に迫ると、スカイリムには重要データを保護するミューテックスがないのです。
ミューテックスはマルチコアでゲームデータを読み込むときに重要なデータが一つのスレッドだけで読み込むようにロックするものだと思ってください。別のスレッドが書き換えちゃったら競合しちゃいますよね。これは通常のスカイリムのデータ量ではほとんど問題ないんですが、modによってデータが大量に追加されることで問題が発生します。

Load Game CTD Fixはロード時のみシングルコアでデータの読み込みをすることで、この手のクラッシュを回避します。デメリットとして通常よりロード時間が増大しますが、Continue Game No Crashの二重ロードよりは速いです。

ロード時間短縮にはメニューとロード時の煙を非表示にするNo Menu and Loading Smokeとの併用もおすすめしてます。メッシュ置き換えのみです。煙もCPU計算なので。

このバグ以外のクラッシュには対処できないのでCTD対策記事を読んだり、Crash fixesの導入も推奨します。





ブルーマに行ける大型クエストmod Beyond Skyrim - Bruma
7/04 23:00 追記:バージョン1.2が出て、場所によってCTDしていた部分が直ってだいぶ安定しました。
7/02 15:00追記:クラッシュの報告が多数上がっているので、捨てセーブで遊ぶか、更新を待ったほうが良さそうです。

Beyond Skyrim: Brumaはシロディールのブルーマを舞台とした、DLC ドラゴンボーンより大きく密度のあるマップ、新しいストーリー、24000行以上のダイアログとフルボイス、新しい武器や防具、BGMを備えている大型クエストmodです。

ダウンロード:http://www.nexusmods.com/skyrim/mods/84946/


Welcome to Cyrodiil!
続きを読む
クエストmod紹介 The Wheels of Lull
ドラゴンをトーマスに置き換える衝撃の世界観ぶち壊しmodを世に送り出したTrainwiz氏が製作総指揮、完全に世界観に沿いつつマニアックで頭おかしいクエストmod― modとは、ロアとは、という問いに根底から揺らぎにかける―
それがThe Wheels of Lull

enb-2016_12_16-17_58_35_58.jpg


本編はフルボイスで、高品質な日本語訳もある。
説明文の訳を読んで意味がわからなかったら、正常だ。
でも、これがロアフレンドリーなんだ…
続きを読む
初回ロード時CTD回避できる Crash Fixes
追記1/24 15:00 色々補足
どうも初回ロード時CTDとおさらばできそう?


Crash fixes
要:最新のSKSE
最近で一番注目株と言っていいその名の通りクラッシュを回避できるmodのご紹介


初回ロード時CTDはスカイリムを起動してから最初のロード時にNPCがいるエリアだと高確率でCTDする減少で
原因はバニラ以外のモーションファイル入れすぎなのまではわかっています。
軽減はできるのですが、根本的な対処法がイマイチつかめなくて挫折してたんですがコレ入れてからは一度もCTDしてないです。
ただし、初回ロード時のCTD回避できるかは環境による模様。

このCrash fixesはSKSEのクラッシュダンプファイルを参考にクラッシュの原因をスキップしたりするものです。
ユーザー側で対策取りにくいぬるぽ(null pointer)などのメモリ周りのクラッシュ回避や、間違うと即CTDにつながりやすいnifのノードやスケルトン、あとはHavok領域などのクラッシュ回避です。

スクリプト関連の修正はさっぱりないです。
基本的に問題をスキップするmodなので、これとは別に負荷対策やメモリ設定とはしっかりやっておきましょう。
スカイリムのCTD対策

ただし、ゲーム開始直後にクラッシュする場合かつ、
ENBのENBLocal.iniReduceSystemMemoryを有効にしている場合は、
Skyrim\Data\SKSE\Plugins\CrashFixPlugin.iniAlignHeapAllocate=1AlignHeapAllocate=0にしてください。
※ちなみに私の環境ではどちらも有効にしてますが、特に不具合はないです。

人によっては副作用も報告されていて、無限ロードがでたりするそうです。
その場合は無限ロード対策modのSafety Loadの導入を作者は勧めています。
副作用はプラグイン抜けば直るので導入にはそんなに警戒しなくても。

Skyrim\Data\SKSE\Plugins\CrashFixPlugin.iniにて設定ができます。
不具合が出たらこちらを弄ってみるといいかもしれません。
以下解説ですが、私も作者も分かってない事が多いので話半分で。
=1でオン。=0にすればオフにできます。

CrashFixPlugin.ini
StrCmp=1
モーション制御系で別スレッドでスケルトンが削除されてたときのクラッシュ?
非常に一般的な修正で広く効くそうなので特にオフにする理由はないとのこと。

StrLen=1
NiNodeの名前を比較して片方がNullだとクラッシュするのを回避。
これもオンで良いかと。

UnkUniqueId=1
セーブをロードするときのクラッシュ回避。原因は不明。

Render650=1
セーブをロードするときのクラッシュ回避。原因は不明ですが、おそらくレンダリングまわりとのこと。

UnkObjRef4D4EB0=1
コレも原因不明。何かのオブジェクト参照時?

NullSeenData=1
ゲームがロケーションのSeen(?)データを保存する時にそのデータがNullの時のクラッシュ回避。

StringRefSetNull=1
BSFixedStringの引数がNullの時のクラッシュ回避。Nullの時は無視してクラッシュするよりましとのこと。

SkipStrLenCrash=1
StrLen(文字列の長さ?)のクラッシュをスキップ。

bhvGraphUpdateLoad=1
ロード中のクラッシュを回避。おそらくモーション制御周りの何か。
一般的なクラッシュだそうです。

Unk11=1
ロード中のクラッシュ回避。おそらくレンダリング周り。

MissingNode=1
互換性のないskeletonを使用した時のエラー。直すのではなくメッセージが出るっぽい?

AlignHeapAllocate=1
地形に関するコンストラクタがちゃんと割り当てられてないクラッシュ?
uGridが高いと起きやすいクラッシュ。割り当てなのでこれだけちょっと別の機能

IndexError1=1
不明なアドレスの配列とインデックスのひも付けが行われたときに先にアドレスチェックしてクラッシュ回避

InitialAnimationLoad=1
iniのAnimation項目のbInitiallyLoadAllClipsと同じ効果のある設定。
こちらで設定した場合iniの方は不要とのこと。おそらく初回ロード時CTDに関係してます。

技術的に踏むこむとすべてのアニメーション(クリップ)をロード時に読み込んでます。
バニラ以外のモーション関連ファイルのクラスがnull扱いされてて、それが増えすぎるとCTDするようです。
スカイリムのiniのAnimation項目のbInitiallyLoadAllClipsとCrash fixesの修正は同一で
iniの方は私の検証では効果ありませんでした。
が、Crash fixesの方はおそらく別の効果と複合して効果があると思います。


MovementPlannerAgentWarp=1
エラー箇所の機能は謎ですがnull系。Nullの時は0返して回避。

UnallocatedMovaps=1
いくつかのHavokでのアニメーションオブジェクト(のvtable)で起こるクラッシュの回避