Focusインターフェイスをつかい NPCの視点をプレイヤーに向けてみよう

①はじめに

以前にnavigatableインターフェイスをつかってNPCを移動させるお話をしました。

クリエナビ - UEFNにはじめてふれ...
インターフェイスをつかいNPCを目標地点まで移動させてみよう - クリエナビ 仕掛けをクラスとよび、クラスがもつ機能を使い、新しい効果をもたらすクラスをつくったわけです。 クラスがもつ機能

今回はインターフェイスの中でも、Focusインターフェイスをつかい NPCの視点をプレイヤーに向けてみようと思います。

②verseテンプレートNPC Behavior Basicをひらきます。

せっかくなのでNPCを動かしながら視点の変化をつくりたいと思います。

NPCの動きですが、こちらでご紹介しているスクリプトをコピー&ペーストしてください。スクリプトを適用したNPCキャラクター定義をビューポートにドラッグ&ドロップしておきます。そうすると、NPCスポナーとして存在してくれます。

クリエナビ - UEFNにはじめてふれ...
ループをつかいぐるぐる同じ行動をさせてみよう - クリエナビ ②複数個の目標地点を移動させるには ④まとめ loopをご紹介しました。 loopがない場合はどのような挙動に
③verseテンプレートverse deviceをひらきます。

device nameはFocus_Deviceとします。

以下のスクリプトをコピー&ペーストしてください。#メモ部分に補足事項を掲載しています。ご確認ください。


using { /Fortnite.com/AI }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

FocusDevice := class(creative_device):

    #事前に用意していたNPCスポナーをわりあてます。
    #NPCスポナーのクラス名はnpc_spawner_deviceです。
    @editable
    MyNPCSpawnerDevice:npc_spawner_device = npc_spawner_device{}

    OnBegin<override>()<suspends>:void=
        #npc_spawner_deviceのイベント機能をつかいます。
        #具体的には、NPCがスポーンされたときにイベント発生するというもの
        MyNPCSpawnerDevice.SpawnedEvent.Subscribe(OnCharacterSpawned)

    #そのイベントとは何かと記載していきます。
    OnCharacterSpawned(SpawnedAgent:agent):void=
        if:
            #スポーンしたNPCの情報を取得します。
            FortCharacter := SpawnedAgent.GetFortCharacter[]
            #そのNPCの視点を目標にむけさせる機能を実装させます。これが、Focusインターフェイスです。
            FocusInterface := FortCharacter.GetFocusInterface[]
            #ゲームに初めておとずれたプレイヤーの情報を取得します。
            PlayerToFocus := GetPlayspace().GetPlayers()[0]

        then:
            #はじめてゲームに訪れたプレイヤーの方にNPCの視点を向けさせます。
            spawn{FocusInterface.MaintainFocus(PlayerToFocus)}

verseコードをビルドして、verseデバイスをビューポートに設置します。設置したデバイスの詳細設定にて、さきほど設置したNPCキャラクター定義(NPCスポナー)をわりあてます。(下画像の黄色枠部分を参照)

セッションを開始してみましょう。(この時にセッションがうまくはじまらないとしても、改めてセッションを開始するとうまく開始されます。)

NPCが動きながらプレイヤーの方を見れくれます。大成功です。

ちなみに画像のようにNPCを複数用意したいときは、NPCスポナーの詳細設定にてスポーン回数の数値をアップしてあげれば良いです。

④まとめ

いかがでしたでしょうか。

NPCにこっちを見ながら運動させる方法を学習しました。

これはボス戦などに活用できそうですね。

いろいろと応用的なお話もしていけたらと思います。

では。お疲れさまでした。

ご質問やご感想はお気軽にコメント欄まで!

コメントする