Я хочу создать график поведения, где NPC будет патрулировать по умолчанию, и если он обнаружит игрока в диапазоне. Это отказатся от патрулирования и преследовать игрока. Если игрок выходит из диапазона обнаружения. Это вернется к патрулированию. NPC постарается совершить и погоню, и патрулируя. Я прикрепляю график отладки моего NPC. Я попытался поставить цель детектора с помощью NULL. Но это не сработало. < /P>
public partial class PlayerDetectorAction : Action
{
[SerializeReference] public BlackboardVariable Detector;
[SerializeReference] public BlackboardVariable Target;
protected override Status OnUpdate()
{
if(Detector.Value.ifWithinDetectDistance()){
Target.Value=Detector.Value.player;
//Target.Value=GameObject.FindWithTag("Player");
if (Target.Value==null)
Debug.Log($"player is null");
return Status.Success;
}
else{
Target.Value=null;
return Status.Failure;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... her-branch
Как заставить NPC отказаться от выполнения текущего филиала и руководителя другого филиала с пакетом поведения Unity 6 ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение