기능
※ 참고 사항
1. Action Task : 실제 행동을 표현하는 단말 노드로 항상 true나 false 를 반환해야한다. OnStart(), OnUpdate(), OnEnd()3가지 메소드를 가지는데, OnUpdate() 에서 true 나 false 를 반환하면 그 Action 의 작업이 끝난다. 메서드의 이름은 구현마다 달라진다.
스택에 처음 올라갈 때 OnStart() 가 불려진다. 다만 bool 값을 반환하지 않으면 계속해서 OnUpdate() 가 불린다. 그러다가 bool 값이 반환되면 스택에서 빠지면서 OnEnd() 가 불린다.
2. Composite Task : 여러 개의 자식으로 구성된 태스크로 Select, Sequence 등이 있다. Composite의 핵심 용도는 Node 의 흐름을 제어하는 것이다. 기본적으로 Node 의 실행 순서는 위에서 아래로, 왼쪽에서 오른쪽이다.
Selector : 자식 Node가 true 를 반환할 때까지 자식 노드들을 실행한다. 즉 여러가지 중 1개를 선택하는 것이다.
Sequnce : 자식 Node가 false 를 반환할 때까지 자식 노드들을 실행한다. 즉 순차 실행을 의미한다.
3. Conditional Aborts :
4. Decoration Task : Decoration 은 1개의 자식만을 가질 수 있다. 해당 조건을 만족하면 자식을 실행하고, 만족하지 못하면 false 를 반환한다. Decoration 이 지정하는 조건을 만족했을 경우의 반환 결과는 자식의 반환 결과에 의존한다. Probability, TimeOut, CheckEvent 등이 있습니다.
ex) 50% 확률로 "A" Action을 선택하고 나머지를 "B"를 선택한다고 가정하면
Condtion(50%) - Action "A" / Action "B"
5. 간단한 비헤이비어 트리
! 주의 사항
코드
구현 영상
리펙토링
'유니티 > 3D RPG' 카테고리의 다른 글
20 게임 최적화 (0) | 2020.06.07 |
---|---|
19 아이템 드래그/드랍 (0) | 2020.06.06 |
17 퀘스트 시스템 (0) | 2020.01.16 |
15 UI 추가/수정 (0) | 2020.01.11 |
14 아이템 장착 및 해제 (0) | 2020.01.07 |
댓글