UE4 레벨 블루프린트(+ 전등 키기)

Date:     Updated:

카테고리:

태그:

언리얼 엔진 공식 유튜브 강의를 듣고 정리한 필기입니다. 😀

🚖 블루프린트란?

비주얼 스크립팅 시스템

코딩하여 만든 결과물과 똑같이 만들어낼 수 잇다.

  • 블루프린트 종류
    • 레벨 블루프린트 👉 해당 레벨내에서만 기능.
    • 클래스 블루프린트 👉 특정 레벨에 한정되지 않는다.

C++로 클래스를 만든 후 블루프린트에 입력할 수 있다.


🚖 레벨 블루프린트

꺼져있는 전등 켜기

image

Point Light 액터를 추가했다.

image

Point Light 액터를 선택한 상태에서 디테일 패널의 Rendering 프로퍼티를 확인해보면 Visible 이 있다. 이를 체크 해제해주면 렌더링 되지 않아 전등이 꺼지는 효과를 나타낼수 있으며 체크 해주면 렌더링 되어 전등이 켜지는 효과를 나타낼 수 있다. 해당 레벨이 시작되면 꺼져있던 이 라이트 액터를 켜지게 할 것이기 때문에 디폴트로 체크 해제하여 라이트를 꺼주자.

image

위 같은 구현은 해당 레벨 안에서만 동작하게 할 것이기 떄문에 레벨 블루프린트를 연다. 이렇게 에디터에서 현재 선택되어 있는 액터가 무엇인지에 따라 해당 액터의 레퍼런스와 선택한 해당 액터에 추가할 수 있는 이벤트와 함수 목록을 우선적으로 볼 수 있다. 현재 에디터에서 라이트 액터를 선택해 놓은 상태이기 때문에 이렇게 블루프린트에서 라이트 액터에게 적용할 수 있는 이벤트와 함수 목록을 먼저 보여주는 것이다. 언리얼의 편의 기능이다.

image

  • Toggle은 On/Off 이렇게 2 가지 값만 가진 스위치를 뜻한다.
    • 따라서 토글은 상황이 오직 두가지 밖에 없기 때문에 토글을 실행만 해도 상태가 전환된다. Off 상태였다면 On 으로, On 상태였다면 Off 로.
      • Caps Lock 같은 것도 일종의 토글 스위치다. 체크 박스 같은 것도!

에디터에서 현재 선택되어 있는 라이트 액터의 레퍼런스를 가져오고 그의 Light 컴포넌트를 가져와서 이를 통해 Rendering 프로퍼티의 Visible 값을 전환시킨다.(Toggle Visibility 토글이므로 기존 값을 전환) 전등 렌더링은 Rendering 프로퍼티에 있었기 때문에 함수도 Rendering 에서 찾아보면 된다.

해당 레벨이 시작되면 디폴트로 렌더링 되지 않는 상태였던 라이트 액터가 렌더링된다.

image

직접 게임 플레이 말고 이렇게 시뮬레이트로 게임 실행 중엔 어떻게 보일지 테스트해 볼 수 있다.

image

게임 플레이하여 해당 레벨이 실행되면 이렇게 라이트가 켜지는 것을 확인할 수 있다!


플레이어가 방에 들어오면 전등 키고, 방에서 나가면 전등 끄기

image

  • Volume : 3차원 공간
    • 어떤 볼륨 안에 진입하거나 나가는 판정을 할 수 있는 레이어가 존재한다.
      • Box Collision ‘볼륨’에 진입하면 어떤 처리를 하는 등등
  • 방에 Box Collision 을 알맞은 크기로 넣어 방안에 들어가면, 즉 이 Box Collision 볼륨에 들어가면 라이트를 키는 처리를 해줄 것이다.

image

에디터에서 이 Box Collision 을 선택한 상태로 블루프린트에서 우클을 하면 역시 Box Collision 과 관련된 이벤트와 함수, 그리고 이 Box Collision 레퍼런스를 우선적으로 띄워준다.

image

  • On Actor Begin Overlap
    • 호출한 콜리전 컴포넌트에 다른 액터가 겹치기 시작하는 순간에 1 번 발동되는 이벤트이다.
  • On Actor Begin Overlap
    • 호출한 콜리전 컴포넌트에 다른 액터가 더 이상 겹치지 않고 빠져나가는 순간에 1 번 발동되는 이벤트이다.

플레이어가 방 안에 들어가면 0.5 초 후 라이트가 켜진다. 플레이어가 방에서 나가면 0.5 초 후 라이트가 꺼진다.

image

이렇게 On Actor Begin Overlap 만 사용한다면, 플레이어가 방안에 들어가면 라이트가 켜지고 방에서 나와도 여전히 라이트는 켜져있다. 그리고 방에 다시 들어가면 Toggle 이 발동하여 켜져있던 방이 꺼진다.



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

UE4Docs 카테고리 내 다른 글 보러가기

댓글 남기기