Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 프로그래머스
- DP
- dfs
- ue4macro
- 코테
- 문자열
- 알고리즘
- 다이나믹프로그래밍
- server
- 동적계획법
- Stimuli
- 언리얼
- 유니티
- 코딩테스트
- UMG
- uproperty
- UE4
- Unity
- EffectiveC++
- HTTP
- Widget
- 언리얼4
- blueprint
- 코테연습
- UE5
- c++
- 나나이트
- 재귀
- UnReal
- AIPerception
Archives
- Today
- Total
공부 기록
[UE4] AI Perception 사용 방법 본문
AI Perception 이란?
인공지능이 특정 감각을 통해 사물을 인지할 수 있도록 하는 기능으로, 각각의 Sense를 통해 Enemy(ex. 플레이어) 혹은 일반 오브젝트를 감지할 수 있다. 사용 방법은 아래 이어서 설명하도록 하겠다.
#1 AI Controller에 AI Perception 컴포넌트 추가
사물을 감지할 AI 캐릭터의 컨트롤러에 AIPerception 컴포넌트를 추가해준다.
이때 폰이 아니라 컨트롤러에 추가해주는 것을 잊지 말자.
#2 AI Perception 디테일 설정
Sense Config
- Sight : AI의 시야에 들어오는 사물 인지
- Hearing : 소리를 내는 사물 인지
- Touch : 충돌한 사물을 인지
- Damage : 대미지를 입힌 물체를 인지
- Predicton : 상대 플레이어의 위치를 예측한 값을 인지
- Team : 같은 팀원을 인지 (?)
Dominant Sense
- 여러개의 Sense를 이용해 인지할 경우 가장 우선이 되는 Sense를 설정
Detection by Affiliation
- 어떤 유형을 감지할 것 인지 설정, 복수 선택 가능
- Enemies : 서로 다른 Team을 감지. 팀은 컨트롤러에 의해 조종되는 폰에만 설정 가능하며 디폴트는 NoTeam 임
- Neutrals : 디폴트 상태의 모든 Source를 감지
- Frendlies : 같은 Team을 감지 (안써봐서 정확하진 않음)
#3 인지할 사물에 AIPerceptionStimuliSource 컴포넌트 추가
Stimuli 컴포넌트를 가지고 있어야만 AI Perception에 의해 감지될 수 있다.
이 컴포넌트는 감지될 액터에 바로 붙여주면 된다.
#4 AIPerceptionStimuliSource 디테일 설정
Auto Register as Source 를 활성화하여 AI가 감지할 수 있는 Source로 동작하게 하고, (BP에서 원하는 타이밍에 동작핳 수 있도록 하는 함수도 있는 듯 하다) 컴포넌트가 부착된 액터가 AI의 어떤 Sense를 통해 감지될 것 인지 또한 정해준다.
이렇게 하면 Get Perceived Actors 등의 함수를 통해 현재 AI에 감지된 액터 배열을 얻을 수 있다!
아래는 비헤이비어 트리의 Task 에서 AI Perception 기능을 활용하는 예시이다. 현재 감지된 액터 중 더 가까운 것을 Target 으로 설정하는 방식 등으로 활용할 수 있다.
'Unreal > Blueprint' 카테고리의 다른 글
[UE4] 커스텀 위젯을 위젯 컴포넌트로 사용하기 (UMG) (0) | 2022.03.29 |
---|---|
[UE4] 멀티 플레이 이벤트 복제 방법 (Replicate) (0) | 2022.02.11 |
[UE4] 다른 블루프린트의 함수 호출하기 (블루프린트 간 통신) (0) | 2022.02.03 |
Comments