ぼっちゲーム開発

Unreal Engineを中心とした3Dツール周りのネタを備忘録を兼ねて気ままに書き連ねています

ブループリントクラス

アクターとブループリントクラス

前回はレベルブループリントに紹介しましたが、今回はブループリントクラスについて紹介したいと思います。

ブループリントクラスでHello World

テストレベルを作成

まず、テスト用のレベルを作りましょう。

File > New Level

と選択します。

 

f:id:msyasuda:20160927171213j:plain

 

レベルのテンプレートを選択する画面が出るので、Defaultを選択します。

 

f:id:msyasuda:20160927171653p:plain

 

すると、床以外何もないレベルが表示されているかと思います。

※本当は床以外にもあるんですが、目に見える目立ったものとしてはという意味です。

 

f:id:msyasuda:20160927171851j:plain

 

アクターにブループリントを追加

Modeパネル > Basic > Cube > ビューポートへドラッグ&ドロップ

Modeパネルは一番左のModeと書かれたパネルで、ビューポートはレベルがある中央画面です。

 

f:id:msyasuda:20160927173303j:plain

 

床上にCubeのアクターが配置されました。

このようにModeパネルから様々なアクターを配置する事が可能です。

 

次にブループリントを保存するフォルダーを作成します。

コンテンツブラウザー > Content 右クリック > New folder

ここでは名前をBlueprintsとします。

コンテンツブラウザーはレベルエディター下のパネルで、中にはアセット等が配置されます。

 

f:id:msyasuda:20160927174354j:plain

 

このような階層になったかと思います。

 

f:id:msyasuda:20160927174709j:plain

 

格納場所を作ったので、アクターにブループリントスクリプトを追加します。

アクターを選択した状態でレベルエディターの一番右にあるDetailパネルのBlueprint/Add Scriptを押します。

Detailパネルが表示されていない場合は

メニュー > Window > Details > Detail1と選択してください。

 

f:id:msyasuda:20160927175512j:plain

 

ブループリントの格納場所と名前を聞かれるので、先程作成したBlueprintsフォルダーを指定し、名前はCube_BPとします。

 

f:id:msyasuda:20160927175704j:plain

 

中央にクラスブループリントのウィンドウが出現し、Blueprintsフォルダー内には作成したブループリントが生成されている事が確認出来ます。

次にスクリプトを作成するためにクラスブループリント画面のEvent Graphタブを選択します。

 

f:id:msyasuda:20160927180236j:plain

 

 レベルブループリントの時と似た画面になったと思いますが、クラスブループリントでは次の三つのイベントノードが予め設置されています。

 

Event BeginPlay・・・クラスブループリントの開始時イベント

Event ActorBeginOverlap・・・アクターのオーバーラップイベント

EventTick・・・クラスブループリントの逐次イベント

 

今回も前回同様にEventBeginPlayを使用します。

他イベントについてはまた別の機会で紹介したいと思います。

では、レベルブループリントの時と同様に

Event BeginPlay > Print String(Hello World)

と作りましょう。

 

f:id:msyasuda:20160927180810j:plain

 

下のようになっていったら、

Compile > レベルエディターに戻る > Play

とします。

 

f:id:msyasuda:20160927181746j:plain

 

実行結果は・・・

 

f:id:msyasuda:20160927182114j:plain

 

はい、というのがアクターにブループリントを追加して、スクリプティングする方法でした。

 

もう一つブループリントを先に作って、コンポーネントを追加する方法もあるので紹介したいと思います。

ブループリントにコンポーネントを追加

コンテンツブラウザのAdd Newを押す、もしくはコンテンツブラウザ内の空白で右クリックする事で以下のようなメニューが出ます。

Blueprint Classを選択します。

 

f:id:msyasuda:20160927183001j:plain

 

親クラスを何にするか聞かれるので、Actorクラスを選択します。

 

f:id:msyasuda:20160927183356j:plain

 

コンテンツブラウザ内にブループリントが作成されたら、選択しクラスブループリント画面を表示させます。

ところが、先程のクラスブループリント画面と表示が異なります。

これはブループリントから作成したために、データだけしか存在しておらずビューポートの表示がされていない状態です。

Open Full Blueprint Editorをクリックする事で、先程同様の画面になります。

 

f:id:msyasuda:20160927192445j:plain

 

ビューポートタブをクリックし、

Componentsパネル > Add Component > Static Mesh

とし選択ます。

 

f:id:msyasuda:20160927193920j:plain

 

こうする事で静的なメッシュコンポーネントが追加されます。

次に、StaticMeshコンポーネントを選択した状態で、DetailパネルのStatic MeshをCubeに変更します。

 

f:id:msyasuda:20160927194417j:plain

 

compileを押し、レベルエディターに戻ります。

作成したブループリントのサムネイルが変わっているのを確認し、ビューポートにドラッグ&ドロップします。

これでアクターからブループリントを作成した状態と同じになったので、後はスクリプティングを同様に行うだけです。

 

f:id:msyasuda:20160927194749j:plain

 

以上、ブループリントクラスの作成について紹介しました。