Last Update:04/02/2026





Introdoction


해당 가이드는 이 플러그인의 매우 기초적인 사용법을 익히기 위해 만들어졌습니다.

이 가이드를 통해 만들 최종 결과는 아래와 같습니다.

플레이어를 쫒아오는 AI입니다.

comp5.mp4

조금 더 복잡한 AI를 만들고 싶다면, Plugins/TCAT/TCAT/Examples/Maps에 있는 Level들이나, 우리의 유튜브 채널의 튜토리얼 영상을 참고하세요.(영상 첨부)

<aside> 💡

이 가이드는 Influence map의 기본적인 개념을 안다고 가정하고 설명하기 때문에, 모르실 경우 따라하실 수는 있지만 이해는 안가실 수 있습니다. 따라서, Influence map의 개념을 아직 모르신다면, 1. GPU-Based Influence Map(한글) 페이지를 참고하시길 바랍니다.

</aside>

지금부터 위 결과를 만드는 방법을 설명하겠습니다.

1. Register Map Tag

Map Tag는 각 Influence map을 구분하는 이름입니다.

Map Tag를 쓰기 전에, 먼저 등록을 해야 합니다.

  1. Edit > Project Settings로 이동합니다.

  2. 좌측 사이드 바에서, Plugins > TCAT Global Settings을 클릭하면, 아래와 같은 화면을 볼 수 있습니다.

    image (3).png

  3. Map Setup > Base Influcence Tags 우측에 있는 + 버튼을 클릭해 Map Tag를 추가합니다.

    image (4).png

  4. 추가한 Map Tag의 이름을 Citizen으로 설정합니다.

    image (5).png

2. Influence Volume 설정

Influence Map을 생성하려면, 먼저 Influence Volume을 만들어야 합니다.

Influence Volume은 Influence map의 크기와 위치를 결정하는 Bound Box입니다.

Influence Volume과 겹치는 바닥 부분이 곧 Influence map이 됩니다.

NavMesh Bounds Volume를 통해 NavMesh를 생성하는 것과 비슷하다고 볼 수 있습니다.

Influence Volume을 생성하고, 그 Volume을 통해 Influence map을 생성하는 방법을 알아보겠습니다.

1. Influence Volume 추가 및 배치

  1. TCATInfluence Volume이라는 Actor를 레벨에 추가합니다.

    image (6).png

  2. TCATInfluence Volume의 Transform을 조절해, Volume의 크기와 위치를 결정합니다.

    image (7).png

    image (8).png

    <aside> 💡

    Volume과 바닥을 겹치게 해야, 겹치는 바닥 부분에 Influence map이 생성됩니다.

    </aside>

2. Influence Map 생성

  1. 생성된 TCATInfluence Volume의 Detail창에서 TCAT이라는 Category를 찾고, Bake Resolution 버튼을 클릭합니다.

    image.png

    클릭 시, 이 Volume을 통해 생성될 Influence map의 해상도가 현재 Volume의 크기와 Cell Size에 맞춰 자동 결정됩니다.

  2. Base Map Configs 우측에 있는 + 버튼을 눌러 Influence map을 생성합니다.

    image (1).png

  3. Base Map Tag 옆 드롭 다운 메뉴를 통해, 해당 Influence map의 Map Tag를 Citizen으로 설정합니다.

    image (2).png

3. Influence Component 설정

Influence map을 만들어 영향력을 기록할 준비를 마쳤다면, 실제로 영향력을 생성할 무언가도 필요합니다.

그 무언가가 Influence Component입니다.

Influence Component를 소유한 액터는 그 액터의 위치를 기준으로 영향력을 발산하게 됩니다.

액터의 위치와 멀어질수록 영향력이 줄어들게 설정했다면, 영향력이 다음과 같이 Influence map에 기록됩니다.(초록색일수록 높은 영향력입니다.)

image.png

플레이어블 캐릭터에 Influence Component를 생성하고, 영향력을 발산하게 만들어보겠습니다.

  1. 사용할 플레이어블 캐릭터의 blueprint editor를 엽니다. 이 가이드에서는 BP_ThirdPersonCharacter를 플레이어블 캐릭터로 사용합니다.

    image (1).png

    <aside> 💡

    BP_ThirdPersonCharacter는 Unreal의 ThirdPerson template에서 찾으실 수 있습니다.

    </aside>

  2. BluePrint Editor에서 TCATInfluence Component를 추가합니다.

    image (2).png

  3. 생성한 Influence component의 Detail 창에서 TCAT Category를 찾고, 아래 사진과 같은 순서로 진행합니다.

    image (3).png

    3-1. Belonging Maps 우측의 + 버튼을 클릭해, 영향력을 생성합니다.

    3-2. Map Tag를 Citizen으로 설정해, 이 영향력이 Citizen Map에 기록되도록 설정합니다.

  4. 액터가 영향력을 발산하는 최대 거리를 설정하기 위해, Influence Radius를 입력합니다. 여기서는 2000을 사용하겠습니다.

    image (4).png

  5. 이 영향력이 액터 위치로부터의 거리에 따라 어떻게 바뀌는 지를 설정하기 위해, FallOff Curve를 설정합니다.

  6. Bluprint Editor를 컴파일 후 저장합니다.

  7. PIE(Play In Editor)를 실행하면, 아래와 같이 영향력이 발산되는 모습을 실시간으로 디버깅해 볼 수 있습니다.

  8. 실제 게임 중에는 영향력이 발산되는 모습이 보이면 안되므로, 조금 전에 만든 Influence Volume의 detail 창에서, TCAT > Debug Settings > Draw Influence를 None으로 변경합니다.

4. Influence map을 참조하는 AI 로직 작성

지금까지 Influence map을 만들고, 그 map에 실제로 영향력을 발산하는 Influence Component까지 만들어보았습니다.

지금부터는 이 Influence map을 참조해서 의사결정을 하는 AI를 만들어보겠습니다.

  1. 먼저, AI가 이동할 수 있는 영역을 생성해주기 위해, Nav Mesh Bounds Volume을 생성 하고, 조금 전에 만든 Influence Volume과 같은 Tranform을 입력합니다.

  2. 이제 AI 캐릭터를 만들어보겠습니다. In your Content Browser, right-click and select Blueprint Class.

  3. Character를 클릭해 Character 블루프린트를 생성합니다.

  4. Open the Bluprint and select the Mesh component. In the Details panel, assign your desired Anim Class and Skeletal Mesh, just as you would with a standard character.

  5. Mesh의 Tranform을 다음과 같이 설정합니다.

  6. 쫒아오는 AI가 플레이어를 바라보면서 올 수 있도록, Character Movement Component의 Details 창에서 Orient Rotation to Movement를 true로 설정합니다.

  7. EventGraph에서, Search Highest Value 노드를 생성합니다.

  8. 다음과 같이 노드를 구성합니다.