※この記事で使用しているUnrealのVersionは04.21.1です。※記事が長くなってしまったので、2ページに分けて投稿します。レベル【★★★】UE4は基本的に「Level(World)」という箱庭と、その中にある「Actor」というキャラクターや岩などの物でできています。「Actor」は「Component」というパーツから成り立っています。「Level」の中には「Actor」しか置けず、「Component」は「Actor」に依存することでのみ「Level」に存在出来ます。形や座標の必要ないものを実装するにはどうしたらいいでしょう?無理やりActorやComponentで実装するのも手ではありますがあまりスマートではありません。今回は無駄な機能を持たない「Object」クラスを紹介したいと思います。「Object」クラスはUnrealで実行する上で最低限の機能のみを持ったクラスになります。「Actor」や「Component」も親をたどれば「Object」から出来ています。作成方法は、新規ブループリントを作成し、親クラスを「Object」にするだけです。Tick」も使えません。「Delay」ノードも使えません。Class)」ノードを使用します。引数の「Class」で指定したオブジェクトを構成してくれます。(Instance化してくれる)Outerには、このオブジェクトの持ち主を指定してあげます。Collection(メモリーの自動お掃除機能)で自動的にメモリーがら排除してくれます。制限の多いObjectクラスですが、うまく使うといろいろと便利です。アドベンチャーゲーム何かでよくある、いわゆる「スクリプト」。サウンド・ボイス再生命令など、様々な命令をスクリプターが扱いやすいように簡略化した命令にしたものです。いった命令を一つの関数ライブラリーなどにまとめて実装してしまうと、それぞれの命令の編集履歴(Diff)が1つのファイルにまとまってしまって実装履歴を追いづらくなったり、複数人開発のときには同じファイルを編集できない状況が生まれたりします。そんなときに「Object」クラスを使えば、1関数1アセットにすることが出来、追加や削除をスムーズに行うことができる。それでは簡易的ですが、この「Object」クラスを使ってスクリプト関数を実装してみましょう。レベル【★★★】まず、スクリプト関数としてのベースクラスとなるBPを作成します。そのベースクラスに、新しく「インターフェース」を作成して設定してあげます。※インターフェースの説明は長いので省かせていただきます。(一旦以下のリンクを参考に。「コンテンツブラウザ」の「新規追加」→「ブループリント」→「ブループリントインターフェース」を選択します。作成したインターフェースを開いて、「関数」ウィンドウにある「新規関数_0」という関数を「StartScript」に変更しましょう。作成し終えたら、一旦閉じ、スクリプトのベースのBPを開きます。「クラス設定」を選択した状態で「詳細」にある「インターフェース」内の「追加」プルダウンを選択し、作成したインターフェースを追加してあげます。追加したら一度コンパイルを押してあげましょう。出来ましたら、一旦ウィンドウを閉じ、このベースクラスを継承した子クラスを一つ作成しましょう。継承したクラスを作成する際は、ブループリントを作成する際の親クラスを選択画面のときに、作成したベースBPを選択することで作成出来ます。Script」のイベントを作成しましょう。あとは、今回は仮実装なので、「PrintString」を仕込みます。出来ましたら同じ要領でもう一つベースクラスを継承したクラスを作り、中身も同じように実装します。(PrintStringの文字は変えましょう)長くなってしまったので、続きは後編へやることが多いですがもう少しだけお付き合いしていただければと思います。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。【UE4】【C++】独自の簡単なスクリプトシステムを作る-後編。