비헤이비어 트리 노드 레퍼런스: 데코레이터

비헤이비어 트리 데코레이터 노드의 레퍼런스 정보입니다.

Choose your operating system:

Windows

macOS

Linux

다른 비헤이비어 트리 시스템에서는 조건식이라고도 알려진 데코레이터(Decorator)컴포짓(Composite) 또는 태스크(Task) 노드에 어태치되며, 트리에 있는 분기 또는 단일 노드를 실행할 수 있는지 여부를 정의합니다.

Blackboard

다른 비헤이비어 트리 시스템에서는 조건식이라고도 알려진 데코레이터는 컴포짓 또는 태스크 노드에 어태치됩니다

블랙보드(Blackboard) 노드는 특정 블랙보드 키(Blackboard Key) 에 값이 설정되어 있는지 확인합니다.

프로퍼티

설명

관찰자 노티파이(Notify Observer)

On Result Change

조건이 변경될 때만 재평가합니다.

On Value Change

관찰된 블랙보드 키가 변경될 때만 재평가합니다.

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

블랙보드 키(Blackboard Key)

데코레이터가 작업할 블랙보드 키입니다.

키 쿼리(Key Query)

Is Set

값이 설정되었는지 여부입니다.

Is Not Set

값이 설정되지 않았는지 여부입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Check Gameplay Tag 조건

Gameplay Tag 조건

프로퍼티

설명

확인할 액터(Actor to Check)

확인할 액터에 대한 레퍼런스를 포함하는 블랙보드 키입니다.

일치시킬 태그(Tags to Match)

데코레이터가 게임플레이 태그 프로퍼티에 나열된 아무(Any) 태그 혹은 모든(All) 태그와 일치해야 합니다.

게임플레이 태그(Gameplay Tags)

게임플레이 태그 에디터를 로드하여 이 데코레이터에서 사용되어야 하는 태그를 선택합니다.

역 조건(Inverse Condition)

데코레이터의 결과를 반전시켜 false는 true, true는 false가 되게 할지 여부입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Compare BBEntries

Compare BBEntries 노드는 두 블랙보드 키의 값을 비교하여 노드의 실행을 차단하거나 허용합니다

Compare BBEntries (Compare Blackboard entries) 노드는 두 블랙보드 키(Blackboard Key) 값을 비교하여 결과가 같은지 다른지에 따라 노드의 실행을 차단하거나 허용합니다.

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

연산자(Operator)

Is Equal To

두 키가 서로 같은지 여부입니다.

Is Not Equal To

두 키가 서로 다른지 여부입니다.

블랙보드 키 A(Blackboard Key A)

비교에 사용되는 첫 번째 키입니다.

블랙보드 키 B(Blackboard Key B)

비교에 사용되는 두 번째 키입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

컴포짓

컴포짓 데코레이터 노드를 사용하면 보다 고급 로직을 구성할 수 있습니다

컴포짓(Composite) 데코레이터 노드를 사용하면 블루프린트보다 간단하면서 내장형 노드보다는 고급인 로직을 설정할 수 있습니다. 노드에 컴포짓 데코레이터를 추가한 후 컴포짓 데코레이터를 더블클릭하면 컴포짓 그래프가 표시됩니다. 이 그래프 영역에서 우클릭하여 데코레이터 노드를 독립형 노드로 추가하고 AND , OR , NOT 노드로 서로 연결하면 고급 로직을 만들 수 있습니다.

이미지를 클릭하면 최대 크기로 볼 수 있습니다.

프로퍼티

설명

컴포짓 이름(Composite Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

연산 표시(Show Operations)

노드에 일반 텍스트로 연산을 나열합니다.

컴포짓 데코레이터를 이러한 방식으로 사용하면 메모리와 퍼포먼스에 영향이 갑니다. C++로 데코레이터를 생성하면 동일한 커스텀 비헤이비어를 보다 효율적으로 작동하게 할 수 있습니다.

Conditional Loop

키 쿼리(Key Query) 조건이 충족되는 한 이 데코레이터는 어태치된 노드를 루프시킵니다.

이 데코레이터는 어태치된 노드를 루프시킵니다

프로퍼티

설명

블랙보드 키(Blackboard Key)

데코레이터가 작업할 블랙보드 키입니다.

키 쿼리(Key Query)

Is Set

값이 설정되었는지 여부입니다.

Is Not Set

값이 설정되지 않았는지 여부입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Cone Check

Cone Check 데코레이터는 세 가지 벡터 키를 취합니다

Cone Check 데코레이터는 세 가지 벡터 키를 취합니다. 첫 번째 키는 원뿔이 시작될 위치를, 두 번째 키는 원뿔이 가리키는 방향을 정의하며, 세 번째 키는 이 위치가 원뿔 내부에 있는지 여부를 확인합니다. 원뿔의 각도는 원뿔 반각(Cone Half Angle) 프로퍼티로 정의합니다.

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

원뿔 반각(Cone Half Angle)

원뿔의 반각입니다. 예를 들어 원뿔이 90도가 되려면 이 값은 45도여야 합니다.

원뿔 원점(Cone Origin)

원뿔이 시작되는 위치(꼭짓점)입니다.

원뿔 방향(Cone Direction)

원뿔의 밑면이 향하는 방향입니다.

관찰됨(Observed)

원뿔 내에 있는지 확인 중인 위치 또는 액터입니다.

역 조건(Inverse Condition)

데코레이터의 결과를 반전시켜 false는 true, true는 false가 되게 할지 여부입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Cooldown

Cooldown 노드는 노드나 분기의 실행을 잠급니다

Cooldown 노드는 쿨다운 시간이 만료될 때까지 노드나 분기의 실행을 잠급니다.

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

쿨 다운 시간(Cooldown time)

Cooldown 데코레이터가 이 노드의 실행을 잠그는 시간(초 단위)입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

커스텀 데코레이터

커스텀 데코레이터

새 데코레이터(New Decorator) 버튼을 클릭하면 직접 만든 커스텀 블루프린트 로직 및/또는 파라미터로 새로운 데코레이터 를 생성할 수 있습니다. 

새 데코레이터 버튼을 클릭하면 새로운 데코레이터를 생성할 수 있습니다

커스텀 로직에는 다음 파라미터 또한 포함됩니다. 

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

프로퍼티 디테일 표시(Show Property Details)

노드 프로퍼티의 세부 정보를 표시합니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

역 조건(Inverse Condition)

데코레이터의 결과를 반전시켜 false는 true, true는 false가 되게 할지 여부입니다.

Does Path Exist

Does Path Exist 노드는 두 벡터로 경로가 구성될 수 있는지 확인합니다

Does Path Exist 노드는 블랙보드 키 A와 블랙보드 키 B로 경로를 만들 수 있는지 여부를 확인합니다.

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

블랙보드 키 A(Blackboard Key A)

경로의 첫 번째 위치입니다.

블랙보드 키 B(Blackboard Key B)

경로의 두 번째 위치입니다.

경로 쿼리 타입(Path Query Type)

NavMesh Raycast 2D

아주 빠름

Hierarchical Query

빠름

Regular Path Finding

느림

역 조건(Inverse Condition)

데코레이터의 결과를 반전시켜 false는 true, true는 false가 되게 할지 여부입니다.

필터 클래스(Filter Class)

사용할 내비게이션 데이터입니다. None 으로 설정하면 디폴트 내비게이션 데이터를 사용합니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Force Success

Force Success 데코레이터는 노드 결과를 성공으로 변경합니다

Force Success 데코레이터는 노드 결과를 성공으로 변경합니다. 

프로퍼티

설명

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Is At Location

Is At Location 데코레이터 노드는 AI가 제어하는 폰이 특정 위치에 있는지 확인합니다

Is At Location 데코레이터 노드는 AI가 제어하는 폰이 특정 위치에 있는지 확인합니다. 

프로퍼티

설명

허용 가능 반경(Acceptable Radius)

위치에 있는 것으로 인정되는 거리의 한계치입니다.

파라미터화된 허용 반경(Parametrized Acceptable Radius)

파라미터 기반의 허용 가능 반경(난수 등)입니다.

지오메트릭 거리 타입(Geometric Distance Type)

경로 탐색 기반 테스트 를 비활성화했다면 이 옵션으로 거리 타입을 3D, 2D 또는 Z 값으로 설정합니다.

내비 에이전트 목표 위치 사용(Use Nav Agent Goal Location)

액터로 이동하는 중이고 그 액터가 내비 에이전트(Nav Agent)인 경우, 액터의 내비 에이전트 목표 위치로 이동합니다.

경로 탐색 기반 테스트(Path Finding Based Test)

활성화하면 경로를 따라가는 동안 수행하는 테스트에서 일관된 결과가 나옵니다. 비활성화하면 거리 타입(Distance Type) 에서 환경설정한 대로 지오메트릭 거리(Geometric Distance) 를 사용합니다.

역 조건(Inverse Condition)

데코레이터의 결과를 반전시켜 false는 true, true는 false가 되게 할지 여부입니다.

블랙보드 키(Blackboard Key)

테스트할 블랙보드 키 값입니다.

노드 이름(Node Name)

사용자 정의된 노드 이름입니다.

Is BBEntry Of Class

Is BBEntry Of Class 데코레이터 노드는 지정된 블랙보드 키가 특정 클래스에 속하는지 확인합니다

Is BBEntry Of Class 데코레이터 노드는 지정된 블랙보드 키가 특정 클래스에 속하는지 확인합니다. 

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

테스트 클래스(Test Class)

블랙보드 키 프로퍼티의 오브젝트 클래스에 대해 테스트할 클래스 타입입니다.

블랙보드 키(Blackboard Key)

테스트할 블랙보드 키입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Keep in Cone

Keep in Cone 데코레이터 노드의 조건은 관찰된 위치가 여전히 원뿔 내에 있는지에 따라 정해집니다

Keep in Cone 데코레이터 노드의 조건은 관찰된 위치가 여전히 원뿔 내에 있는지에 따라 정해집니다. 원뿔의 방향은 노드에 처음으로 연관성이 생길 때 계산됩니다.

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

원뿔 반각(Cone Half Angle)

원뿔의 반각입니다. 예를 들어 원뿔이 90도가 되려면 이 값은 45도여야 합니다.

원뿔 원점(Cone Origin)

원뿔이 시작되는 위치(꼭짓점)입니다.

관찰됨(Observed)

원뿔 내에 유지할 위치 또는 액터입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Loop

Loop 데코레이터는 노드 또는 분기를 루프합니다

Loop 데코레이터는 노드 또는 분기를 일정 횟수만큼 또는 무한히 루프합니다.

프로퍼티

설명

루프 수(Num Loops)

실행할 루프 횟수입니다.

무한 루프(Infinite Loop)

루프를 무한히 실행할지 여부입니다.

무한 루프 타임아웃 시간(Infinite Loop Timeout Time)

무한 루프(Infinite Loop) 가 활성화된 경우의 타임아웃 값입니다. 값이 음수라면 루프는 종료되지 않습니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Set Tag Cooldown

게임플레이 태그의 쿨다운 타이머가 만료되었는지에 따라 조건이 정해지는 데코레이터 노드입니다

Set Tag Cooldown 노드는 게임플레이 태그(Gameplay Tag)에 쿨다운 대기시간을 설정합니다. 

프로퍼티

설명

쿨다운 태그(Cooldown Tag)

쿨다운에 사용되는 게임플레이 태그입니다.

쿨다운 대기시간(Cooldown Duration)

쿨다운의 길이입니다. 단위는 초입니다.

기존 대기시간에 추가(Add to Existing Duration)

지정된 게임플레이 태그에 기존 쿨다운이 있다면 더 추가할지 여부입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Tag Cooldown

Time Limit 데코레이터는 분기 또는 노드에 시간 길이를 설정합니다

게임플레이 태그의 쿨다운 타이머가 만료되었는지에 따라 조건이 정해지는 데코레이터 노드입니다. 

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

쿨다운 태그(Cooldown Tag)

쿨다운에 사용되는 게임플레이 태그입니다.

쿨다운 대기시간(Cooldown Duration)

쿨다운의 길이입니다. 단위는 초입니다.

기존 대기시간에 추가(Add to Existing Duration)

지정된 게임플레이 태그에 기존 쿨다운이 있다면 더 추가할지 여부입니다.

비활성화 시 쿨다운 추가/설정(Adds/Sets Cooldown on Deactivation)

데코레이터가 비활성화될 때 쿨다운 태그의 값을 더하거나 설정할지 여부입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.

Time Limit

decorators-16.png

시간 제한(Time Limit) 데코레이터는 분기 또는 노드가 일정 시간 내에 완료되지 않으면 중단되고 실패하게 합니다. 이 타이머는 노드가 포커스를 받을 때마다 초기화됩니다.

프로퍼티

설명

관찰자 중단(Observer Aborts)

None

아무것도 중단하지 않습니다.

Self

자신 및 이 노드 아래에서 실행 중인 모든 서브트리를 중단합니다.

Lower Priority

이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

Both

자신, 이 노드 아래에서 실행 중인 모든 서브트리, 이 노드의 오른쪽에 있는 모든 노드를 중단합니다.

시간 제한(Time Limit)

노드가 실패하기까지 주어지는 제한 시간입니다. 단위는 초입니다.

노드 이름(Node Name)

비헤이비어 트리 그래프에 표시되는 노드 이름입니다.