진행한 것들
보스 Behaviour Tree와 SelectorNode
이전에 이어서...
https://jcdevelop98.tistory.com/378
Selector Node : 조건에 따라 어떤 노드를 실행할 지 정하는 Node이다.
- 자식 노드들을 왼쪽에서 오른쪽 순으로 진행함
- 자식 노드 중에 Success 또는 Running 노드가 있다면 해당 노드 실행 후 종료
구상 중인 것
- Selector Node에서 Sequence Node의 자식 Node인 CheckHPNode를 체크하여 Failure면 DieNode 수행, 아니라면 Sequence 자식 Node들 수행
(아래 코드가 논리적으로 잘못되어 다음 포스트 내용으로 수정)
https://jcdevelop98.tistory.com/380
protected override Node SetTree()
{
Node root = new Selector(new List<Node>
{
new Sequence(new List<Node>
{
new CheckHpNode(this, phaseSO.PhaseInfo.Length),
new UpdatePhaseNode(this),
new PatrolNode(_rigid, waypoints, StatHandler.Data.SpeedMax),
new Sequence(new List<Node>
{
new CheckSkillCoolTimeNode(this),
new UseSkillNode(this)
}),
new ShootNode(bulletPrefab.GetComponent<Bullet>(), GameManager.Instance.PlayerTransform, transform ,5)
}),
new DieNode()
});
return root;
}
오늘의 이슈 / 내일 할 것
오늘 이슈
문제점
- 변이 시 마젠타 색 남아있음
- 무기가 겹쳐져서 안 없어짐
원인
- 코루틴을 중간에 멈추는 부분이 있는데 여러 입력이 들어왔을 시 중간에 변이가 실행 중인 코루틴이 멈춰서 두 가지 문제가 나왔던 것임
해결
- StopCoroutine 부분을 제거
내일 할 것
Running 시 Behaviour Tree 탈출 못 하는 것 해결하기
오늘의 회고
오늘은 어제의 Sequence Node에 이이서 Selector Node에 대해 배웠다. Selector Node를 어떻게 쓰느냐에 따라 분기를 나눌 수 있는데 엄청 중요한 Node인 것 같다. Patrol 상태일 때 Running State가 되면 Hp를 체크 못 하는 문제가 있는데 이를 내일 해결해보도록 해야겠다. 내일도 파이팅!
'스파르타 Unity 1기' 카테고리의 다른 글
DevLog - 이그라엘(IGRAL) Phase2 스킬 구현 (1) | 2023.11.23 |
---|---|
DevLog - 이그라엘(IGRAL) Behaviour Tree와 애니메이션 연결 (1) | 2023.11.22 |
DevLog - 이그라엘(IGRAL) Behaviour Tree와 Sequence Node (0) | 2023.11.20 |
DevLog - 이그라엘(IGRAL) 변이 효과 UI 연결 (0) | 2023.11.17 |
DevLog - 이그라엘(IGRAL) 쉐이더 그래프 (Dissolve, Aura) (0) | 2023.11.16 |