전체 글 115

[UE4] BehaviorTree - 서비스 노드(Service Node)의 종류

1. Default Focus Default Focus는 AI 컴트롤러의 포커스를 설정하여 블루프린트 및 코드에서 액터에 엑세스하는 바로 가기를 만든다. AI 컨트롤러의 포커스를 액터로 설정하면 해당 액터의 블랙보드 키에 엑세스하는 대신 AI 컨트롤러에서 직접 액터에 엑세스할 수 있다. 2. Run EQS 이 노드를 사용하여 지정된 간격으로 EQS(환경 쿼리 시스템) 템플릿을 정기적으로 실행하고 지정된 블랙보드 키를 업데이트할 수 있다. 3. Custom Services 나만의 커스텀 서비스를 생성할 수 있다. 블루프린트는 C++보다 성능이 떨어지므로 만약 최적화를 고려하고 있다면 기본 서비스를 사용하는 것이 좋다.

UE4 2023.04.12
[UE4] BehaviorTree - 데코레이터(Decorator)의 종류

1. Blackboard 블랙보드 노드는 지정된 블랙보드 키에 값이 설정되어 있는지 확인한다. 2. Check Gameplay Tag Condition 이 데코레이터는 게임 플레이 태그를 검사하고 해당 태그가 존재하는지 여부에 따라 실행 여부를 결정한다. 3. Compare BBEntries 두 블랙보드 키의 값을 비교하고 결과가 동일한지 여부에 따라 노드의 실행을 차단하거나 허용한다. 4. Composite 컴포짓 데코레이터 노드를 사용하면 언리얼이 기본으로 제공하는 노드보다 고급 논리를 설정할 수 있지만 전체 블루프린트만큼 복잡하지는 않다. 노드에 컴포짓 데코레이터를 추가하게 되면 컴포짓 데코레이터를 두 번 눌러 컴포짓의 그래프를 가져올 수 있다. 그래프 영역을 마우스 오른쪽 버튼으로 클릭하면 데코레..

UE4 2023.04.12
[UE4] BehaviorTree - 테스크 노드(Task Node)의 종류

1. Finish With Result 트리의 실행을 종료하면서, 노드가 지정한 결과값을 반환하는 노드이다. 이 노드는 주로 Behavior Tree가 끝나는 부분에서 사용되며, 이전 노드들이 실행한 결과값에 따라 Behavior Tree의 실행 결과를 반환하고자 할 때 사용된다. 또한 FinishWithResult 노드는 노드가 실행되기 전에 입력받은 블랙보드 데이터를 검사하여, 이에 따라 실행 결과를 반환할 수도 있다. 2. Make Noise AI 캐릭터가 주변에 노이즈를 발생시키는 역할을 한다. 다른 AI 캐릭터들은 노이즈를 듣고 반응할 수 있다. 노이즈에는 다양한 정보를 설정할 수 있는데 노이즈의 크기, 노이즈를 발생시킨 캐릭터의 정보, 노이즈의 발생 위치 등이 포함된다. 이러한 정보는 다른 A..

카테고리 없음 2023.04.12
[UE4] BehaviorTree - 컴포짓 노드(Composite Node)의 종류

1. Selector 셀렉터 노드는 왼쪽에서 오른쪽방향 순서대로 자식 노드들을 실행시킨다. 자식 노드 중 한명이 성공하면 실행이 중지되며 셀렉터도 성공한 것으로 간주된다. 만약 셀렉터의 모든 자식이 실패하면 셀렉터도 실패한 것으로 간주된다. 좋은 어머니 스타일. 2. Sequence 시퀀스 노드도 마찬가지로 자식 노드를 왼쪽에서 오른쪽방향으로 실행시킨다. 다만 모든 자식이 실패하면 실패인 셀렉터와 달리 한명의 자식만 실패해도 시퀀스는 실패이다. 또한 실행을 멈추게 된다. 만약 모든 시퀀스자식이 성공하면 시퀀스는 성공으로 간주된다. 완벽주의자 어머니 스타일. 3. Simple Parallel Simple Parallel 노드를 사용하면 전체 트리에서 하나의 메인 테스크 노드를 허용한다. 메인 테스크가 완료..

UE4 2023.04.12
[UE4] Behavior Tree

개요 게임을 게임답게 재밌게 만드는 요소 중 하나는 AI라고 생각한다. 이 AI를 만드는 방법에는 여러가지가 있는데 그 중에서도 Behavior Tree는 가장 효과적인 AI 구성 방법으로 알려져 있지만, 배움의 난이도가 조금 높다는 것이 단점이다. 언리얼에는 감사하게도 AI를 편리하게 만들 수 있도록 직관적인 인터페이스와 함께 자체적으로 Behavior Tree를 제공한다. 오늘은 언리얼에서 제공하는 Behavior Tree의 사용법을 알아보고 예제를 하나 만들어보고자 한다. 블랙보드(BlackBoard) 블랙보드는 Behavior Tree(앞으로 줄여서 BT라고 부르겠다)에게 필요한 정보를 저장하고 공유하는 데 사용되는 데이터 저장소이다. 블랙보드는 각각의 게임 AI 객체에 대해 별도로 유지되며 키-..

UE4 2023.04.12