UnrealEngine奮闘記

アンリアルエンジンでの開発やTIPSをまとめたblogです

インベーダーゲームを作る その3プレイヤーの作成

今回はプレイヤーを作りたいと思います。

・Brash機能でプレイヤーのドット絵モデリング
・Pawn Classの作成とモデルの設定
・マウスでプレイヤーを動かす

Brash機能でプレイヤーのドット絵モデリング

まずはプレイヤーのモデリングです。

私はMAYAやメタセコイアといったDCCツールは使えないのでBrash機能で作る事にしました。

左上のModes内にあるGeometry->Boxをレベルに配置し20x20x20と20x60x20にリサイズします。
それらを凸型になるように配置し、右クリックメニューにあるGroupで1つにまとめ、プロパティにあるCreateMeshでスタティックメッシュとして保存します。
ファイル名はPlayerMeshとします。

f:id:swiftnest:20140425231355j:plain

スタティックメッシュとして保存したら、もうBrashは必要ありませんので消します。

※この辺りの流れは「40分でBlock崩しを作る」を見るとわかりやすいです。


Unreal Engine 4 勉強会 『40分でBlock崩しを作る』(1) - YouTube

Pawn Classの作成とモデルの設定

次はプレイヤークラスを作ります。

まず画面上部のBlueprintsアイコンから「New Class Blueprint」を選びます。

次に作成するクラスを選びます。

f:id:swiftnest:20140425231427j:plain

「Actor」はオブジェクトの基礎となるクラスですが、Controllerを持っていないためキーボードやマウスからの入力を受け付けません。

「Pawn」はActorから継承されており、ControllerやAIControllerなどを持っています。
人型以外のキャラクターはこちらを選びます。

「Character」はPawnクラスから継承されており、人型を前提としてます。
人型のモーション再生機能や移動、ジャンプ、落下などが追加されています。

インベーダーではプレイヤーは人型ではないのでPawnを選びます。
クラス名はPlayerBlueprintとします。

なお、クラスの詳細は、UnrealEngineのマニュアルに記載されています(英語)
https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/index.html

次に、作成したPawnクラスに先程作成したモデルを当てはめます。

Blueprintエディタ右上の「Defaults > Components > Graph」からComponentsを選び、左のメニューからAdd Component->Sceneを選びSceneコンポーネントを作成します。

次にAdd Component->Static Meshを選び空のStaticMeshコンポーネントを作成します。

最後に画面左下のStatic Mesh欄にある「None」をクリックし、先程作成したモデルを選びます。

f:id:swiftnest:20140425231523j:plain

ここでのポイントは、Sceneコンポーネントを作成することです。

Sceneを作らずにStatic Meshを作成しても良いのですが、その場合Static Meshを拡大させたり移動させたりが出来ません。
(試しにView上部の移動アイコンなどを押してみてください。アクティブになりません)

これは、ROOTのコンポーネントは移動や拡大が禁止されているためです。

そこで、まずSceneを作成し、その後にStatic Meshを作成しました。
後でプレイヤーや敵のサイズを変更出来るため、後々便利になります。

マウスでプレイヤーを動かす

次はBlueprintの実装です。

まず今回はマウスの左右を取得するため、Blueprintの画面で右クリックを押し「MouseX」と入力します。

「MouseX」はマウスの移動値をfloatで取得できるので、それに移動速度係数(0,10,0)の入ったVectorを乗算します。

同じく右クリックで「Mul」と入力し「Vector * Float」を選びます。

そして、そのVectorを自分の座標に加算(Vector + Vector)します。

最後に出来たVectorを自分の座標に上書きします。

出来上がったBlueprintがこちらです。(マウスクリックで拡大します)

f:id:swiftnest:20140425231706j:plain

これでプレイヤーの作業は終了ですが、まだレベルにこのBlueprintが
プレイヤーだということを設定する必要があります。

画面上部の「World Settings」をクリックすると右側にプロパティが表示されます。
その中に「Game Mode」の欄がありますので、横にあるNewを押し、MyGameModeとして保存します。

次に「Default Pawn Class」に先程作成したプレイヤーのBluePrintを設定します。

f:id:swiftnest:20140425232146j:plain

これでPlayを押すとマウスに反応して左右に動くプレイヤーが表示されたと思います。

次回は敵と弾を作りたいと思います。