살군의 보조기억 장치

Another memory device…

Behavior Tree 노드 종류에 따른 역할

leave a comment »

언리얼에서 새로 생긴 기능 가운데, Behavior Tree 라는 기능이 있다. AI 관련 컴포넌트인데… 이게 애매하게 이것저것 엮여있는 것 같다.

일단 내가 참고한 부분은 언리얼 문서 Behavior Tree Quick Start Guide 이다. 빠짐없이 잘 따라가면 아래와 같은 결과를 볼 수 있다.
Behavior Tree Tutorial Result

자…
내가 관심을 가지고 보는 부분은, Behavior Tree 의 노드들이다. 각 노드들은 다음과 같은 타입으로 나눠진다.

  • Root node in Behavior TreeRoot – Behavior Tree의 시작점. 모든 Behavior Tree는 반드시 하나의 Root 노드를 가진다.
  • Composite(Selector) in Behavior TreeComposite – 분기점branch의 시작을 정의하고 분기점들이 어떻게 수행될 지에 대한 기본 룰을 정의하는 노드이다. Selector, Sequence, Simple Parallel이 있다.
  • Task(MoveTo) in Behavior TreeTask – 트리tree의 최하위 노드leaf로써, 어떤 일을 “수행”하는 노드이다. 여러종류가 있으며 보라색으로 표시된다.
  • Decorator(Blackboard) in Behavior TreeDecorator – 조건문conditional으로 알려져 있으며, 다른 노드에 추가되어 트리의 분기점을 수행할지 말지에 대해 관여한다. 분기가 없는 단일노드에서도 적용가능하며, 파란색으로 노드 상단에 표시된다. 여기서 노드란 Composite 형식의 노드를 말하는 듯하다
  • Service(SetDefault) in Behavior TreeService – Composite 노드에 붙는 것으로, 분기문이 수행되는 동안 정의된 주기frequency마다 수행된다. 주로 Blackboard 채크나 업데이트로 사용된다. 기존의 Behavior Tree 에서 사용되었던 Parallel node 를 대체하는 역할을 한다. 녹색으로 노드 하단에 표시된다.
참고
Advertisements

Written by gomiski

2014/09/29 at 7:23 am

Posted in Unreal

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: