ブループリントクラス
アクターとブループリントクラス
前回はレベルブループリントに紹介しましたが、今回はブループリントクラスについて紹介したいと思います。
ブループリントクラスでHello World
テストレベルを作成
まず、テスト用のレベルを作りましょう。
File > New Level
と選択します。
レベルのテンプレートを選択する画面が出るので、Defaultを選択します。
すると、床以外何もないレベルが表示されているかと思います。
※本当は床以外にもあるんですが、目に見える目立ったものとしてはという意味です。
アクターにブループリントを追加
Modeパネル > Basic > Cube > ビューポートへドラッグ&ドロップ
Modeパネルは一番左のModeと書かれたパネルで、ビューポートはレベルがある中央画面です。
床上にCubeのアクターが配置されました。
このようにModeパネルから様々なアクターを配置する事が可能です。
次にブループリントを保存するフォルダーを作成します。
コンテンツブラウザー > Content 右クリック > New folder
ここでは名前をBlueprintsとします。
コンテンツブラウザーはレベルエディター下のパネルで、中にはアセット等が配置されます。
このような階層になったかと思います。
格納場所を作ったので、アクターにブループリントスクリプトを追加します。
アクターを選択した状態でレベルエディターの一番右にあるDetailパネルのBlueprint/Add Scriptを押します。
Detailパネルが表示されていない場合は
メニュー > Window > Details > Detail1と選択してください。
ブループリントの格納場所と名前を聞かれるので、先程作成したBlueprintsフォルダーを指定し、名前はCube_BPとします。
中央にクラスブループリントのウィンドウが出現し、Blueprintsフォルダー内には作成したブループリントが生成されている事が確認出来ます。
次にスクリプトを作成するためにクラスブループリント画面のEvent Graphタブを選択します。
レベルブループリントの時と似た画面になったと思いますが、クラスブループリントでは次の三つのイベントノードが予め設置されています。
Event BeginPlay・・・クラスブループリントの開始時イベント
Event ActorBeginOverlap・・・アクターのオーバーラップイベント
EventTick・・・クラスブループリントの逐次イベント
今回も前回同様にEventBeginPlayを使用します。
他イベントについてはまた別の機会で紹介したいと思います。
では、レベルブループリントの時と同様に
Event BeginPlay > Print String(Hello World)
と作りましょう。
下のようになっていったら、
Compile > レベルエディターに戻る > Play
とします。
実行結果は・・・
はい、というのがアクターにブループリントを追加して、スクリプティングする方法でした。
もう一つブループリントを先に作って、コンポーネントを追加する方法もあるので紹介したいと思います。
ブループリントにコンポーネントを追加
コンテンツブラウザのAdd Newを押す、もしくはコンテンツブラウザ内の空白で右クリックする事で以下のようなメニューが出ます。
Blueprint Classを選択します。
親クラスを何にするか聞かれるので、Actorクラスを選択します。
コンテンツブラウザ内にブループリントが作成されたら、選択しクラスブループリント画面を表示させます。
ところが、先程のクラスブループリント画面と表示が異なります。
これはブループリントから作成したために、データだけしか存在しておらずビューポートの表示がされていない状態です。
Open Full Blueprint Editorをクリックする事で、先程同様の画面になります。
ビューポートタブをクリックし、
Componentsパネル > Add Component > Static Mesh
とし選択ます。
こうする事で静的なメッシュコンポーネントが追加されます。
次に、StaticMeshコンポーネントを選択した状態で、DetailパネルのStatic MeshをCubeに変更します。
compileを押し、レベルエディターに戻ります。
作成したブループリントのサムネイルが変わっているのを確認し、ビューポートにドラッグ&ドロップします。
これでアクターからブループリントを作成した状態と同じになったので、後はスクリプティングを同様に行うだけです。
以上、ブループリントクラスの作成について紹介しました。