参考動画
[UE4]ブループリント間の通信について 2Dアクションゲームを作ろう #34 - YouTube
【カジュアルゲーム開発#5】キャラクターをふにゃふにゃにして死亡処理を作る - YouTube
【UE4 AI入門】サービス(Service)とは - YouTubewww.youtube.com
【UE4/UE5ゲーム制作講座】EQSを使って逃げる敵を作ってみよう!【AI入門】 - YouTube
【UE5ゲーム制作講座】Lyraの敵AIを見てみよう!【AI入門】 - YouTube
ブループリント間の通信
GetAllActoersOfClass
ActorClassを名前で指定してやるとキャストできる
SetCollisionProfileName
ターゲットを指定し、InCollisionProfileNameにRagdollと入れるだけで動的にラグドール設定できる
LineTraceByChannel
Ragdoll後、仰向けかうつ伏せか判定する
StartにGetMesh→GetSocketLocation(NameにPelvis入れてるがChestのほうが?)
EndにGetMesh→GetSocketRotation→GetRightVector→×50→上のVectorと+
ReturnValueで仰向けかうつ伏せか判定できる
True→あおむけ、False→うつ伏せ?
サービスについて
ビヘイビアツリーのシーケンスにSetDefaultFocusを充てるとつねにターゲットのほうを向く
自作する場合はTickスタート
EQContextとは
何を基準にするかの設定
EQSのアウトプットは場所=Vectorなので、BlackboardのKeyもVectorにする
サービスでRunEQSすると、指定時間ごとにEQSを実行できる
ObserveBlackboardKeyにチェックを入れないと、ブラックボードの値が更新されても行動に反映されない
PathExist
PathExist=行けるかどうかの判定
PathCost=歩く長さで判定
Lyraの敵AI
球がある時の挙動、
敵を認識したときの挙動
MoveToはタスクで、銃を撃つのはサービスで実施している
EQSでベストポジションを探すタスク
してないときの挙動
フォーカスをクリア
リロード
新しい武器を探す
プレイヤーをさがす
無い時の挙動
サービスで球数をチェック
タスクで武器を探し、