11.サービスの作成

ステップ 11. サービスの作成

Windows
MacOS
Linux
このページ中

ServicesComposite ノードにアタッチされ、ブランチの実行中は定義された頻度で実行されるノードです。多くの場合、確認してブラックボードを更新するために使用されます。他のビヘイビアツリー システムの通常の Parallel ノードの代わりになります。

ここでは、サービスは AI Character ではない Pawn を探して、TargetToFollow キーと TargetLocation Blackboard キーを設定します。

ステップ

  1. コンテンツ ブラウザ で FollowerBT Behavior Tree を ダブルクリック して開きます。

  2. [New Service (新規サービス)] ボタンをクリックします。

    ビヘイビアツリーと同じフォルダ内に作成されます。

  3. コンテンツ ブラウザ の中で「AgroCheck」に名前を変更します。

  4. 編集のためにエディタによって既に開いた状態になっているはずですが、もしそうでない場合は コンテンツ ブラウザダブルクリック してください。

  5. 次のグラフを作成します。

    Copy Example

    画像をクリックして拡大、または こちら をクリックしてウィンドウ内で開きます。

    variables.png

    このブループリントの変数名、型、値です。

    変数名

    DesiredObjectTypes

    EObjectTypeQuery の Array

    ひとつの要素を Pawn に設定します。

    MyLocation

    Vector 3

    0,0,0

    AI_CON_Ref

    Follower_AI_CON_C

    None

    TargetToFollow

    BlackboardKeySelector

    None - ただしこの変数には True に設定している「編集可能な」フラグがあるので、ビヘイビアツリー上でインスタンス毎に変更することができます。

    TargetLocation

    BlackboardKeySelector

    None - ただしこの変数には True に設定している「編集可能な」フラグがあるので、ビヘイビアツリー上でインスタンスごとに変更することができます。.

変数 DesiredObjectTypes は、単一の要素が Pawn に設定された型 EObjectTypeQuery の配列です。手順は、まず [My Blueprint] パネルで DesiredObjectTypes 変数を選び、[Details (詳細)] パネルの Default Value カテゴリで、 plus_button.png ボタンをクリックして要素を追加します。要素のプルダウン メニューから [Pawn] を選択します。

Default Value カテゴリに何も表示されない場合は、ブループリントをコンパイルします。

このグラフでは、以下のことが行われています。

  1. Event Tick は、ビヘイビアツリーで定義されているレートでティックする以外は、アクタ内でも同様に動きます。

  2. 渡された Owner アクタ は常にビヘイビアツリーを呼び出すコントローラです。それを格納しましょう。ただしこの作業は、それを格納していない場合のみ行ってください。キャスト ノードからのオーバーヘッドを減らすためです。

  3. 制御されたポーンの位置に応じてオブジェクトに対して Multi Sphere Trace を行い、制御されたポーンを除く全てのポーンを取得します。

  4. それから、プレイヤーがヒットしているかどうかを For Each ループが調べます。

  5. ヒットしている場合、可視性トレースを行って AI ポーンがプレイヤー ポーンを見ることができるかを調べます。

  6. 見える場合、ブラックボード オブジェクト上で AI ポーンに対して適切な値を設定します (Target to Follow および Target Location)。

  7. 見えない場合、ブラックボード上で Target to Follow キーをクリアします。

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信