
언리얼은 그래픽 품질이 뛰어난 만큼 재질, 조명, 지형 같은 그래픽 기능도 함께 다룰 줄 알아야 합니다. 수업에서는 프로그래밍과 함께 머티리얼, 라이팅, 지형…
템플릿으로 시작하면 좋은 점과 주의할 점
빈 프로젝트에서 시작하면 캐릭터를 움직이게 만드는 데만 상당한 시간이 듭니다. 입력 설정, 카메라 붐, 애니메이션 연결까지 처음부터 해야 하기 때문입니다. 3인칭 템플릿은 이 부분이 완성된 상태라서, 곧바로 내가 만들고 싶은 기능에 집중할 수 있습니다.
주의할 점은 템플릿이 왜 그렇게 동작하는지 모른 채 기능만 덧붙이는 것입니다. 그러면 문제가 생겼을 때 원인을 찾지 못합니다. 그래서 이 연습은 반드시 구조를 읽는 단계부터 시작합니다. 또 엔진 버전에 따라 템플릿 구성과 입력 방식이 조금씩 다르므로, 참고 자료와 내 엔진 버전이 같은지 확인하는 것이 좋습니다.
1단계: 템플릿 캐릭터의 구조부터 읽기
프로젝트를 만들면 콘텐츠 폴더 안에 3인칭 캐릭터 블루프린트가 있습니다. 이 블루프린트를 열어 컴포넌트 목록과 이벤트 그래프를 차례로 살펴봅니다. 캡슐 충돌체, 캐릭터 메시, 카메라를 붙잡는 스프링 암, 카메라, 그리고 이동을 담당하는 캐릭터 무브먼트 컴포넌트가 보일 것입니다.
- 컴포넌트마다 클릭해 디테일 패널의 주요 값을 확인한다
- 이벤트 그래프에서 이동, 시점 회전, 점프 입력이 어디로 연결되는지 따라간다
- 캐릭터 무브먼트의 최대 걷기 속도와 점프 높이 값을 바꿔 차이를 본다
- 스프링 암 길이를 바꿔 카메라 거리를 조정해 본다
- 애니메이션 블루프린트를 열어 속도 값에 따라 동작이 바뀌는 구조를 본다
값을 바꿀 때마다 플레이해서 무엇이 달라졌는지 짧게 메모하세요. 이 메모가 쌓이면 나중에 원하는 조작감을 만들 때 어느 값을 건드려야 하는지 바로 떠올릴 수 있습니다.
2단계: 달리기와 앉기로 입력과 상태 다뤄 보기
첫 기능 추가 과제는 달리기입니다. 특정 키를 누르고 있는 동안 최대 걷기 속도를 높이고, 떼면 원래대로 돌리면 됩니다. 이를 위해 새 입력 동작을 만들고 입력 매핑에 키를 연결한 뒤, 캐릭터 블루프린트에서 눌렀을 때와 뗐을 때 이벤트를 각각 처리합니다.
달리기가 되면 스태미나를 붙여 봅니다. 달리는 동안 값이 줄고, 바닥나면 강제로 걷기로 돌아가며, 쉬면 다시 차오르게 합니다. 변수, 조건 분기, 시간에 따른 값 변화를 한 번에 연습할 수 있는 좋은 과제입니다. 앉기 기능도 비슷한 방식으로 추가할 수 있는데, 캡슐 높이가 바뀌는 처리가 들어가 캐릭터 무브먼트 설정을 더 깊이 들여다보게 됩니다.
3단계: 문 열기와 아이템 줍기, 상호작용 만들기
다음은 월드에 있는 물체와 상호작용하는 과제입니다. 캐릭터가 문 앞에 가서 키를 누르면 문이 열리고, 바닥의 아이템에 다가가면 주워지는 기능입니다. 이 과정에서 다른 블루프린트끼리 서로 정보를 주고받는 방법을 익히게 됩니다.
- 문 블루프린트에 충돌 박스를 두고 캐릭터가 들어오면 안내 문구를 띄운다
- 상호작용 키를 누르면 타임라인으로 문을 부드럽게 회전시킨다
- 아이템 블루프린트는 겹침 이벤트에서 자신을 없애고 캐릭터의 개수 변수를 올린다
- 여러 물체에 같은 상호작용을 적용하고 싶다면 블루프린트 인터페이스를 써 본다
블루프린트 인터페이스는 처음에 낯설지만, 문, 상자, 레버처럼 종류가 다른 물체에 같은 상호작용 명령을 보낼 때 아주 유용합니다. 캐릭터는 상대가 무엇인지 몰라도 상호작용하라는 신호만 보내면 되기 때문에 구조가 깔끔해집니다.
4단계: 간단한 전투와 체력 시스템
상호작용이 익숙해지면 전투 기초를 만듭니다. 공격 키를 누르면 공격 애니메이션 몽타주를 재생하고, 일정 범위 안의 적에게 피해를 주는 구조입니다. 적은 템플릿 캐릭터를 복제해 만들고, 체력 변수를 두어 피해를 받으면 줄어들다가 0이 되면 쓰러지게 합니다. 엔진에 기본으로 있는 피해 전달 기능을 쓰면 공격자와 피격자를 깔끔하게 분리할 수 있습니다.
체력 표시는 위젯 블루프린트로 만듭니다. 화면 한쪽에 플레이어 체력 바를 띄우고, 값이 바뀔 때마다 갱신합니다. 적 머리 위에 작은 체력 바를 띄우는 것까지 해 보면 UI와 월드 오브젝트를 연결하는 방법도 익힐 수 있습니다.
이 단계에서 많이 막히는 부분은 공격 판정 타이밍입니다. 버튼을 누르자마자 피해가 들어가면 칼이 닿기도 전에 적이 맞은 것처럼 보입니다. 애니메이션 몽타주에 노티파이를 넣어 칼이 휘둘러지는 순간에 판정을 실행하면 훨씬 자연스러워집니다. 공격 중에 다시 공격 키를 눌러도 동작이 끊기지 않도록, 공격 중인지 확인하는 변수 하나를 두는 것도 잊지 마세요. 이런 세부 처리가 쌓여야 전투의 손맛이 생깁니다.
연습 결과를 정리하고 다음 단계로 넘어가기
네 단계를 마치면 걷고 달리고, 문을 열고, 아이템을 줍고, 적과 싸우는 작은 3인칭 데모가 완성됩니다. 이 데모를 짧은 영상으로 기록하고, 블루프린트에서 어떤 구조로 만들었는지 캡처 몇 장과 함께 정리해 두세요. 연습이라도 문제를 해결한 과정이 담기면 포트폴리오의 재료가 됩니다.
다음 단계로는 같은 기능을 C++로 다시 만들어 보거나, 적에게 간단한 인공지능을 붙여 플레이어를 쫓아오게 하는 과제를 추천합니다. 블루프린트와 C++를 어떤 비율로 공부할지, 어떤 기능부터 넓힐지 고민된다면 SBS아카데미게임학원 언리얼엔진 과정 상담에서 만든 데모를 보며 방향을 정리해 보세요.
자주 묻는 질문
템플릿 캐릭터 대신 내 캐릭터 모델로 바꿀 수 있나요?
가능합니다. 다만 골격 구조가 다르면 애니메이션을 다시 연결해야 하므로, 처음에는 템플릿 캐릭터로 기능을 완성한 뒤 교체하는 순서를 권합니다.
블루프린트만 할 줄 알아도 언리얼 개발자로 취업할 수 있나요?
직무에 따라 다릅니다. 프로그래머 직무는 대개 C++ 역량을 함께 보므로, 블루프린트로 구조를 익힌 뒤 C++로 넘어가는 계획을 세우는 것이 좋습니다.
가까운 캠퍼스에서 언리얼 알아보기
사는 곳과 가까운 캠퍼스를 고르면 수업 내용, 오시는 길, 상담 신청을 한 번에 볼 수 있습니다.