KRNKRS
(KRNKRS)
October 18, 2017, 9:28pm
1
現在制作中のゲームを実行ファイル形式でプレイしてみようとしたところ、以下画像のようなエラーが面が表示されクラッシュしてしまいます。
エラー文を見てみるとAsyncLoad.cppで問題があるようですが、AsyncLoad.cppを弄った覚えはないですし「PackagesWithNodes」とかうのに関係あるのかな?とググってみてもヒットしないしでお手上げです。
出力設定は「Shipping」してもせずとも同じでした。
出力の際のアウトプットログにも警告やエラーは確認していません。
ですが見落としがあるかもなので一応こちらに添付しておきます。
[link text][2]
よろしくお願いいたします。
unaunagi
(unaunagi)
October 19, 2017, 4:49am
2
ブループリントのネイティブ化が原因かもしれないです。
ちゃんとコンパイル出来てるはずなのにエラーがでるということがあります。
その場合ネイティブ化が原因というエラーはでないので、原因不明な感じになります。
いったんネイティブ化無効でパッケージ化+動作確認してみて下さい。
具体的に何がどう悪いのかはわからないのですが、
Blueprint Nativization MethodをExclusive にすると、ちゃんと動かないことが結構ありました。
Inclusiveにして高速化が必要な部分だけ対象にした方が安定します。
KRNKRS
(KRNKRS)
October 19, 2017, 1:03pm
3
「Disabled」「Inclusive」「Exclusive」の全てのパターンで試してみましたが、「Disabled」は質問時点での状態であるため結果は同様。「Exclusive」はご指摘の通り出力に失敗。
しかし「Inclusive」は同様のエラーは発生するものの、エラー文が異なっていました。
*
LowLevelFatalError [File:D:\Build++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 706] Attempt to process /Game/BP/KeyAssign/KeyAssign before it has been added.
*
「KeyAssign」とは私が作ったenumですが、これを何かしらする必要があるのでしょうか…。
KRNKRS
(KRNKRS)
October 19, 2017, 1:33pm
4
試しにテストで作っていたC++ファイルを削除した所、「Disabled」で起動できる形には出力できました。しかし動的に生成(CreateWidget)したウィジェットが生成されず、また操作が出来なくなってしまいます…。
「Inclusive」では起動はするものの、真っ暗な画面で「FataError!」とだけ書かれたウィンドウが表示されます。
KRNKRS
(KRNKRS)
October 19, 2017, 2:44pm
5
ウィジェットが生成されない理由が分かりました。
レベルBPで生成したウィジェットがさらに子としてコンストラクタ内でウィジェットを生成するようにしていたのですが、その前にGameInstanceの取得を行っていました。しかしそのGameInstanceの取得に失敗しているらしく、次の処理(つまり子ウィジェットの生成)まで行っていないのが原因でした。
なぜGameInstanceが読み込めないのかは別スレッドで質問させていただきます。
とりあえずこちらは実行可能状態までもっていくことが出来たため解決済みとさせていただきます。