LoginSignup
4
3

More than 3 years have passed since last update.

UE4 「デリゲートはデリゲート(リファレンス渡し)と互換性がありません。」?ピンを調整してカスタムイベントと「OnDestroyedにイベントをバインド」ノードをちゃんと結合

Last updated at Posted at 2019-07-01

サブタイトル: 先にカスタムイベントを作ると「OnDestroyedにイベントをバインド」ノードと接続できない?そんなことはない!

こんにちは、UE4を勉強中の初心者です。間違い等のご指摘はコメントでお願いいたします。
Unreal Engine 4 で極めるゲーム開発 | ボーンデジタルを読んでいたところChapter18で少し詰まったところがありましたのでその箇所の解決策のメモといった感じです。


目次


すでにあるカスタムイベントに「OnDestroyedにイベントをバインド」ノードを繋ぎたい!

 カスタムイベントを作った後にそれを「OnDestroyedにイベントをバインド」ノードとつなげようとしたところ、「デリゲートはデリゲート(リファレンス渡し)と互換性がありません。」という表示がでてちゃんとつなげることができませんでした。
 そこで検索してみると、どうやら「OnDestroyedにイベントをバインド」ノードからカスタムイベントを作らないといけない!と書いている記事がいくつかトップにヒットしました。
 しかし、それではとても不便だよなぁと思いながらポチポチしているとなんかちゃんと繋がるやり方を発見したのでそれを本記事にメモとして残そうと思っています。(発見したというか理解している人からすれば当たり前なことだとおもいます。)

「デリゲートはデリゲート(リファレンス渡し)と互換性がありません。」と表示される動画(なぜかカスタムイベントを生成した直後は繋がるが一度切ると次は繋がらなくなる)

YouTubeリンクはこちら(UE4 「デリゲートはデリゲート(リファレンス渡し)と互換性がありません。」 - Unreal Engine

※YouTubeの仕様で解像度が自動的に最適化(落と)されているかもしれないので、そのときは手動で解像度をを上げてください。


他の記事でも取り上げられてる解決法「「OnDestroyedにイベントをバインド」ノードからカスタムイベントを生成する」

動画

 簡単に言えば「OnDestroyedにイベントをバインド」ノードのピンから伸ばしてカスタムイベントを追加する。
image.png

参考記事


欲しかった解決法「ピンを調整する」

結論

 先に結論から話すと 「オブジェクトタイプ」の「Actor」としてピンを追加 すればいいです。(以下の動画参照)

解説

 そもそもカスタムイベントと繋ごうとしたときに出てきた「デリゲートはデリゲート(リファレンス渡し)と互換性がありません。」のエラーメッセージの意味は何なのかを理解すればすぐに解決します。
 こちらの記事( デリゲートとイベントディスパッチャーの仕組み - 妹でもわかるUnrealEngine4)を見れば理解してもらえると思うのですが、簡単に言えば、 「OnDestroyedにイベントをバインド」ノードが期待しているカスタムイベントの形(型)と、いま繋ごうとしているカスタムイベントの形とが異なっている ということを意味するエラーなようです。
 これを踏まえると、先に作成したカスタムイベントの形を期待されている形にしてやればいいということがわかります。

 では、期待されている形とは何か?ここで上で紹介した 他の記事でも取り上げられてる解決法 で作ったカスタムイベントを見てもらうとわかるのですが、カスタムイベントに「Destroyed Actor」という名前の「Actor Object Reference」ピンがついています。実はこれが期待されているカスタムイベントの形なのです!
image.png

 ここまでわかればあとは簡単でピンを追加してやるだけです。(先の動画と下図参照)

image.png


以上です。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3