언리얼엔진4 튜토리얼 5

이번 포스팅에서는 키로 문을 열고 스테이지가 끝나는 지점까지 가보겠습니다.

 

시작은 튜토리얼4와 같습니다.

 

왼쪽으로 가면 문이 있습니다.

 

새로운 블루프린트를 하나 만듭니다.

 

 

 

액터를 만들고 그 위에 Static Mesh 를 씌웁니다. 액터 자체는 플레이시 보이지 않습니다. Mesh 를 씌워야 보이죠. 꽃으로 선택해보겠습니다. 어떤 Mesh 를 사용해도 상관없습니다. 적당한 크기의 매쉬를 사용하는게 게임 진행상 좋습니다.

 

 

컴포넌트는 SphereCol 이 있어야 하죠. 구면체의 충돌감지(콜리전) 컴포넌트입니다. 이 안에 Static Mesh 를 넣었습니다. 충돌구면체를 따라다니니까 적당합니다.

 

 

컴포넌트 비긴 오버랩 이벤트입니다. Sphere Col (구면체 충돌감지) 에 구현합니다.

 

여기서 문을 여는 동작은 Have Key 의 불린값에 달려있는데 키와 오버랩되면 True  로 바뀝니다.

 

핵심은 Have Key 를 True 로 변경하고 Destroy Actor 하는 것입니다.

 

쉽게말하면 플레이어가 키를 먹으면 키는 사라지고 플레이어는 키를 보유하게 됩니다.

 

중간에 HUD의 Opacity 나 Play Sound 는 부가적인 장치임을 알겠죠? 그러니까 액터가 사라지기 전에 들어가는 것 입니다.

 

프로그래밍을 하던 사람이 블루프린트를 보면 약간 혼동스러운 부분이 있습니다. 그런경우 너무 디테일하게 파고들기 전에 전체 흐름을 읽어보도록 합니다.

 

결국 이 액터의 블루프린트 내용은 키를 먹는다. 키가 생긴다. 키는 맵에서 사라진다. 의 의미를 담고 있습니다.

 

 

 

키를 먹으면 허드가 활성화됩니다.

 

 

이 상태에서 문앞에서 E키를 누르면 문이 열립니다.

 

 

블루프린트로 가봅니다. Door Locked 는 잠긴 문을 말합니다. 앞에 사각형이 Col 컴포넌트입니다.

 

이 사각형과 겹쳐서 E키를 누르면 됩니다.

 

 

이 블루프린트는 기본이 짜여져 있습니다. 두개의 큰 흐름을 보면 

 

1. 문이 열려있나? -> 안열려있으면 -> 플레이어는 키를 가지고 있나? -> 플레이어 인풋 허용

 

2. 플레이어 인터렉트 E키 -> 플레이어는 키를 가지고 있나? -> 문을 연다. (도어 애니메이션, 사운드)

 

하나씩 구현할려면 복잡한데 일단 기본 와꾸를 잘 살펴보면서 수정하며 쓰다가 기능도 추가해보면 익숙해질 것입니다.

 

 

 

다음은 블루프린트 BP endGoal 입니다. 

 

 

도착하면 게임 레벨이 종료합니다.

 

 

뷰포트에서 보면 이렇게 생겼습니다. 저런 모양은 Capsule Coll 이라고 합니다. 캡슐모양의 콜리전이라는 뜻

 

 

컴포넌트 비긴 오버랩스는 캡슐콜리전을 말하죠. End Goal 을 먹으면 게임을 포즈하고 허드(위젯)를 표시해서 스코어 등 스테이지 정보를 표시합니다.

 

여기까지가 1스테이지의 끝이 되겠네요.

튜토리얼 1의 시작지점에서 부터 시작하면 빠르면 약 2분정도 플레이타임이 나옵니다.

 

 

 

 

여기까지 튜토리얼 1~5가 한시간 정도 분량의 튜토리얼이 됩니다.

 

아래 유튜브와 언리얼 공식페이지의 튜토리얼도 같은 내용이니 참고하시면 좋습니다. (영문입니다)

 

 

Unreal Engine 4.26 Beginner's Tutorial: Make a Platformer Game - YouTube

The Key to Unlocking the Final Area: Working with Conditional Statements in Unreal Engine - Unreal Engine

 

The Key to Unlocking the Final Area: Working with Conditional Statements in Unreal Engine - Unreal Engine

Download this free interactive 3D lesson plan to incorporate Unreal Engine into your classroom today.

www.unrealengine.com

 

공유하기

facebook twitter kakaoTalk kakaostory naver band