UnrealEngine奮闘記

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

インベーダーゲームを作る その4敵の作成

今回は敵を作成します。

・インベーダーのドット絵モデリング
・敵Classの作成
・変数を作成する
・敵を毎フレーム右に動かす
・Branch(分岐命令)の使い方

インベーダーのドット絵モデリング

まずはモデリングです。
グリッドを5に設定し、20×5x5のボックスを作ります。
その後ボックスをコピーしてドット絵の要領で敵っぽく作っていきます。
コピーはaltを押しながら移動で簡単に行えます。

f:id:swiftnest:20140427210805j:plain

うろ覚えで作ったので、これじゃ無い感じになっちゃいましたが、一応敵のモデリング完成です。

そしてプレイヤーと同じくグループ化してスタティックメッシュとして保存します。
ファイル名はEnemyMeshとします。

敵Classの作成

次はクラスの作成です。プレイヤーと同じくPawnでクラスを作ります。
ファイル名はEnemyBlueprintとします。
コンポーネントにSceneとStatic Meshを作り、敵モデルを当てはめます。

f:id:swiftnest:20140427210842j:plain

変数を作成する

まず最初に右に行くか左に行くかを格納する変数を作ってみます。
エディタ左側にある+Variableアイコンをクリックします。
変数の型はFloatを指定し、名前は「DirectionY」とします。
次にプロパティ一番下にある初期値に1を入力します。
もし入力出来ない場合は左上にあるCompileアイコンを押すと入力出来る様になります。

f:id:swiftnest:20140427210950j:plain

敵を毎フレーム右に動かす

そしてBlueprintです。

今回は毎フレーム呼ばれるEvent Tickから始めます。

引数で前回呼び出しからの経過時間(単位は秒)が返ってくるので、それと移動量係数ベクトル(0,50,0)を掛けます。
更に先程作成した変数をGetDirectionYで取得し、ベクトルに変換(0,1,0で掛ける)します。
そして両者を掛けて移動量を出し、自分の座標に足しこみます。

こちらが出来たBlueprintです。

f:id:swiftnest:20140427211023j:plain

出来たBlueprintを保存し、レベルに配置します。

Playを押すと敵インベーダーが右へ移動するかと思います。

Branch(分岐命令)の使い方

ただし、このままでは画面外まで移動してしまうので、画面端まで移動したら左に移動するようにBlueprint変更します。
先程作成したSetActorLocationからスタートします。
まず自分の座標を取得し、Break VectorでY座標だけ取り出します。
取り出したYが100より大きければDistanceYに-1を入れれば良いので、>とBranchを使って分岐を作ります。
反対方向も-100と比較して分岐を作ります。

出来たBlueprintがこちらです。

f:id:swiftnest:20140427211102j:plain

これで敵インベーダーが画面外に移動せず左右に移動すると思います、

次回は弾と当たり判定を作成します。