News Activity Product Learning red Event Contact
Devblog top img

開発ブログ

2018-11-09

通常では引数に設定できないクラスを引数に持つ関数の作成方法

UE4

writer : yuto

はじめに

この記事を書く背景として、AISenseクラスを引数に持つ関数を作成したかったのですが、関数の引数に設定できるリファレンスの中にAISenseが存在しておらず困ったことがありました。UE4ではすべてのクラスを引数にできるわけではないようで(開発途中のものとか?)、ユーザーに公開されていないものもあり、このAISenseクラスもそれに当たります。そのようなクラスを引数に設定する裏技を見つけてしまったのでご紹介します。

↓こういう引数を作成したいが…

↓設定できるリストの中にはない(AISense_BlueprintはAISenseの子クラス)

やり方

1. まず、「UE4がデフォルトで用意してくれている、目的のリファレンスが引数に設定された関数」を用意します(この方法はこれが無いとできません)。ここではAISenseクラスを引数に持つ、「Get Perceived Actors」を使います。

 

2. 引数にしたいリファレンスにRerouteノードを繋ぎます。

 

3. Get Perceived Actorsを関数に折りたたみます。

 

4. 折りたたむと関数が新たに作成されます。

 

まとめ

ヽ(・∀・)ノ

以上です。