13. 데코레이터 생성

13 단계. 데코레이터 생성

Windows
MacOS
Linux
On this page

Decorator, 데코레이터는 다른 비헤이비어 시스템에서 조건절이라고도 알려져 있는데, Composite 또는 Task 노드에 붙어 트리 내 분기 또는 단일 노드의 실행 여부를 결정합니다.

데코레이터 는 AI 의 폰이 타깃에 충분히 가까이 가면 비헤이비어 트리의 Rapid Move To 분기 실행을 중지합니다. Rapid Move To 태스크나 그냥 Move To 태스크를 사용해서 처리할 수는 있지만, 이 데코레이터는 아무 액터나 받아 어느 분기의 실행을 막을 수도 있습니다. 여러가지 상황에서 재사용할 수 있게 되는 것입니다.

Steps

  1. 콘텐츠 브라우저 에서 FollowerBT 비헤이비어 트리에 더블클릭 하여 엽니다.

  2. 새 데코레이터 버튼을 클릭합니다.

    비헤이비어 트리와 같은 폴더에 생성됩니다.

  3. 콘텐츠 브라우저 에서 그 이름을 "CloseEnough" 로 변경합니다.

  4. 에디터에 이미 편집가능한 상태로 열릴테지만, 열리지 않은 경우 콘텐츠 브라우저 에서 더블클릭해 줍니다.

  5. 내 블루프린트 탭의 함수 부분에서 PerformConditionCheck 를 "오버라이드" 합니다.

    override_button.png

  6. 새 함수에서 다음 그래프를 생성합니다:

    Copy Example

    이미지를 클릭하면 확대, 또는 여기 를 클릭하면 새 창에서 엽니다.

    variables.png

    이 블루프린트에 대한 변수 이름, 유형, 값입니다:

    변수 이름

    유형

    AI_CON_Ref

    Follower_AI_CON_C

    None

    AcceptableDistance

    Float

    0.0 - 하지만 이 값은 "편집가능" 옵션이 True 로 설정되어 있어서, 비헤이비어 트리에서 인스턴스별로 변경 가능합니다.

    TargetToFollow

    BlackboardKeySelector

    None - 하지만 이 값은 "편집가능" 옵션이 True 로 설정되어 있어서, 비헤이비어 트리에서 인스턴스별로 변경 가능합니다.

    함수 그래프이기 때문에, 위 그림에서 코드 스니펫 을 사용하면 그래프의 가운데 부분만 나올 뿐, 시작과 끝 노드는 연결되지 않을 것입니다. 이미지에 표시되는 것처럼 선을 연결해 주기만 하면 정상 작동할 것입니다.

  7. Receive Condition Check 이벤트는 비헤이비어 트리가 이 조건이 달려있는 노드에 걸렸을 때 이 블루프린트에 전송되는 이벤트입니다.

  8. 다시 한 번, AI Controller 를 저장하여 나중에 쉽게 참조하도록 합니다.

  9. 따라가고자 하는 액터(플레이어 폰)를 구합니다.

  10. 액터와 AI 폰 사이의 거리를 구합니다.

  11. 거리가 설정된 양보다 크면, 조건이 True 를 반환합니다. 크지 않으면, False 를 반환하고 해당 비헤이비어 트리 부분 실행을 막습니다.

그러면 비헤이비어 트리가 RapidMoveTo 를 계속 순환하지 않고 다시 빠져나올 수 있게끔 만듭니다. 근본적으로 플레이어를 따라잡았으면 멈추는 것입니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback