[unrealengine4]

2023-06-02 언리얼 (충돌, On Component Begin Overlap)

롤링페이퍼 2023. 6. 6. 19:53
무기를 무장 및 비무장 상태일 때 카메라 고정 옵션 바꿔주기

BP_Character의 장비 교체 이벤트 노드

비무장 상태일때 IsArmed에 들어오게 되면 Result가 False 상태로 되며 이동방향으로 회전이 되는 기능이 꺼지게 된다.

반대로 무장 상태이면 Result는 True로 바꿔지게 되면서 이동방향으로 회전되는 기능이 켜지게 된다.

 

그리고 실행전 둘 다 켜주도록 하자.


적 추가해보기

 

BP_Player의 자손 블루프린트 클래스 생성 후 이름 변경

Materials 폴더에 boy랑 ChestLogo 머터리얼을 인스턴스 생성후 인스턴스로 들어가 색을 변경

color를 첵크해야 변경이 활성화 된다.

BP_Enemy로 들어가 mesh 지정


충돌에 대한 기본 지식

충돌을 만들기 전 기본적으로 알아야 하는 것들이 있다.


충돌을 배우기 위해 일단 액터인 BP_Box를 추가한다

컴포넌트에 Box추가 후 Box를 root로 지정. 이후 위치 구분을 위해 TextRender추가

box의 크기는 x : 64 / y : 64 / z : 96으로 지정해 뒀고, text의 높이 위치는 z :120으로 지정해 줬다.

box
text

text의 위치는 중앙으로 지정하고 색도 변경.

이후 배치는 되었지만 실행시키기 전에 확인할 수 있도록 Construction Scrip에 text를 출력하는 노드를 추가한다.

Construction Scrip


충돌 처리 출력 구현

BP_Box의 자손을 추가해 BP_Overlap을 생성한다.

 

이벤트 그래프

ActorBeginOverlap : 충돌이 일어났을 때 알려주는 이벤트이다.

 

ActorBeginOverlap 이벤트에서 Get Display Name을 연결하거나 충돌시킬 것들은 콜리전에서 Generate Overlap Events가 활성화되어 있어야 한다.

이후 BP를 배치해 실행시켜 캐릭터와 충돌시켜보면 충돌되는 BP들이 출력되는 것을 확인할 수 있다.


On Component Begin Overlap

Box의 디테일에서 여러가지 오버라이드를 찾아볼수 있다.

- Overlapped Component 

  ㄴ 충돌이 시작된 컴포넌트를 나타낸다.

  ㄴ 컴포넌트가 다른 컴포넌트와 겹치는 순간 이벤트가 발생된다.

 

- Other Actor

  ㄴ 다른 액터와의 충돌을 발생한 액터를 나타낸다.

  ㄴ Overlapped Component와 충돌한 액터가 될 수 있다.

 

- Other Comp 

  ㄴ 다른 액터와의 충돌을 발생한 컴포넌트를 나타낸다.

  ㄴ Overlapped Component와 충돌한 컴포넌트가 될 수 있다.

 

- Other Body Index

  ㄴ 충돌한 다른 액터 또는 컴포넌트의 Body Index를 나타낸다.

  ㄴ Body Index는 충돌 판정을 세분화하기 위해 사용된다.

 

- From Sweep

  ㄴ 충돌 이벤트가 스위핑(영역 검사 일종)에 의해 발생했는지 여부를 나타낸다.

  ㄴ 스위핑은 이동 중인 오브젝트가 다른 오브젝트와의 충돌을 검출하기 위해 사용된다.

 

- Sweep Result 

  ㄴ 스위핑 충돌의 결과 정보를 나타낸다.

  ㄴ 스위핑 충돌에서 추가적인 정보를 확인하고 처리할 수 있다.

 

* Sweep(스위핑, 쓸다) : 이동과 이동사이에 모든 틱에서 이벤트가 발생하는 것