妹でもわかるUnrealEngine4

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

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

ディスパッチャーを使ったら、Faild import for functionエラーが出た時の対処法(仮)

f:id:una_unagi:20170915235432p:plain

「ちゃんと動作はしてるんだけど、プロジェクトを開いた時の謎のエラーが気になる……」

妹「何やったの?」

「いや普通にディスパッチャーを作って、イベントをバインドして、UMGのアニメーションが終わったタイミングで色々やろうとしただけなんだけど。色々するところを全部消しても駄目で、バインドした段階でエラーメッセージが出る」

f:id:una_unagi:20170915235846p:plain

「こういう感じのやつ。イベントの名前とかは違うけど。名前が原因かもしれんと思って変えたけど駄目だったというか」

Blueprint compile error: failed import for function - UE4 AnswerHub

「古い投稿だけど同じようなトラブルを見かけて、シグネチャがどうのこうのと書いてあったから、それらしいところを探してみた」

f:id:una_unagi:20170916000602p:plain

「ディスパッチャー変数の詳細画面には、ディスパッチャーが受け取る変数を指定するとこがあるんだけど、その下にシグネチャというのがあった」

妹「シグネチャって何?」

「英語としては署名だけど、ここのはたぶん、どういう種類のパラメータを受け取るかっていう、そのパターンのことじゃないかと思う。この一覧に出て来るのはカスタムイベントとか関数とかで、それを選ぶと同じパラメータの組み合わせが設定される。例えば1つ目が整数で、2つ目が文字列とか」

妹「あんまり署名感ないけど」

「同じ組み合わせのディスパッチャーは互換性があるけど、違うと完全に別物扱いになるから、重要なところではある。とりあえず今回はパラメータは無しなんで、同じようにパラメータなしのやつを設定してみたり、パラメータありのを設定した後にパラメータ消したりした。そしたらなんか直った

妹「直ったんだ」

「具体的に何をした時に直ったのかわからないけど、とにかくディスパッチャーのシグネチャのところを色々やると直るかもしれないと」