티스토리 뷰
언리얼 강의 2-2. 액터의 상호작용 - 오버랩, 충돌이벤트
1. 오버랩(Overlap) 이벤트
| 1-1. 오버랩이란? | |
| 정의 | 한 액터 또는 콜리전 컴포넌트가 다른 액터의 공간에 들어오거나 겹쳤을 때 발생하는 이벤트 |
| 주요 이벤트 | - OnActorBeginOverlap : 범위에 들어올 때 - OnActorEndOverlap : 범위에서 나갈 때 |
| 1-2. 레벨 블루프린트에서 오버랩 구현 | |
| 1. 레벨에 Trigger Box 배치 후 크기 조정 | |
| 2. Trigger Box를 선택한 뒤 레벨 블루프린트 이동 → Add On Actor Begin Overlap 생성 | |
| 3. Overlap된 Actor 확인 위해 Other Actor → Get Display Name → Print String 연결 |
| 1-3. 오브젝트 블루프린트 내부 구현 | |
| 1. BP_OverlapActor 생성 → Box Collision 추가 | |
| 2. BeginOverlap 이벤트 활용해 Print String 등 동일 기능 테스트 |
| 1-4. Enemy 회전(Find Look At Rotation 사용) | |
| 1. BP_Enemy 생성 → Static Mesh + Sphere Collision 추가 | |
| 2. Sphere 콜리전 크기 조정 & 메시 방향을 X축 정방향으로 맞추기 | |
| 3. BeginOverlap 시 Find Look At Rotation → Set Actor Rotation | |
| 4. 처음 순간 이동처럼 회전하므로 자연스럽지 않음 | |
| 5. 변수 Character 생성 → 오버랩 시작 시 저장 / 끝날 때 비우기 | |
| 6. Event Tick에서 Character 유효 여부 체크 | |
| 7. Tick에서 매 프레임 Find Look at Rotation & Set Actor Rotation 적용 | |
| 8. 자연스러운 회전을 위해 RInterp To 또는 Lerp 활용 | |
| 9. 회전 속도 조절은 Delta Seconds × Multiply 로 조절 가능 |
2. 충돌(Collision) 이벤트
| 2-1. 충돌 이벤트 (OnComponentHit) | |
| 1. BP_Car3 복제 후 초기화 | |
| 2. Static Mesh 선택 → Add On Component Hit 추가 | |
| 3. Hit된 Actor 확인 위해 Print String으로 이름 출력 | |
| 4. 충돌 시 Play Sound at Location → Destroy Actor 구현 |
| 2-2. 캐릭터와 충돌: Launch Character | |
| 기능 | 캐릭터를 특정 방향으로 튕겨내는 기능 |
| 활용 | 충돌 시 캐릭터 공중으로 날려보내기 |
| 예시 | Launch Character + 폭발 이펙트(Spawn Emitter at Location) |
3. 숙제
| 3-1. 자동문 열기 | |
| 기능 | 플레이어가 문 앞 오버랩 → 문이 자동으로 열림 |
| 사용 기술 | 오버랩 이벤트 + 회전(Set Relative Rotation) |
| 힌트 | LowerSector_Mod 레벨의 문 에셋 사용 |
| 3-2. 움직이는 오브젝트 충돌 + 캐릭터 튕겨나가기 | |
| 기능 | 움직이는 액터가 캐릭터와 충돌 → 캐릭터가 날아감 |
| 사용 기술 | 이동(Tick) + OnHit + Launch Character |
| 추가 효과 | 파괴 이펙트 / 폭발 이펙트 사용 가능 |
✨ 요약
| 항목 | 내용 |
| 오버랩(Overlap) 정의 | 액터 또는 콜리전 컴포넌트가 다른 액터의 영역에 들어오거나 겹칠 때 발생 |
| 오버랩 주요 이벤트 | - OnActorBeginOverlap (들어옴) - OnActorEndOverlap (나감) |
| 오버랩 구현(레벨 BP) | Trigger Box 배치 → Add On Actor Begin Overlap → Other Actor → Get Display Name → Print String |
| 오버랩 구현(오브젝트 BP) | BP 생성 → 콜리전 추가 → BeginOverlap 사용하여 동일 로직 구성 |
| 에너미 회전 활용 | 플레이어가 Sphere 범위에 들어오면 Enemy가 플레이어 방향으로 회전 |
| 에너미 회전 핵심 로직 | - Find Look At Rotation → Set Actor Rotation - Tick에서 지속 회전 - RInterp To / Lerp 사용해 부드러운 회전 |
| 에너미 회전 관리 방식 | Overlap 시작 시 Character 변수 저장, EndOverlap 시 제거 |
| 충돌(Collision) 정의 | 두 액터가 서로 물리적으로 부딪칠 때 발생 |
| 충돌 주요 이벤트 | OnActorHit / OnComponentHit |
| 충돌 조건 | Collision Preset이 Block 이어야 Hit 발생 |
| 충돌 구현 예시 | Static Mesh → Add On Component Hit → Print String / Play Sound / Destroy Actor |
| Launch Character 용도 | 충돌 시 캐릭터를 튕겨내거나 공중으로 날리는 기능 |
| Launch Character 활용 예시 | BP_Car 충돌 → 캐릭터 넉백 → 폭발 이펙트 / 사운드 추가 가능 |
| 숙제 1: 자동문 | 오버랩 범위 감지 → Set Relative Rotation 이용해 자동 열림 |
| 숙제 2: 충돌 넉백 오브젝트 | 움직이는 액터 이동 + OnHit → 캐릭터 Launch Character 발생 |
'내일배움캠프 Unreal_7기 > 사전캠프' 카테고리의 다른 글
| 사전캠프 TIL - 14일차 (0) | 2025.11.20 |
|---|---|
| 사전캠프 TIL - 13일차 (0) | 2025.11.19 |
| 사전캠프 TIL - 11일차 (0) | 2025.11.17 |
| 사전캠프 TIL - 10일차 (0) | 2025.11.14 |
| 사전캠프 TIL - 9일차 (0) | 2025.11.13 |

