さて、日中うろうろしているだけのNPCに仕事をさせたい。
何をさせる?
-> とりあえず木を伐りに行ってもらう。
各NPCの役割に応じた行動Idを決定
-> Idに対応したAIを起動するためにはどうしたらいいだろうか?
・・・
どうやら BehaviorTree には、別の BehaviorTree を挿入するための仕組みがあるらしい。
- Run Behavior Dynamic
これを使おう。
各IdとBehaviorTreeアセットとの対応を DataTable で定義する。
・・・
時々NPCが移動しないことがあるような・・・?
ナビメッシュは生成できている。
・・・
どうやら ProjectPointToNavigation() に失敗している。
目的地が木の中心座標 = ナビメッシュ外になっているからか。
FNavDataConfig.DefaultQueryExtent の値を使って、近くのナビメッシュを検索しているようだ。
この DefaultQueryExtent はどこから持ってきている?
-> ここからだった。
Project Setting > Engine > Navigation System > Agents > Supported Agents > 0 > Default Query Extent
Supported Agents の定義を追加して、
少し大きめの Default Query Extent の値を設定する。
・・・
できたー。
動画
ue4-master@ue4master80
Working NPCs. 第0073回 / NPCに仕事をさせる #ue4 #gamedev #indiedev #indiegamedev #indiegame #madewithunreal #vr… https://t.co/KgsFAS7IyH
2020年10月19日 05:04