언리얼 엔진에선 블루프린트 (Blueprint) 라는 기능이 존재하는데 블루프린트는 언리얼 엔진에서 제공하는 비주얼 스크립팅 시스템으로, 프로그래밍 언어를 사용하지 않고도 게임 로직과 기능을 설계하고 구현할 수 있게 해주는 도구이다.
기본 프로젝트를 생성한 후 폴더에 블루프린트 클래스를 만들어 여러 기능을 만들 수 있다.
폴더 빈 공간을 우클릭하면 위와 같이 블루프린트 클래스를 생성할 수 있다.
블루 프린트를 클릭스 위와 같은 특성들을 지닌 부모클래스를 생성할 수 있다. 여기서 플레이어(캐릭터)를 생성하기 위해 캐릭터 블루프린트 클래스를 생성하고 더블클릭하면 아래와 같은 화면을 볼 수 있다.
오른쪽 컴포넌트에 여러 컴포넌트가 있는데 캐릭터의 특성이 담긴 컴포넌트들이라고 보면 된다.
아직 아무런 형체도 없지만 컴포넌트 추가 버튼을 눌러 여러 도형이나 다른 메시를 불러와 형체를 만들 수 있다.
추가 버튼을 이용해 큐브를 추가하면 Character 부모클래스를 상속받는 큐브 클래스가 생성된다. 뷰포트를 통해 볼 수 있듯이 이 큐브는 내가 생성한 캐릭터를 상속받으므로 캐릭터가 움직이면 자동으로 같이 움직인다.
이벤트그래프 부분을 살펴보면
세 개의 노드가 기본생성 되어있는데
Event BeginPlay : 게임 시작시 실행되는 것들
Event ActorBeginOverlap : 물체가 다른 곳에 겹쳐지거나 닿으면 실행되는 것들
Event Tick : 업데이트
위 노드들을 이용해 캐릭터에게 여러 기능을 만들 수 있다.
다음으로 캐릭터의 이동키를 만들어야 하는데 폴더 빈 공간에 우클릭시 아래 고급 에셋 중 "입력"부분을 살펴보면
이렇게 입력에 대한 기능들이 있다.
입력 매핑 컨텍스트를 눌러 모든 입력키를 저장하는 공간을 만들고, 입력 액션을 눌러점프와 이동 입력키를 만들어준다.
생성된 InputMove를 더블클릭시 디테일 창이 표시되는데 여기서 값 타입을 Axis2D로 바꿔준다.(점프는 그대로 Digital)
그 다음 입력 매핑 컨텍스트(IMC)를 더블클릭하고 나서 매핑을 +해주면 아래와 같이 점프와 이동키가 뜬다.
매핑에 위 두개를 추가 후
키보드처럼 생긴 키를 누른 다음 사용하고자하는 키보드 키를 누르면 저장된다.(점프는 스페이스, 이동은 WSAD)
그리고 각 이동키의 모디파이어부분을 위와 같이 추가해주면 된다.
그 다음 Character의 이벤트그래프로 들어가
위와 같이 플레이어에게 키 설정을 부여하면 이전에 생성한 이동과 점프를 부여할 수 있다.
이벤트그래프 빈공간에 우클릭 후 생성한 점프 입력시 InputJump를 검색하면 EnhancedInputAcion을 클릭하면 위와 같은 노드가 생성된다. 그리고 jump와 stop점프를 각각 started, completed에 연결하면 된다. jump, stop jumping 밑에 target이 self라고 되어있는데 self는 나 자신을 뜻하며, character의 이벤트그래프이므로 character 클래스를 뜻한다.
그 다음 위와 같이 WSAD이동 노드를 만들어 이동 키를 입력받게 만들 수 있다.
그 다음 블루프린트 클래스로 게임 모드 베이스(GMST)를 만든다. 이를 더블클릭한 뒤
디폴트 폰 클래스를 움직일 캐릭터 character로 지정한다.
마지막으로 언리얼 엔진 창 왼쪽 위 편집 -> 프로젝트 세팅 -> 맵 & 모드로 들어가
기본게임모드를 게임 모드 베이스 클래스 GMST로 지정해주면 캐릭터 클래스가 이동하는 것을 볼 수 있다.
'언리얼 엔진' 카테고리의 다른 글
UE5) 플레이어 점프 구현 (0) | 2025.03.06 |
---|---|
UE5) 플레이어 애니메이션 (0) | 2025.03.05 |
UE5) 총알 충돌 구현 (0) | 2025.02.21 |
UE5) 플레이어 물체 발사 (0) | 2025.02.20 |
UE5) 플레이어 방향 설정 (0) | 2025.02.19 |