루리코딩 세상

Unreal Engine : 피격처리하기 본문

이론/Unreal Engine

Unreal Engine : 피격처리하기

루리딩 2025. 6. 9. 11:51

피격시 색상 변경하기



피격시 피격방향으로 컴포넌트 정면회전



피격시 밀림처리 [Launch Character]



카메라 쉐이크 기능


[Get Player Camera Manager] : 플레이어의 카메라를 갖고온다.

[Start Camera Shake] : 카메라의 움직임을 [Shake Class]의 설정대로 시작한다.


피격시 사운드 처리

- 사운드플레이 관련 중요도 낮음 로 인해서 추후 정리 예정

 

[정리 예정]

- 2D, 3D 플레이 환경에서 사운드 플레이 특징 및 특성 개념 정리

- 오버랩 발생 시 사운드 재생 관련 노드 설정 및 명령어 정리


[블루프린트 : 액터] 클래스로 Sound를 선언시켜야한다.

이후 충돌을 감지하는 로직과, 충돌 감지시 사운드를

플레이해주는 노드를 설정해줘야 정상적으로 작동한다.


피격시 이펙트 발생 이벤트 만들기//게임 개발 환경에서는 보통 "Particle " 로 부름


[Spawn Emitter at Location] Emitter Template -> 설정으로 원하는 Particle로 지정해준다.

[Get Actor Location : Target is Actor]

언리얼 엔진에서 엑터의 현재 위치를 월드 좌표로 반환하는 함수다.

컴포넌트의 상대 좌표가 필요할 때는 [GetRelativeLocation()] 을 사용해야한다.

Target이 없을 경우 Self를 기준으로 동작한다. (호출하는 액터 자신의 위치 기준)

 

-- 연관 함수 [ SetActorLocation ], [ GetComponentLocation ], [ GetActorRotation ] 등 Gtp로 정리받은 내용.


Actor (액터) 관련 위치 함수

GetActorLocation() 액터의 월드 위치 반환 월드
SetActorLocation(Vector NewLocation) 액터의 위치를 설정 월드
GetActorForwardVector() 액터의 앞 방향 벡터 반환 방향
GetActorRightVector() 액터의 오른쪽 방향 벡터 반환 방향
GetActorUpVector() 액터의 위쪽 방향 벡터 반환 방향

 

Component (컴포넌트) 관련 위치 함수

GetRelativeLocation() 컴포넌트의 부모 기준 위치 반환 로컬
SetRelativeLocation(Vector RelLoc) 부모 기준 위치 설정 로컬
GetComponentLocation() 컴포넌트의 월드 위치 반환 월드
SetWorldLocation(Vector Loc) 컴포넌트의 월드 위치 설정 월드
AddLocalOffset(Vector) 로컬 좌표 기준으로 이동 로컬
AddWorldOffset(Vector) 월드 좌표 기준으로 이동 월드

 

Rotation (회전) 관련 함수

GetActorRotation() 액터의 현재 회전값(Rotator) 반환 월드
SetActorRotation(Rotator) 액터 회전값 설정 월드
GetComponentRotation() 컴포넌트의 회전 반환 월드
SetRelativeRotation(Rotator) 부모 기준 회전 설정 로컬
AddLocalRotation(Rotator) 로컬 기준 회전 추가 로컬

 

Scale (비율) 관련 함수

GetActorScale3D() 액터의 3D 스케일 반환 월드
SetActorScale3D(Vector) 액터 스케일 설정 월드
GetRelativeScale3D() 컴포넌트의 상대 스케일 반환 로컬
SetRelativeScale3D(Vector) 부모 기준 스케일 설정 로컬

 

기타 유용한 함수 모음

K2_TeleportTo() 액터를 순간이동시킴
MoveComponentTo() 컴포넌트를 일정 시간 동안 이동
Sweep 옵션 충돌 고려하며 이동할지 여부 결정
InterpTo() / VInterpTo() 위치를 부드럽게 보간 (Lerp)

HitStop

- Set Global Time Delation
- Set Custom Time Delation

- 피격시 일시적으로 화면의 멈춤 효과를 주어 다이나믹한 액션 효과를 주기 위함.


[Particle] 효과 이후의 노드를 추가하여, 컴포넌트 오버랩 발생시 마지막으로 기능하도록 순서를 넣었다.

- 프로젝트 예제하면서 든 생각인데, 포격, 원거리 공격과 같은 이펙트들은 오히려 반대로 실행하여서

물리적으로 빛 - 소리가 전달되는 효과를 적용시키면 조금 더 실감나는 피격 효과를 구현해낼 듯 하다.