記事作成 2019年7月
PlayMaker 1.9.0 / Unity 2018.2.6f1
このように自機(目標)を追いかける敵のような動きを作ります。
「十字キーでキャラクターを操作する」 の操作キャラ(Capsule)を登場させています。
後の流れのために、この柱4本に目印となる Tag を付けておいてください。
追跡する敵となるCubeは基本形そのままの状態に インスペクタでコンポーネント
Rigidbody を付けFreeze Rotation をチェックしておきます。
Cubeに状態遷移を付け、はじめのノード、アクションをこのように。
[Move Towards] はTarget に設定したオブジェクトへ向かって移動するアクションです。
[Smooth Look At] はTarget に設定したオブジェクトの方を常に向くように作用します。
Capsuleは操作キャラです。
----------------------------------------------
----------------------------------------------
そして、ちょっと一工夫。敵の動きにランダムさを加えてみます。
Cube のはじめのノードに
[Random Wait] を追加します。これは、最小、最大に設定した数値内からランダムに
値を決め、その時間分待ち、その後 Finish Event で設定したイベントへ遷移します。
遷移先の「状態」に、名前のまんまの機能を設定します。
[Get Random Object] で、シーン内から、選んだ Tag がついたオブジェクトをランダムに
選択して変数に格納します。
図では [t 柱] の付いたオブジェクトを ゲームオブジェクト変数の[gobj 選択した柱]に
入れています。当然変数は作っておきます。
[Move Towards] [Smooth Look At] は はじめの状態と同じです。コピーでよいでしょう。
Target はオブジェクトを格納した変数にします。
これで、4隅の柱からランダムに1本を選んで、移動していくのですが
さらに、同じように[Random Wait] も加え、適当な時間でプレイヤー追跡に戻る
ようにします。
再生するとこのような感じに。ときおり思い出したように
柱の方に向かっていきますね。
カメラの動き で作った「手前に一定距離を保って追随する動き」
のノードをカメラに付けてみると、こんな映像ができました。
@今回のノード、アクションでは、自機を追っては来ても、間に壁などの障害物があった
場合、それを回避して追跡する、ということまではできません。
それには、いわゆる経路検索(パスファインディング)を使います。PlayMakerでは
パスファインディングもガッツリ使えます。ページを改めて記しましょう。
記事 経路検索_パスファインディング
0 件のコメント:
コメントを投稿