# 유니티 에셋스토어 링크
#. 어떤 에셋인가요?
BehaviorTree를 노드식으로 에디터에서 구성하고 실시간 디버깅도 가능한 프레임워크이다.
무려 10년동안 관리되어온 에셋으로 Odin과 함께 유니티에서 가장 유명한 에셋들 중 하나라고 할 수 있다.
주요 기능은 다음과 같다.
- 수십개가 넘는 기본 제공 노드
- 소스코드 제공, 기본 제공되는 노드들도 수정 가능 / 커스텀한 노드들 손쉽게 제작 가능
- 실시간으로 노드 진행상황 디버깅 가능
#. 개인 평가
이전 프로젝트에서 BehaviorTree는 직접 코드로 구현하는 방식을 사용하였다.
코드로 구현하면 각 노드들이 클래스로 어디서사용하는지 레퍼런스 찾기 편한 장점은 있지만
프로그래머만 수정이 가능하고, 실시간 흐름을 파악하기 힘들어서 디버깅이 어렵다는 단점이 존재했다.
이번 프로젝트는 Behavior Designer를 R&D 중인데 의외로 사용법도 간단해서
비헤비어 트리의 개념을 아는 사람이라면 하루이틀이면 금방 적응 가능하다.
#. 주의할 점?
가끔 에디터 버그가 있는데, I2Localizaion의 ScriptableObject 설정값을 조작하다가 드롭다운 메뉴가 아무것도 보이않게된다. 인스펙터탭을 Service등으로 탭 전환했다가 다시 돌아오면 해결된다.
현재 버전에서는 Resource폴더의 ScriptableObject에서 모든 설정을 하지만, 구 버전에서는 Prefab에서 설정했다고함. 문서에서 혼용되어 설명하는 경우가 있다.
#. 사용법
역시 문서화가 잘 되어있으니 문서와 영상을 참고할 것.
https://opsive.com/support/documentation/behavior-designer/overview/
간단하게 설명하자면,
다음과 같이 특정 오브젝트에 Behavior Tree 컴포넌트를 붙여준다.
기본적으로 별도의 파일이 생성되지 않으며 해당 컴포넌트에 바로 Serialize가 된다.
파일형식으로 재사용하고 싶다면 노드를 제작한 후 익스포트를 하면 된다.
익스포트한 파일은 스크립터블 오브젝트이기 때문에 다시 복사하거나 수정이 가능하다.
창이 열리면 빈 공간에서 스페이스바를 누르거나 좌측상단의 Task 탭에서 노드를 선택해서 생성할 수 있다.
스크롤바의 크기를 보면 기본제공 노드가 꽤 된다는 것을 확인 할 수 있다.
노드를 생성하고 연결한다.
재생해보면 원하는대로 2초뒤에 로그가 찍히게 된다.
각 노드를 우클릭해보면 스크립트를 직접 수정하거나 스크립트의 위치를 Ping 찍어서
복사해서 새로운 노드를 만들면 된다.
제공하는 클래스를 상속받기만하면 목록에는 자동으로 나타난다.
# 마치며..
기존에 비헤비어 트리를 구현해본 사람이라면 여기까지만 알아도 바로 사용이 가능할 것이다.
좀 더 확장해서 기능들을 잘 쓰고싶다면
Behavior Designer의 내부 변수를 외부에서 접근하는 하는 함수들과 SharedVariable로 노드들 간 변수를 공유하는 방법,
VariableSyncronizer로 Behavior Designer와 다른 스크립트 간의 변수를 동기화 하는 부분들이 좀 흥미로우니 공식 문서를 좀 더 살펴보기 바란다.
# 애드온
- 기능을 확장하기 위해 추가 애드온들을 제공한다.
- Movement (이동 관련), Formation (전술 대형), Tactics (방어, 포위 등)
- Movement 애드온은 유명한 에셋인 A* Pathfinding Project와 연계도 가능하다.
'🌍 Unity > 에셋스토어 추천' 카테고리의 다른 글
유니티 에셋 추천 2024 / 유니티 에셋스토어 추천 2024 (3) | 2023.11.12 |
---|---|
A* Pathfinding Project Pro / Astar 길찾기 AI (1) | 2023.11.12 |
유니티 에셋 추천 / 유니티 에셋스토어 (1) | 2023.05.29 |
Shapes / 벡터 그래픽 (0) | 2023.05.29 |
Bakery - GPU Lightmapper / GPU 라이트 맵퍼 (0) | 2022.11.19 |