[2D] 目印(マーカー)を使った敵機の移動パターン作成

記事作成 2020年9月21日
PlayMaker 1.9.0 p20 / Unity 2019.3.3f1

このように、シーン上のオブジェクトを目印に、スプライトキャラクターを
移動させてみます。

-------------------------------------

2Dモードでエディタ上はこんな感じです。


目印は、ただのスプライト画像を適当な位置に並べたものです。
移動しているのは、「spr 敵機」の画像です。


説明のため、UIのTEXTを置いています。

-------------------------------------

「spr 敵機」は、適当な戦闘機の画像を貼った、2Dスプライト_オブジェクトです。
特にコンポーネントは付けていません。「spr 目印」も同じ。
(実際のゲーム上では、必要に応じて工夫します)

この「敵機」を、はじめの動画のように動かす為に、DOTween のアクションを使います。
「spr 敵機」に状態遷移を付け、はじめのステートに [ DOTween Transform Local Path ]
を置きます。(「終了」は空ステートです。)
このアクションにより、設定したオブジェクトで作られたコースを、設定した時間で通り
抜けます。

Path は設定するオブジェクトの数。
Elementにオブジェクトをドロップします。
Path Mode はこの場合 Top Down 2D。
Duration が通り抜けるのに要する時間です。
Look At は移動中の画像の向きになりますが、Ahead は「進行方向を向く」ですね。
(Pathy Typeは軌道が変化)


DOTween のアクションは長い…。続きです。
Finish Event は最後のオブジェクトまで到達したあとの遷移イベント選択です。
Ease Type は動きの緩急パターンを選べます。
Loop は繰り返しの設定です。


* Look At で、Ahead 「進行方向を向く」 を設定しましたが、この場合、画像に
とっての 「進行方向を向く正面」 は、上ではなく右になります。
つまり、割り当てる画像が、このようでないと、思う通りになりません。

-------------------------------------

[ DOTween Transform Local Path ] の設定を変えると様々な動きを表現できます。

この記事では2Dスプライトを動かしていますが、同じ要領で3Dのオブジェクトも
動かすことができます。また、目印は画面(カメラ)外に置くこともできます。

しかし普通、ゲーム中に登場させる敵の機体などは、プレハブにしてフォルダに
収めておき、登場させる場面で、生成(インスタンス)しますよね。
すると、弾を発射する 2 で記した、あの問題がおきます。

「プレハブに付いたFSM(状態遷移)からは、シーン上のオブジェクトを直接認識
できない。」というもの。


例のごとくグローバル変数を使った対処を、次の記事で再びやってみようと思います。
[2D] 続_目印(マーカー)を使った敵機の移動パターン作成 

0 件のコメント:

コメントを投稿