メ○ガキ退魔棒 クラッシュの直し方
→作品情報まとめ
クラッシュの原因は、遊んでるPC環境にあります。
ここにまとめたものは、いずれもPCゲーム一般に通用するものです。
※Fatal Errorポップアップは僕のコードのバグが原因です
DLsite Nest経由でなく直接exeを実行する
環境によってDLsite nest経由で実行するとエラーになることがあります
半角スペースフォルダを避ける
unityが不安定になることがあるようです
半角スペースが入ってないフォルダにしてみてください
ShaderModel5.0に対応してるか確認
動作に必須です
対応してない場合、動きません!!
古いIntel CPU or GPUだと動きません!!!!
グラボ搭載してるならグラボの型番とShaderModelで検索してください
ノートパソコンとかでオンボードの場合は、CPU型番とShaderModelで検索してください
ゲームを管理者権限で起動する
app.exeを右クリックし「管理者として実行」する
GPUドライバをアップデート
ドライバアが古い場合はよく起動時にクラッシュします
更新しましょう
CPU内蔵GPUでも、ドライバ公開されてます
ウイルスソフトを止めてみる
たまにゲーム内のdllとか削除することがあります。
Windows Defenderも過去にUnityから出力されたファイルをウイルス扱いして消したことがあります!!
古いCPU(タイトル画面は正常だがシーン切替てクラッシュ
unityのバグですが、古いCPUでは高速な計算に対応できてないことありました
どのくらい古いと危ないのかは以下のリンク参照
https://ci-en.dlsite.com/creator/763/article/932318
TDRの無効化
グラボがゲームの起動に時間がかかる場合、強○クラッシュになることがあります
レジストリの書き替えになるのでレジストリのバックアップした方がよいです
Windows+Rを押す
regeditと入力しEnter、レジストリエディタが起動する
メニューバーからFileをクリック、Exportを選ぶ
バックアップの保存する
バックアップをとったらレジストリ設定をいじりましょう
レジストリ設定をいじる
レジストリエディタを開き、以下のパスを追う
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers.
二種類の方法があります。
1:タイムアウト時間を延ばす(推奨
GraphicsDrivers項目の、TdrDelayの値を探す。もしなければ右パネルの空の領域で右クリックしNew、DWORD(32-bit)Valueを選ぶ
TdrDelayにリネームしてやり
TdrDelayをダブルクリックし、Value dataフィールドの値を10以上にする(もっと長い秒数にしてもいいけど)OKを押し保存
2:タイムアウト方式を変える(非推奨
GraphicsDrivers項目の、TdrLevelの値を探す。もしなければ右パネルの空の領域で右クリックしNew、QWORD(64-bit)Valueを選ぶ
TdrLevelにリネームしてやり
TdrLevelをダブルクリックし、Value dataフィールドの値を0にする。OKを押し保存
レジストリエディタを閉じ、windows再起動
DirectX診断ツール試す
windows10なら心配ないと思いますが、directx11 ShaderModel5 必須です
ディスプレイの項目で「問題は見つかりませんでした」になっていればOKです
DirectX shader cacheの削除
壊れることがあるらしいです。
ディスククリーンアップ方法
Nvidia シェーダーキャッシュ無効化
上記とも関係ありますが、消して最初の一回は正常に遊べたけどキャッシュが作られたらクラッシュするようならキャッシュしないようにすべきです
Nvidiaコントロール> 3D設定の管理 > グローバル設定 > シェーダーキャッシュ「オフ」にする
Nvidia Physx設定を見直す
噂レベルです
https://helpsupport.blog.fc2.com/blog-entry-145.html
「NVIDIAコントロールパネル」>「PhysXの構成の設定」>「自動」ではなく現在積んでるドライバに指定
「コントロールパネル」>「システムとセキュリティ」>「システム」>「Windowsエクスペリエンスインデックス」を実行。
CPUのオーバークロックを無効化
これはintel turbo boostも含みます(標準で有効化されてますが、unityでは危険です
Intel Core i7以上の人はクラッシュするなら全員今すぐBIOSで無効化してください
GPUのオーバークロックを無効化
MSI Afterburnerとかでオーバークロックしてませんか?unityでは危険です
無効化してください
XMPを無効化
オーバークロックメモリもunityでは危険です
BIOSで無効化してください
https://akiba-pc.watch.impress.co.jp/docs/dosv/674941.html
GPUクロック数をダウン
手動でオーバークロックしてなくても工場出荷時の時点でオーバークロックされてることがあります。
BIOSでクロック数を下げるとクラッシュが直ることがあります(上級者向け
メモリのクロック数をダウン
BIOSで下げたら直るという噂があります(上級者向け
CPUの世代ごとに保証しているメモリクロックは異なるので注意です
自作したりメモリ増設してたら知らないうちにオーバークロック状態になってるかもしれません
https://www.crucial.jp/support/articles-faq-memory/understanding-cpu-limitations-with-memory
windows10のパワーオプションを変える
CPUクーラーがいまいちだとCPU温度が上がるのでこの設定には注意
電源プラン、高パフォーマンスを選ぶ
Windows 10 (Version 2004) Update: KB4589212 をアンインストール
Windows 10 (Version 2004) Update: KB4589212 をアンインストールしてみてください。
2021年3月のwindowsアップデート後にゲームがクラッシュするようになり、消したら直ったという書き込みがunity forumにあります。
OSのクリーンインストール
昔からある最後の手段ですね