초보 코린이의 성장 일지

UE4 Collision (Trigger, MultiTrigger) 본문

언리얼

UE4 Collision (Trigger, MultiTrigger)

코오린이 2023. 3. 13. 15:51

C04_Trigger.h

1. Return Value를 체크하면, Return이 가능한 이벤트만 살아남게 된다.

2. Value Type와 입력을 하나 받아서 생성해준다.

C04_Trigger.h
C04_Trigger.cpp

1. FBoxLightColorOverlap 선언해준다.

2. Return 시켜줄 String 받아준다.

C04_Trigger.cpp

1. BeginPlay에 추가해준다.

 

 

C04_Light.h
C04_Light.cpp

1. OnRandomColor 선언

2. 설정 후 Return.

 

1. 실행 해보면 들어갈때마다 이벤트를 호출해 색이 변하면서, 화면상에 Log가 출력된다.

 

1. MultiTrigger를 생성해준다.

 

1. RetVal은 MULTICAST와 사용할 수 없다 

2. EVENT는 MULTICAST와 비슷하기 때문에 동시에 사용이 불가능하다.

3. 입력은 2개를 받아준다.

4. 2개 이벤트 함수를 다룰 수 있는 기능을 한다.

 

Global.h

1. 6번째 줄을 추가해준다. 많이 사용하게 된다.

C05_MultiTrigger.h
C05_MultiTrigger.cpp

1. 만드는 틀은 기존과 동일하다. 마지막 public에 위에서 만들어준 델리게이션을 받아준다.

2. OnComponentBeginOverlap 내용을 알고 넘어가면 된다.

1. 떨어지는 박스를 이벤트로 만들어서 기능에 대해 살펴보겠다.

1. 상자를 색과 해당 레퍼런스를 넣어주고, Root에 붙여준다.

2. 3개 Box 생성을 위해 for문으로 생성 

3. 위치 기록 후 돌려주면서 껏다 켰다 상태 확인을 할 수 있게 만들어준다.

1. 생성해준다.

 

C05_SpotLight.h
C05_SpotLight.cpp

 

C05_SpotLight.cpp

1. 동일하게 3개를 생성하여, 연결 부분을 찾아주고, 색을 정해 구별하여 세팅.

1. 블루프린트 클래스 생성으로 다 만들어준다.

2. 그리고 맵에 알맞은 이벤트를 위해 올려준다.

1. 실행해보면 3개의 상자 중 하나가 아래로 떨어지면서 색이 변화한다.

2. 떨어지는 상자와 색은 랜덤으로 계속 바뀐다.

C05_MultiTrigger.cpp

1. 다른 이벤트 발생을 보기위해 Broadcast로 추가해줬다.

1. 실행해보면 Collision이 이뤄지지 않아도 설정한 0번 상자가 바로 떨어지게 된다.

1. 이벤트를 더 욱 다양하게 다뤄보기 위해 생성해준다.

 

1. 블프에서 공개안된다.

2. Owning Type 소유하고있는 클래스 이름 들어가야한다.

C06_EventTrigger.h
C06_EventTrigger.cpp

1. Event 사용해 볼 것이다.

 

Global.h

1. 글로벌로가서 헤더를 추가해준다.

 

1. 터지는 이벤트를 위해 하나 생성해준다.

 

C06_Explosion.h
C06_Explosion.cpp

1. 파티클을 생성해준다.

 

1. 블루프린트 클래스로 생성해주고, 맵에 올려놓는다.

1. 밑줄친 부분을 추가해주면, 시작하자마자 파티클이 터진다. 이건 4.25, 4.26에 있는 버그 현상이다. 원래는 되면 안된다.

 

 

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

 

Comments