초보 코린이의 성장 일지

UE4 Collision (Override), Trigger 본문

언리얼

UE4 Collision (Override), Trigger

코오린이 2023. 3. 14. 15:55

계속 이벤트에 대해 연습을 해볼 것이다.

기본적인 생성 틀은 거의 동일하다.

CPlayer.h
CPlayer.cpp
CPlayer.cpp

1. BlueprintCallable는 블루프린트 내에서 접근이 가능한 함수로 만들어진다.

2. 캐릭터 Mesh 색변경을 위해 작성.

3. 먼저 부모 BeginPlay를 호출하게되면, 블루프린트 BeginPlay를 콜하고, 블루프린트에는 없는 내용이기 때문에, 세팅 값이 안들어간다. 그래서 세팅후에 부모 Begin을 호출해야 색이 변경됨을 알 수 있다.

 

AC07_Override.h
AC07_Override.h
AC07_Override.h
AC07_Override.cpp
AC07_Override.cpp

1. 플레이어 Mesh에 색을 변경하기 위해 재정의하여 색을 입혀준다.

BP_CPlayer 이벤트그래프

1. 블루프린트 클래스로 생성해준다.

2. BP_CPlayer로 가서 검은색으로 설정해준다. 

3. 들어가면 검은색으로 변하고, 나오면 다시 하얀색으로 변하게된다.

4. 우리는 빨간색, 하얀색을 콜했지만 검은색, 하얀색이 나온다. 그 이유는 재정의를 하지 않았기 때문에 빨간색은 제 역할을 하지 못한다. 하얀색이 나오는 이유는 C에서 재정의를 했기 때문.

5. BlueprintImplementableEvent가 붙으면, 필요하면 BP에서 재정의 하라는 뜻이다. 보통 ImplementableEvent면 C++에서 native가 붙은 1:1 대응되는 함수가 있다.

C07_Override 이벤트그래프

1. 여기서 이렇게 재정의를 해주면, 들어갈때 빨간색으로 바뀌게된다.

2. 똑같이 나올때도 재정의하면 하얀색이 아닌 바뀐색으로 변경된다.

 


이제 다른 이벤트 처리를 해 볼 것이다.

1. 맵을 더 넓혀서 보이는 바와 같이 세팅을해준다. 왼쪽에 상자박스들은 안에 폭발시키는 이벤트를 발생시켜 적절한 힘을 받아 질량에 비례하여 어떤건 짧게, 어떤건 멀리 나가도록 기능을 만들어 볼 것이다.

 

1. 알맞은 기능을 위해 2개를 생성해준다.

C01_Trigger.h
C01_Trigger.cpp

1. SphereTrace 이벤트 발동을 위해 세팅

C01_SphereTrace.h
C01_SphereTrace.h
C01_SphereTrace.cpp
C01_SphereTrace.cpp

1 Eunm을 사용하여 콜리전 충돌 객체에 관한 부분에 배열로 접근.

2. 폭발을 위해 세팅을 해줘 값에 따라 반경을 나타내줌.

1. 이제 기반 블루프린트 생성 2개다 해준다.

 

1. Trigger에 Overlap가 되는 순간 SphereTrace가 폭발하는걸 볼 수 있다.

 

1. 이번에는 기둥끼리 Trace를 쏴서 이어줄 객체를 하나 생성해 보겠다.

C02_Cylinder.h
C02_Cylinder.cpp
C02_LineTrace.h
C02_LineTrace.cpp
C02_LineTrace.cpp

1. 원기둥 형태에 객체를 생성

2. 그 사이를 이어줄 Line를 만들어준다.

1. 블루프린트 클래스로 생성해준다.

1. 두 기둥 사이에 파란색 Line가 생성된다.

 

https://www.youtube.com/watch?v=DYiiWk51LC8 

 

'언리얼' 카테고리의 다른 글

UE4 TPS Weapon  (0) 2023.03.16
UE4 MultiTrace, TPS 세팅  (0) 2023.03.15
UE4 Collision (Trigger, MultiTrigger)  (2) 2023.03.13
UE4 C++ ComponentOverlap, Hit, Trigger, Light  (0) 2023.03.10
UE4 C++ Animation, Overlap  (0) 2023.03.08
Comments