개요
유니티에서 사용했던 OnTriggerEnter 기능을 언리얼에서는 오버랩이라고 부르는 것 같다.
특정 구역에 플레이어가 진입을 하면 문이 열리는 기능을 구현하고자 오버랩 기능을 활용하려고 한다. 한 번 블루프린트로 오버랩 기능을 구현해보자 !
1. Box Collision
![]() |
문으로 사용할 블루프린트를 생성하면 위의 사진과 같은 모습일텐데, 추가 버튼을 통해 "Box Collision"을 검색해서 추가해준다.
![]() |
이렇게 추가가 되었다면 1단계 성공이다.
유니티와 비교해보면 Box Collider를 컴포넌트로 추가해주는 느낌인 것 같다.
![]() |
Box Collision의 크기를 따로 설정해주지 않으면 Overlap 이벤트를 인식하는 영역이 Default 값으로 설정되기때문에 반드시 조정해주어야 한다.
나는 문 앞에 캐릭터가 서있을 때 문이 사라지는 것이 목표이므로, 문 앞 영역에 맞게 설정해주었다.
유니티에서도 OnTriggerEnter 함수를 작성하지 않으면 트리거가 발동하지 않듯이 언리얼에서도 이와 비슷한 BeginOverlap 이라는 함수를 작성해주어야 한다.
![]() |
Box Collision을 선택한 상태에서 이벤트그래프의 빈 곳에 마우스를 가져다 댄 후, 우클릭을 하면 Box에 대한 이벤트 추가가 보일텐데 콜리전 → Add On Component Begin Overlap을 클릭하면 된다.
방금 언급했던 것처럼 컴포넌트를 클릭한 상태에서 노드를 생성하게 되면 선택한 컴포넌트와 관련된 노드가 우선으로 보이게 된다. 꿀팁이니 알아둘 것 !
On Component Begin Overlap 노드는 유니티의 OnTriggerEnter와 유사한 기능을 수행하는 노드이다. 해당 액터를 제외한 다른 액터가 Box Collision 영역에 진입하는 경우 발생하는 함수라고 생각하면 된다.
2. Overlap 이벤트 설정
![]() |
사진처럼 Overlap 이벤트가 발생하면 자기자신을 파괴하도록 연결해주었다.
![]() |
문과 닿으면 문이 사라지는 모습을 볼 수 있다 !
근데 여기서 문제점이 하나 발생하는데 On Component Begin Overlap 노드를 보면 Other Actor 속성이 있는 것을 알 수 있다. Other Actor는 Overlap 이벤트가 발생한 객체를 반환해주는데, 따로 Other Actor에 대한 조건을 처리해주지 않으면 플레이어뿐만 아니라 적, 공, 자동차와 같은 물체가 닿아도 문이 사라질 것이다. 따라서, Other Actor에 대해 조건을 걸어주어야 한다.
3. Other Actor 조건 설정
![]() |
문이 플레이어와 닿았을 경우에만 Overlap 이벤트를 처리해주어야 하기때문에 다음과 같은 조건을 걸어주어야 한다. 이제 Other Actor가 플레이어와 같은지를 판단하기위해 플레이어를 변수로 가져와야 한다.
![]() |
폰 클래스를 가져와서 내가 만든 블루프린트 캐릭터로 캐스트를 해준다. 캐스트를 하지 않을 경우 폰 클래스에 해당하는 다른 액터들 또한 Overlap 이벤트로 인식하기때문에 자신이 만든 블루프린트로 캐스트를 해주길 바란다.
이후 변수로 승격 속성을 선택하면 좌측 하단 변수란에 블루프린트가 새로운 변수로 추가된 것을 볼 수 있다.
![]() 추가된 변수를 equal 연산자와 연결해주면 끝 ! |
느낀 점
유니티의 기능과 비교하면서 공부하니 훨씬 이해가 잘 되는 것 같다.
언리얼 블루프린트의 노드 종류가 매우 많아서 부담스럽지만, 자주 사용하는 노드들이 있다는 걸 발견했다. 우선 자주 쓰이는 노드들을 능숙하게 다룰 수 있을 정도로 공부해보자!
유니티를 처음 공부할 때보다 지금은 개발 지식이 더 많이 쌓였지만, 그래도 언리얼을 배우면 배울수록 만만치 않다고 느낀다.
하지만 꾸준히 언리얼을 공부하다 보면 언젠가는 다른 사람을 가르칠 만큼의 실력을 갖출 수 있을 거라 믿는다.
'언리얼 엔진 > 블루프린트' 카테고리의 다른 글
[Blueprint] 블렌드 스페이스로 캐릭터 애니메이션 구현 (0) | 2024.12.20 |
---|---|
[Blueprint] Blueprint 각종 팁 (0) | 2024.12.19 |
[Blueprint] 캐릭터 구현 (0) | 2024.12.03 |
[Blueprint] 가위바위보 게임 구현 (0) | 2024.12.02 |