이전에 Behaviour Desinger에 대해 소개해드린적이 있습니다.
아직도 종종 BD 에셋을 사용해서 AI를 구현하곤 하는데요, 간만에 정리의 필요성을 느껴서 이렇게 작성하게 되었습니다.
유니티 Behaviour Designer란?
Behaviour Tree, 줄여서 BT라고 불리는 이 용어는 예전부터 들어왔었습니다. 하지만 BT의 실용성에 대해 그닥 느끼지 못했기에 지금까지 사용하지 않았지만 FSM Pattern을 직접 제작해보고 난 이후 BT의
wlsdn629.tistory.com
Sequence 계열 (순차 실행)
Task이름 | 설명 |
Sequence | Task를 순차적으로 실행하며, 하나라도 Fail이면 즉시 중단하고 Fail 반환 |
Random Sequence | 모든 자식 작업이 성공해야 Success 반환, 하나라도 Fail이면 즉시 중단 후 Fail 반환 |
Selector 계열 (선택 실행)
Task 이름 | 설명 |
Selector | Task 중 하나라도 Success면 즉시 Success 반환 |
Random Selector | 하나의 자식 Task가 Success를 반환하면 즉시 성공, Task는 무작위로 실행됨 |
Priority Selector | 하나의 자식 작업이 Success면 Success 반환, 각 작업의 우선순위를 확인하여 실행 순서 결정 |
Utility Selector | 유틸리티 AI(Utility Theory AI)를 사용하여 자식 작업을 평가한 후 최적의 작업 실행 |
Selector Evaluator | 낮은 우선순위의 자식 작업을 실행하고, 실행 상태가 Running이면 더 높은 우선순위의 작업을 허용하지 않음 |
Parallel 계열 (병렬 실행)
Task 이름 | 설명 |
Parallel | Task를 동시에 실행하며, Fail이 있으면 Fail 반환 |
Parallel Selector | 하나의 자식 Task가 Success를 반환하면 즉시 Success 반환 |
Paralle Complete | Task를 순차적으로 실행하되, 자식 Task가 성공 또는 실패하면 즉시 해당 State를 반환 |