언리얼 엔진 - 게임 프로젝트/GAS 프레임워크 RPG 프로젝트

게임 맵 - 1) 커서 동작 수정

monstro 2026. 1. 9. 17:13
728x90
반응형

- 개요

프로젝트에서 마우스 커서가 동작하는 방식을 개선한다

 

- C++ 사이드

1) Aura 클래스

 

마우스 커서로 가리키는 대상에게 적용할 하이라이트 효과의 수치를 위와 같이 추가한다

 

2) HighlightInterface 클래스

 

BlueprintType 어트리뷰트를 추가하여 HighlightInterface를 블루프린트에서 변수로 사용할 수 있도록 설정한다

 

3) Checkpoint 클래스

 

CheckpointMesh 멤버변수에 BlueprintReadOnly 어트리뷰트를 추가하여 읽기 전용으로 설정한다

 

4) AuraPlayerController 클래스

 

마우스 커서의 타겟팅 상태를 의미하는 TargetingStatus 열거형을 추가한다

멤버들은 다음과 같다

  • TargetingEnemy : 적을 타겟팅하고 있는 상태
  • TargetinNonEnemy : 적이 아닌 다른 대상을 타겟팅하고 있는 상태
  • NotTargeting : 아무것도 타겟팅하고 있지 않은 상태

 

 

기존의 불리언 변수를 삭제하고 TargetingStatus 열거형의 멤버변수로 변경한다

 

 

AbilityInputTagPressed 함수를 위와 같이 수정한다

이번 프레임에서 마우스 커서로 타겟팅중인 대상을 판단하여 TargetingStatus 멤버변수를 설정한다

타겟팅중이므로 오토 러닝할 수 없도록 bAutoRunning 멤버변수를 False로 설정한다

 

 

AbilityInputTagReleased 함수를 위와 같이 수정한다

조건문의 판단 로직적을 타겟팅하고 있지 않은 경우로 변경하고

로직을 수행한 후 TargetingStatus 멤버변수의 값을 초기화한다

 

 

AbilityInputTagHeld 함수를 위와 같이 수정하여 조건문의 판단 로직을 적을 타겟팅하고 있는 경우로 변경한다

 

 

CursorTrace 함수를 위와 같이 수정하여 타겟팅할 수 없는 대상을 타겟팅 중이면 

이전에 타겟팅한 대상현재까지 타겟팅한 대상 모두의 타겟팅 시각효과를 해제한다

 

- 블루프린트 사이드

1) BP_Checkpoint 블루프린트

 

HighlightInterface를 상속받도록 수정한다

 

 

HighlightActor 함수 UnHighlightActor 함수를 오버라이드한다

 

- 최종 실행 결과

 

728x90
반응형