CG関係の備忘録ブログ

主にZBRUSH、blender

UE4 今日覚えた事

参考動画

[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でベストポジションを探すタスク

してないときの挙動

フォーカスをクリア

リロード

新しい武器を探す

プレイヤーをさがす

 

無い時の挙動

サービスで球数をチェック

タスクで武器を探し、