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

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

妹、存在しないゲームインスタンスを参照してクラッシュする

デバッグ

妹「セーブの実験をしてたらゲームインスタンスがおかしくなってしまった。今見たら設定がNoneになってて、設定し直そうとするとクラッシュしちゃう」

「とりあえずのこっちのパソコンでもなるか確認して……ならないね」

妹「えーーーー! うちのパソコンが壊れてるの!?」

「いや多分そういうことじゃないと思うけど。Noneになってるのは一緒だし。でもなんでだろ、バージョンは同じだし。Windows10にしてるからかな」

妹「クラス階層の再ビルドとかいうメッセージは出てきた?」

「でてこない」

妹「なぜだ……」

「いつからこうなったの?」

妹「最初はちゃんと動いてたんだけど、多分フォルダを移動した時かなあ。ちゃんとリダイレクターを解消したつもりだったんだけど、気が付くとそんな状態に」

「強制削除とかはしてないの?」

妹「してなかったと思うんだけど、それ以上は自分の記憶がどれぐらい信用できるかという問題になってくるから」

「とりあえずこっちのパソコンで別のインスタンスを設定して、それを妹用パソコンにコピーすると正常に動くようにはなった。インスタンスの切り替えも出来る」

妹「ということは、こうなっちゃったら兄のパソコンがないと直せないってこと?」

「他にも直す方法はあるよ。まずエクスプローラでプロジェクトの中身を見る」

f:id:una_unagi:20150826174627p:plain

妹「またエクスプローラか」

「UE4の中で解決しない問題はだいたいエクスプローラが必要になる。で、Configフォルダを見る。設定関係のファイルはだいたいここにあるから。ダブルクリックするとメモ帳で中身を確認できるから、見た感じそれらしいものを探す」

f:id:una_unagi:20150826174753p:plain

「DefaultEngine.iniに、インスタンスがどうのこうのと書いてある場所があったから、多分ここが原因だろうと思う」

妹「あ、これ変更前のフォルダ名が書いてあるみたい。"ワールドマップ"っていうフォルダ名にしてたけど、タイトル画面でも使う物が多いから、"ワールド タイトル"というフォルダに移してる」

「設定されたファイル名のとこにデータがなかったから、結果として実在してないインスタンス型を探させるかたちになって、その結果設定画面でNoneと出たり、クラッシュしたりしたんだと思う」

妹「じゃあここを新しいフォルダ名に書き変えたら動いたりするの?」

f:id:una_unagi:20150826175536p:plain

「こうすると元通り動くようになる。でもこれをやるのは今回みたいにバグっちゃっててどうしようもない時だけ。間違って変なとこ書き換えたらかえっておかしな事になるから。他に方法がない場合でも、元のファイルはコピーして保存しておいた方がいい」

妹「名前変えたりフォルダ変えたりすると毎回問題起きるなあ。整理とかしない方がいいものなの?」

「安定動作の観点から言えば整理しない方がいいけど、でも何がどこにあるかわからなくなると自分のミスで変なことになる可能性がある。どちらかというと整理した方がいいと思う」

妹「兄が直してくれるなら別にいいか……」