※この記事で使用しているUnrealのVersionは04.21.1です。

※記事が長くなってしまったので、2ページに分けて投稿します。@ページ2

前編はこちら

※この記事のサンプルプロジェクトは以下URLにアップされています
サンプルプロジェクト

関数テーブルの実装 レベル【★★★】

前編では、アセット単位のスクリプト関数を簡易的に実装しました。

今度は、関数テーブルを作成するためにデータテーブルを作成します。

データテーブルの構造体変数には、前編で作成したスクリプトベースBPのクラスのみを指定してください。
データテーブルの作成方法については
【UE4】DataTableの使い方-その① ~基本編~【★~★★】
を御覧ください。

作成したら、ひとまずデータテーブルに前編で作成したスクリプト関数クラスを設定していきます。
RowNameにはクラスの内容がわかりやすい文字を、ScriptClassにはそのクラスを設定してあげてください。

ひとまずこれで下準備は出来ましたので、後は関数を呼び出す部分の作成をします。

適当なレベルを作成し、そのレベルブループリントを開きます。

そこに、以下のように処理を追記します。

これで一旦すべての実装が完了です。

この状態でプレイしてみましょう。

そして、プレイ状態で「@」キーを押すことで、ビューポーと下にコンソールコマンドを開くことができるので出してみましょう。(プロジェクトの設定によっては@ではないかもしれません)

出ましたら、そこに
「CE “イベント名” “関数名”」
※”イベント名”は、先程レベルブループリントに書いたカスタムイベントの名前。
※”関数名”はデータテーブルの「Row Name」で指定した文字を入力。
と入力してあげましょう。

実装がうまく行っていれば、スクリプトクラスで実装した「PrintString」の処理が走るはずです。

今回は駆け足で説明してしまい説明不足な所も多いですが、このようにObjectクラスを使用することで、アセット単位で関数を実装でき、多人数での開発作業がスムーズになります。

また、関数データテーブルへの登録を
【UE4】DataTableの使い方-その② ~エクセルさようなら~
で紹介しているように1ボタンで自動で登録するなどでより効率的に開発することが出来ます。

前編はこちら

※この記事のサンプルプロジェクトは以下URLにアップされています
サンプルプロジェクト