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

SAT04 CREATIVE SPACE

メディア芸術作品、音楽制作、ゲーム開発(UE4)、アート、エンタメなどの創作に関する話題を扱うブログです

【UE4】OnDestroyedなどを、カスタムイベントにデリゲートする

UnrealEngine4

 UE4について勉強するのにオススメな本として、下記の書籍をオススメしています。しかし、18章でちょっと行き詰まって、ネットを調べてみるもこれといったものが見つからず。

 と言う事で、メモ代わりに自分のやった事を書いておこうかと。正直、私もよくわからんのだけどバージョン違いのせいかしら?なんかどっかでミスしてんの?うーむよくわからん!

 使用したバージョンは、Unreal Engine 4.12.5。

Unreal Engine 4で極めるゲーム開発:サンプルデータと動画で学ぶUE4ゲーム制作プロジェクト

Unreal Engine 4で極めるゲーム開発:サンプルデータと動画で学ぶUE4ゲーム制作プロジェクト

先にカスタムイベントを作るとDelegateできない

 行き詰って箇所は、「18.3.3 イベントをイベントにバインドする」の項において、[イベントを OnDestroyedとバインドする]と、カスタムイベント[Respawm Player]をデリゲートで結ぶことができない……というもの。

 最終的に付録の動画を見ながら同じ手順を踏んで作ってみたものの、上手く行かず。付録の既成データとも見比べてもやはりわからない……。既成データの横に同じように自分で作ってみたがやはりつながらない。

 以下の様な状態。
f:id:nowshika:20160823002759p:plain

 上記のように、既成データの[RespawnPlayer]のカスタムイベントには接続可能だが、涙目になりながら自分で使った[ResPlay]という投げやりな名前のカスタムイベントにはデリゲートさせてくれない。

 もう少し好感度のパラメータをあげないと繋がらせてくれないのか……。イベントディスパッチャーで作ったものには接続できるんだけど……。

カスタムイベントを後から作成して解決

 これはもう世界が認めたカリキュラムな人に聞くしかないとハンバ諦めていたのだけど、どうやら解決。

 まず先に、[イベントを OnDestroyedとバインドする]を作成する。

 次に、上記で作成した[イベントを OnDestroyedとバインドする][Event]から線を引っ張ってきて[イベント追加]>[カスタムイベントを追加]をすると、デリゲートされたカスタムイベントが作成できる。

f:id:nowshika:20160823003952p:plain

f:id:nowshika:20160823003959p:plain

 あと、こうやって作成したカスタムイベントには[Destroyed Actor]なんてものが追加されてる。

 4.12のバージョンアップにある、この辺の変更が所々影響しているのかもわからんね。やれやれだぜ。

Actor delegates OnTakeAnyDamage, OnTakePointDamage, OnActorBegin/EndOverlap, OnBegin/EndCursorOver, OnClicked/Released, OnInputTouchBegin/End/Enter/Leave, OnDestroyed, and OnEndPlay have all had a new parameter added to allow binders to know which Actor the event occurred on in cases where a single event entry point is bound to multiple Actors.

 んまあ時間がある時に海外のを情報を漁ってみようかと。

18章の正誤表

 この他にも、18章4節は飛ばしちゃってもOKです。なぜかうちの環境だとうまくコインが出てこない不具合もあるようで謎。詳しく見てません。

 書籍の正誤表はこちら。

▼ <第18章>p.302の18.4節に誤りがありました。
18.4節の作業は、第18章までに解説している技術では正しく実現する方法がありませんでした。ここで行う予定だった内容は、付録PDF「Appendix E」にて改めて解説していますので、この節をスキップして先にお進みください。
Unreal Engine 4で極めるゲーム開発|書籍|株式会社ボーンデジタル