Pawn은 움직이는 오브젝트, Controller는 그걸 조종하는 논리
1. Pawn
Pawn은 플레이어나 AI가 직접 조종할 수 있는 게임 오브젝트다.
단순히 Actor를 상속받은 객체로, 입력에 따라 움직이거나 상호작용할 수 있다
이동, 충돌, 중력 등 기본 기능은 직접 구현해야 하므로, 특수한 움직임(비행기, 드론, 카메라 등)에 적합하다
사람 캐릭터처럼 보행이 필요한 경우에는 Character 클래스를 사용하는 게 더 효율적이다.
2. Controller
Controller는 Pawn을 실제로 제어하는 논리를 담당한다.
PlayerController(플레이어 입력 처리)와 AIController(AI 로직 처리)로 나뉜다
Controller가 Pawn을 Possess(빙의)하면, 해당 Pawn을 자유롭게 조종할 수 있다.
Controller와 Pawn을 분리함으로써, 동일한 Pawn을 플레이어 또는 AI가 상황에 따라 제어할 수 있다
3. 구조적 특징
Controller는 게임 내내 유지되지만, Pawn은 상황에 따라 교체되거나 소멸될 수 있다
예를 들어, 데스매치 게임에서 플레이어가 죽고 리스폰할 때 Pawn은 바뀌지만, PlayerController는 그대로 남는다.





- AI 컨트롤러를 적용할 블루프린트 Character을 클릭

- 디테일 창에서 만든 AI 컨트롤러를 적용해준다.



AI 퍼셉션 프로퍼티
디테일(Details) 패널에서 사용 가능한 AI 퍼셉션 컴포넌트 의 일반 프로퍼티 외에도 AI 퍼셉션(AI Perception) 및 감각 환경설정(Senses Config) 섹션에서 인지할 감각(Senses) 유형을 추가할 수 있습니다. 감각 유형에 따라 감각 의 인지 방식을 조정하는 다양한 프로퍼티를 사용할 수 있습니다.


* ai 대상자 *
1000 cm안에 있는 물체는 감지하겠다.
1000~1500cm 안에 있는면 그 물체를 놓친다.
주변시야 반각 90 -> 내 시야를 중심으로 양 옆 포함 180도를 보겠다.
디버그 컬러 - ai 대상자의 시야를 볼 수 있다.
* 디버그 방법 *
플레이 후 ' 키를 누를 시
숫자패드 0 ~ 4를 누를 시 각 디버그 (4. AI 인지 관련 디버그)

* ai 대상자
AI 퍼셉션에서 설정한 조건 안에 어떤 물체가 인지 되었을 때 이벤트 발생 시킬걸 지정할 수 있다.



ai가 갈 수 있는 경로를 지정해주는 볼륨. (네비메시 바운드 볼륨)
네비메시 바운드 볼륨 늘리고 + P를 AI가 돌아다닐 수 있는 공간을 볼 수 있다.



[ AI Move To ] 블루프린트 함수는 언리얼 엔진에서 AI 캐릭터가 지정된 목표 지점이나 액터로 자동 이동하도록 명령하는 기본적인 이동 함수다. 주로 AIController 또는 캐릭터 블루프린트에서 사용된다.
목표 위치(좌표) 또는 목표 액터까지 네비게이션 메시(NavMesh)를 따라 자동으로 경로를 찾아 이동하게 한다. AI가 도착하면 성공/실패 여부를 반환하고, 이후 로직(예: 다음 이동, 대기 등)을 이어갈 수 있다.
- Pawn: 이동 명령을 받을 AI 캐릭터(보통 Self)
- Target Actor: 따라갈 목표 액터(동적으로 움직이는 대상)
- Destination: 이동할 목표 위치(정적인 좌표)
- Acceptance Radius: 목표에 얼마나 가까이 가면 도착으로 인정할지(거리, float)
- Stop on Overlap: 목표에 닿으면 이동을 멈출지 여부
※ Target Actor와 Destination 중 하나만 입력하면 된다.Target Actor: 움직이는 대상을 따라갈 때 Destination: 특정 위치로 이동할 때.
이제 AI가 움직이는 위치를 랜덤이 아닌 직접 정해진 위치를 순찰하는 작업이다.

일단 AI 대상자 블루프린트에 들어가서 변수를 하나 추가한다. 변수의 자료형은 오브젝트 레퍼런스로 지정해준다.
※ 오브젝트 레퍼런스(Object Reference)
오브젝트(액터, 컴포넌트 등)의 주소 또는 참조값이다. 복사본이 아니라, 실제로 레벨에 존재하는 오브젝트 자체를 가리킨다.
예를 들어, 순찰 AI가 여러 타깃 포인트를 순서대로 이동하게 하려면, 각 타깃 포인트 오브젝트의 레퍼런스를 배열에 저장해서 사용한다.
※ 타깃 포인트 오브젝트 레퍼런스
블루프린트 변수 타입이 "Target Point Object Reference"로 되어 있으면, 해당 변수에는 레벨에 배치된 타깃 포인트 액터를 직접 지정할 수 있다. 이를 통해 AI가 "어느 위치로 이동해야 하는지"를 정확히 알 수 있다
이 변수 오른쪽 눈 모양을 켜준다. 눈 표시는 디테일 패널에서 볼 수 있냐 없냐를 정할 수 있다. 눈을 활성화 하면 아래와 같이 나온다.


디테일 창에서 변수 유형을지정할 수 있다! 이 타킷 포인트가 AI가 갈 위치가 될 수 있도록 지정해주자.

뷰포트에 직접적으로 원하는 위치 세팅 가능한 타깃 포인트

노란색체크 : 타킷포인트 , 빨간색체크 되어 있는 스포이드 모양을 눌러 타켓 포인트를 지정해준다.


AI 대상 블루프린트 1을 더하는 식이면 항상 같은 루트로 뱅뱅 돌기 때문에 Random으로 순찰 할 수 있게 다르게 짜보았다.
끝!

👉👉 출처 & 도움
인프런 2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편
2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편 강의 | YAL - 인프런
YAL | 언리얼 엔진의 최신 순기능들로 여러분들의 프로젝트 업그레이드를 목표로 합니다., Unreal Engine 5의 모든 것.언리얼 엔진의 최신 기능을 깊고 강력하게! 🦾 [사진] 이 배지를 받은 사람은 Un
www.inflearn.com
Perplexity
Perplexity is a free AI-powered answer engine that provides accurate, trusted, and real-time answers to any question.
www.perplexity.ai
'🎯 game engine > ◽ 언리얼(unreal)' 카테고리의 다른 글
| [Unreal] Frontend UI Subsystem (2) | 2025.09.14 |
|---|---|
| cast와 castcheck 차이 (0) | 2025.09.14 |
| [unreal] 애니메이션 리타게팅 (8) | 2025.07.04 |
| [unreal] Gamemode, UE_LOG (0) | 2025.03.08 |
| [unreal] 움직이는 물체에 가만히 있는 플레이어 뚫림현상 (1) | 2025.03.08 |