
테크니컬 아티스트나 메타버스·XR 콘텐츠 제작을 목표로 하는 분도 언리얼을 많이 배웁니다. 수업은 공통 기초를 익힌 뒤 게임 개발, 시네마틱, 인터랙티브 콘텐…
시작 전 준비: 템플릿 하나와 과제용 폴더
과제를 위해 프로젝트를 매번 새로 만들 필요는 없습니다. 3인칭이나 1인칭 템플릿으로 프로젝트 하나를 만들고, 과제마다 레벨과 폴더를 따로 두는 편이 관리하기 쉽습니다. 템플릿에는 이동과 카메라가 이미 들어 있어서, 블루프린트 과제의 핵심에만 집중할 수 있습니다. 과제 폴더 이름에 번호를 붙여 두면 나중에 진행 순서대로 다시 보기도 편합니다.
템플릿에 들어 있는 캐릭터 블루프린트를 한 번 열어 보는 것도 좋은 준비입니다. 입력이 어떻게 이동으로 이어지는지 노드를 따라가 보면, 이후 과제에서 플레이어 쪽에 기능을 더할 때 어디에 노드를 이어야 할지 감이 잡힙니다. 처음에는 모든 노드를 이해하지 못해도 괜찮고, 흐름의 시작과 끝만 찾으면 됩니다.
과제 1~2: 레벨 장치로 이벤트와 변수 익히기
첫 과제는 플레이어가 다가가면 열리는 문입니다. 트리거 박스에 들어가는 순간을 감지하는 오버랩 이벤트를 쓰고, 문이 부드럽게 열리도록 타임라인 노드로 회전 값을 바꿉니다. 나갈 때 다시 닫히게 만들고, 열리는 도중에 나가면 어떻게 되는지도 확인해 보세요. 타임라인을 정방향과 역방향으로 재생하는 방법을 익히는 것이 이 과제의 목표입니다.
두 번째 과제는 밟으면 피해를 주는 함정과 체력 시스템입니다. 플레이어 캐릭터에 체력 변수를 만들고, 함정에 닿으면 일정량이 줄어들며, 0이 되면 시작 위치로 돌아가게 합니다. 이 과정에서 함정이 플레이어를 어떻게 알아보는지 고민하게 되는데, 처음에는 캐스트 노드로 대상이 플레이어인지 확인하는 방법을 써 봅니다. 체력이 연속으로 깎이지 않도록 잠깐 무적 시간을 두는 처리도 함께 넣어 보세요.
과제 3~4: 아이템과 위젯으로 화면에 보여 주기
세 번째 과제는 아이템 줍기입니다. 레벨에 코인이나 열쇠를 여러 개 배치하고, 주우면 사라지면서 개수가 올라가게 합니다. 아이템 블루프린트 하나를 만들어 여러 개 배치하는 구조를 써야 나중에 아이템 종류를 늘리기 쉽습니다. 열쇠를 모두 모았을 때만 1번 과제의 문이 열리도록 연결하면, 블루프린트 사이의 조건을 다루는 연습이 됩니다.
네 번째 과제는 위젯 블루프린트로 화면 UI를 만드는 것입니다. 체력 바와 열쇠 개수를 화면에 띄우고, 값이 바뀔 때만 UI가 갱신되도록 만들어 보세요. 바인딩으로 매 프레임 값을 읽어 오는 방법은 간단하지만, 값이 바뀔 때 알려 주는 방식과 비교해 보면 구조의 차이를 이해할 수 있습니다. 일시 정지 메뉴를 만들어 마우스 커서와 입력 모드를 전환하는 것도 이 과제에 넣으면 좋습니다.
과제 5: 캐스트 대신 인터페이스와 이벤트 디스패처
과제가 늘어날수록 캐스트 노드가 여기저기 생기고, 블루프린트끼리 서로를 너무 많이 알게 됩니다. 다섯 번째 과제는 이것을 정리하는 연습입니다. 상호작용 키를 누르면 앞에 있는 물체가 반응하는 기능을 만들되, 문, 상자, 레버가 각자 다르게 반응하도록 블루프린트 인터페이스를 씁니다. 플레이어는 상대가 무엇인지 몰라도 상호작용 신호만 보내면 됩니다.
이벤트 디스패처는 반대 방향의 연습입니다. 레버를 당기면 연결된 문 여러 개와 조명이 동시에 반응하게 만들어 보세요. 레버는 당겨졌다는 사실만 알리고, 듣고 있던 오브젝트들이 각자 반응합니다. 이 두 가지를 직접 써 보면 언제 캐스트를 쓰고, 언제 인터페이스나 디스패처를 쓰는지 기준이 생깁니다. 면접에서도 자주 묻는 내용이라 차이를 말로 설명할 수 있게 정리해 두세요.
과제 6~7: 적 AI와 저장 기능
여섯 번째 과제는 간단한 적 AI입니다. 처음에는 블루프린트만으로 플레이어가 일정 거리 안에 들어오면 쫓아오고, 멀어지면 제자리로 돌아가게 만듭니다. 레벨에 내비메시 범위를 깔아야 길 찾기가 동작한다는 점을 잊지 마세요. 이것이 익숙해지면 비헤이비어 트리와 블랙보드로 순찰, 추적, 공격 상태를 나눠 다시 만들어 봅니다. 같은 동작을 두 방식으로 만들어 보면 AI 전용 도구가 왜 필요한지 체감할 수 있습니다.
일곱 번째 과제는 세이브 게임 오브젝트로 진행 상황을 저장하는 것입니다. 모은 열쇠 수, 플레이어 위치, 열린 문 상태를 저장하고, 다시 시작했을 때 그대로 불러오게 합니다. 레벨에 배치된 아이템을 이미 주웠는지 기억하려면 아이템마다 구분할 수 있는 값이 필요하다는 것을 이 과제에서 알게 됩니다. 저장 파일이 없을 때 처음 상태로 시작하는 처리도 꼭 확인합니다.
과제마다 확인할 정리 습관
- 노드가 길게 엉키면 함수나 매크로로 묶었는가
- 변수와 함수 이름만 보고 역할을 알 수 있는가
- 주석 상자로 그래프의 구역을 나눠 설명했는가
- 매 프레임 실행되는 틱 이벤트에 꼭 필요한 것만 넣었는가
- 같은 기능을 복사해서 붙인 곳이 없는가
블루프린트는 결과가 나오기만 하면 그래프가 어떻게 생겼는지 신경 쓰지 않게 되기 쉽습니다. 하지만 포트폴리오를 볼 때 평가자는 그래프 캡처를 통해 구조를 이해하는 사람인지 확인합니다. 과제마다 정리된 그래프를 캡처해 두면 그대로 포트폴리오 자료가 됩니다.
일곱 과제를 하나의 짧은 레벨로 엮으면 작은 퍼즐 액션 게임이 됩니다. 블루프린트 과제를 이어 붙이는 과정에서 구조를 어떻게 잡아야 할지 고민된다면, SBS아카데미게임학원 언리얼엔진 과정 상담에서 지금까지 만든 그래프를 보여 주고 다음 과제와 포트폴리오 방향을 함께 정리해 드립니다.
자주 묻는 질문
블루프린트만으로 취업할 수 있나요?
기획이나 레벨 디자인 직군에서는 블루프린트 활용 능력이 큰 강점이 됩니다. 클라이언트 프로그래머를 목표로 한다면 C++도 함께 준비하는 것이 일반적입니다.
언리얼 버전마다 블루프린트가 많이 다른가요?
기본 개념과 대부분의 노드는 같습니다. 입력 처리처럼 버전에 따라 권장 방식이 바뀐 부분이 있으니, 쓰는 버전의 공식 문서를 함께 확인하세요.
가까운 캠퍼스에서 언리얼 알아보기
사는 곳과 가까운 캠퍼스를 고르면 수업 내용, 오시는 길, 상담 신청을 한 번에 볼 수 있습니다.