언어:
페이지 정보
엔진 버전:
언리얼 엔진

12. 태스크 생성

언리얼 엔진

Task, 태스크란 AI 이동, 블랙보드 값 조정 등 무언가를 하는 노드입니다. 데코레이터 를 붙일 수 있습니다.

태스크 는 기본적으로 Move To 노드를 새로 만든 것으로, 한 가지 큰 차이점이라면 AI 가 항상 자기 위치가 아닌 플레이어 폰을 향해 달린다는 점입니다. 또한 분해해서 Finish Execute 를 실행하지 않는 한 계속해서 처리가 되며, AI MoveTo 노드에 완벽히 이러한 모습이 보입니다.

단계

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

  2. 새 태스크 버튼을 클릭합니다.

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

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

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

  5. 다음과 같이 그래프를 만들어 줍니다:

    Copy Example

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

    variables.png

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

    변수 이름

    유형

    AI_CON_Ref

    Follower_AI_CON_C

    None

    TargetToFollow

    BlackboardKeySelector

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

이 그래프에서 벌어지는 일은 이렇습니다:

  1. Event Receive Execute 는 비헤이비어 트리가 이 태스크 노드를 실행할 때 호출됩니다.

  2. 이전 단계에서 했던 것처럼 Follower_AI_CON 을 저장합니다.

  3. Cast to Actor 노드가 "TargetToFollow" 오브젝트 값을 블랙보드에서 끌어온 다음 Actor 로 형변환하여 AI MoveTo 노드에서 사용할 수 있도록 합니다.

  4. 성공시, 태스크는 Finish Execute 노드를 성공적으로 실행할 것입니다.