Из того, что я понимаю в деревьях поведения, каждое поведение должно быть коротким целенаправленным действием, которое можно выполнить за несколько итераций.
Например, ниже показано дерево поведения:
Теперь давайте предположим, что поведение Drive To Enemy требует более чем нескольких итераций в дереве. Таким образом, при каждом проходе вызывается Drive To Enemy, потому что теперь он находится в состоянии running.
Проблема в том, что я хочу вызвать Evade Enemy, если враг находится поблизости. И, учитывая, что всегда вызывается Движение к врагу, у меня никогда не будет возможности вызвать Уклонение от врага (Вероятно, следует называть "Избегайте врага").
- Должен ли я проходить КАЖДЫЙ проход дерева независимо от того, какое действие выполняется в данный момент?
- Правильно ли я поступаю?
- Каков правильный способ справиться с таким поведением?