[Unreal_블루프린트]#28_Change Targeting

2022. 9. 29. 23:26· 게임개발/Unreal 블루프린트
목차
  1.  
  2. [Unreal_블루프린트]#28_Change Targeting

 

[Unreal_블루프린트]#28_Change Targeting

Unreal 블루프린트 개발 중 "타게팅" 구현에 대해 알아보겠습니다.

"블루 프린트" 활용에 대한 내용입니다.

 


 

Camera Focal Point

1. End Lock On 커스텀 이벤트 생성

Targeting Event -> End Lock On 커스텀 이벤트

 

2. Tick Lock On, Targeting 액션의 실시간 업데이트

Targeting Event -> Tick Lock On 이벤트

1. Lock Distance 변수

  • Targeting 입력 액션이 발생할 때마다, 주어진 "최대 범위"를 의미합니다.

2. Set Control Rotation

  • Targeting이 성공적으로 이루어졌을 때, Controller, 즉 Camera의 회전을 Enemy 방향으로 설정합니다.

3. Tick 이벤트

  • 당연하게도, Tick Lock On 이벤트를 호출하기 위해선 Tick 이벤트에 연결해줘야 합니다!

 

Targeting Change, 범위 내 Targeting 대상 순회

1. Get Nearest Enemy 함수 생성

BP_Player::Get Nearest Enemy 함수

2. Target Enemy & Player To Enemy Distance 

  • Target Enemy 객체(Key) + Player와 해당 Target Enemy 객체 간의 거리(Value)를 Pair로 "map 컨테이너"를 생성합니다. 이때 중요한 점은 "내적(Dot Product)" + "외적(Cross Product)"의 활용입니다!

 

3. Dot Product + Cross Product

1. 벡터 A의 길이와 벡터 B의 길이가 같다고 가정합니다. A = B

2. 이때 단순히 검정색 구와 빨간색 구 간의 거리를 map 컨테이너에 저장하면, 혼란을 가져옵니다!!

3. Cross Product + Dot Product

  • 검은색 구의 전방 벡터와 A 벡터 그리고 B 벡터의 외적을 구합니다.
  • 외적의 결과와 검은색 구의 상방 벡터의 내적을 구하면 Scalar 값이 나옵니다!
  • 왼쪽에 있는 검정색검은색 구는 - N 값이 나오며, 오른쪽에 있는 검은색 구는 +N 값이 나오게 되죠!

4. Map 컨테이너 순회

1. Map을 순회하며 Value 값들에 접근합니다.

2. Player의 전방 벡터 기준으로 오른쪽은 양수(+) 왼쪽은 음수(-)이므로 "0"을 기준으로 비교를 진행

3. 최소 값을 경신하는 Value 값을 통해 Key 값, 즉 가까운 BP_Enemy 객체를 map 컨테이너에서 찾습니다.

4. 찾아낸 BP_Enemy 객체에 "Set Target Cursor(마킹)"을 호출하고 Lock On Enemy로 설정합니다.

 

결과 화면

 

'게임개발 > Unreal 블루프린트' 카테고리의 다른 글

[Unreal_블루프린트]#30_Behavior Tree, Tracing  (1) 2022.10.05
[Unreal_블루프린트]#29_Multiple Damage Problem  (0) 2022.09.29
[Unreal_블루프린트]#27_Targeting  (0) 2022.09.27
[Unreal_블루프린트]#26_Rolling + Backstep  (0) 2022.09.27
[Unreal_블루프린트]#25_Fist Attack 구현, 맨손 공격  (0) 2022.09.27
  1.  
  2. [Unreal_블루프린트]#28_Change Targeting
'게임개발/Unreal 블루프린트' 카테고리의 다른 글
  • [Unreal_블루프린트]#30_Behavior Tree, Tracing
  • [Unreal_블루프린트]#29_Multiple Damage Problem
  • [Unreal_블루프린트]#27_Targeting
  • [Unreal_블루프린트]#26_Rolling + Backstep
Hardii2
Hardii2
개발 블로그Hardii2 님의 블로그입니다.
Hardii2
개발 블로그
Hardii2
전체
오늘
어제
  • 분류 전체보기 N
    • 알고리즘 N
    • 웹 개발
      • Node.js
      • React
    • 게임개발
      • DirectX12
      • 관련 지식
      • Unreal C++
      • Unreal 블루프린트
    • 언어
      • Effective C++
      • Basic C++
      • 디자인 패턴
      • 자료구조
      • 기술 질문
    • 문제 풀이
      • BOJ 문제 풀이
      • Programmers 문제 풀이
      • geeksForgeeks 문제 풀이
    • 수학
      • 확률과 통계
      • 게임수학
    • 개인프로젝트
    • 그룹프로젝트
      • PM
      • Dev
    • Github

블로그 메뉴

  • 홈
  • 글쓰기

공지사항

인기 글

태그

  • set
  • BOJ
  • programmers
  • C++
  • DP
  • unreal
  • 알고리즘
  • BFS
  • 트리
  • 정렬
  • Unreal Blueprint
  • 디자인 패턴
  • 그래프
  • dfs
  • 최단 경로
  • 개발
  • Effective C++
  • 기술 질문
  • 우선순위 큐
  • stl

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hardii2
[Unreal_블루프린트]#28_Change Targeting
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.