프로그래밍/언리얼엔진

언리얼엔진 강좌 50 [인공지능-11] Behavior Tree 07 - Decorator

panpro 2020. 5. 27. 01:26

쌩초보를 위한 언리얼 엔진 4 강좌입니다.

언리얼 엔진 강의 50번째 시간, 
언리얼 엔진 인공지능(unreal engine AI) 11번째 시간으로
Behavior Tree에서 사용하는
Decorator(데코레이터)에 대해 설명합니다. 

설계 개념에서 decorator는 원래 어떤 기능을 하던 모듈은 고치지 않고 그대로 둔 채로 그 모듈을 감싸서 어떤 기능을 추가하는 것을 말합니다. 

언리얼 엔진에서의 decorator도 같은 개념인데,

Decorator는 
Behavior Tree에서 
각 task에 붙어서 
task가 할 일을 더 추가해 주는 일을 합니다.

그리고 decorator가 task에 붙지만
composite에도 붙습니다.

언리얼 엔진에서 decorator는 주로 이 노드(task나 compositr)가 실행될지 말지를 체크하는 역할을 합니다. 

그래서 한 노드에 서비스, 태스크, 데코레이터가 모두 들어가 있다면
데코레이터, 서비스, 태스크 순으로 실행됩니다. 

데코레이터에서 거절하면 그 노드는 아예 실행이 안되는 거지요.
만약 compositie에 붙어 있는 데코레이터에서 거절하면 그 하위 서브 트리들도 모두 실행이 안됩니다. 

 

 

언리얼 엔진 버전: 4.24.2