010-2135-9730무료 상담
연습 루틴

유니티 2D 플랫포머 단계별 실습

유니티로 2D 플랫포머를 만들 때는 캐릭터가 달리고 점프하는 손맛을 먼저 완성한 뒤, 레벨과 적, 아이템, UI를 차례로 붙이는 순서가 가장 덜 막힙니다. 처음부터 그림과 기능을 한꺼번에 욕심내면 어디서 문제가 생겼는지 찾기 어렵습니다. 네모 상자 캐릭터로 조작감을 맞추고, 단계마다 플레이 가능한 상태를 유지하며 하나씩 더하는 것이 이 실습의 원칙입니다.

읽는 시간 약 7분게임프로그래밍
유니티 과정
이 글과 연결된 과정유니티 과정 알아보기

유튜브 강의를 따라 하면 화면 속 결과는 똑같이 나오지만, 내 아이디어를 넣으려는 순간 막히는 경우가 많습니다. 코드가 왜 그렇게 짜였는지 모르기 때문입니다.…

실습 전에 정해 둘 것: 범위는 작게, 한 판짜리로

첫 플랫포머의 목표는 시작 지점에서 출발해 장애물을 넘고 도착 지점에 닿으면 끝나는 한 판짜리 게임입니다. 스테이지 여러 개, 보스전, 저장 기능 같은 것은 이 실습을 마친 뒤에 추가합니다. 범위를 작게 잡아야 끝까지 완성하는 경험을 할 수 있고, 완성해 본 경험이 다음 프로젝트의 속도를 크게 올려 줍니다.

필요한 기초는 C# 변수와 조건문, 함수 정도입니다. 유니티 에디터에서 오브젝트를 만들고 컴포넌트를 붙이는 방법을 한 번 따라 해 봤다면 시작할 수 있습니다. 그림은 직접 그리지 않아도 됩니다. 처음에는 색깔 있는 사각형으로 충분하고, 마지막 단계에서 무료 에셋이나 직접 그린 그림으로 바꿉니다.

1단계: 이동과 점프, 조작감부터 맞추기

  1. 2D 프로젝트를 만들고 바닥과 플레이어용 사각형 오브젝트를 배치한다
  2. 플레이어에 Rigidbody 2D와 Box Collider 2D를, 바닥에 Box Collider 2D를 붙인다
  3. 좌우 입력에 따라 속도를 바꾸는 스크립트를 작성한다
  4. 땅에 닿아 있을 때만 점프하도록 바닥 판정을 만든다
  5. 점프 높이, 이동 속도, 중력 값을 바꿔 가며 손맛을 조정한다

가장 흔한 문제는 공중에서 계속 점프가 되는 것입니다. 발밑에 짧은 선을 쏘거나 작은 감지 영역을 두어 바닥에 닿았는지 확인하는 방식으로 해결합니다. 또 하나는 벽에 붙어 미끄러지지 않고 걸리는 현상인데, 마찰이 없는 물리 재질을 플레이어에 적용하면 대부분 사라집니다.

조작감은 숫자 몇 개로 크게 달라집니다. 떨어질 때 중력을 조금 더 세게 주면 점프가 둔하지 않고 경쾌해집니다. 점프 버튼을 짧게 누르면 낮게, 길게 누르면 높게 뛰도록 만드는 것도 이 단계에서 해 볼 만한 과제입니다.

2단계: 타일맵으로 레벨 만들고 카메라 따라가게 하기

조작이 만족스러우면 바닥 사각형을 지우고 타일맵으로 레벨을 그립니다. 타일맵은 격자 위에 타일을 찍어 지형을 만드는 기능으로, 레벨을 빠르게 고치고 늘릴 수 있습니다. 타일맵에도 충돌체를 붙여야 캐릭터가 지형 위에 설 수 있습니다.

레벨은 짧은 구간 세 개로 나눠 설계해 보세요. 첫 구간은 점프만 배우는 평평한 길, 둘째 구간은 높이가 다른 발판, 셋째 구간은 구멍과 움직이는 발판을 섞은 구간입니다. 이렇게 나누면 플레이어가 새 기술을 하나씩 배우는 흐름이 생깁니다. 카메라는 플레이어를 부드럽게 따라가도록 스크립트를 쓰거나, 유니티의 카메라 패키지를 활용합니다. 카메라가 너무 딱 붙어 따라가면 멀미가 나므로 약간 늦게 따라가게 하는 것이 좋습니다.

3단계: 적, 함정, 아이템 붙이기

다음은 게임에 긴장과 보상을 넣는 단계입니다. 좌우로 왕복하는 적 하나, 닿으면 처음 위치로 돌아가는 가시 함정, 먹으면 점수가 오르는 코인을 만듭니다. 세 가지 모두 충돌 감지로 동작하므로, 트리거 충돌과 일반 충돌의 차이를 이 단계에서 익히게 됩니다.

  • 적: 일정 거리마다 방향을 바꾸고, 위에서 밟으면 사라지게 한다
  • 함정: 트리거 영역에 닿으면 체크포인트로 플레이어를 옮긴다
  • 코인: 닿으면 사라지고 점수 변수를 올린다
  • 도착 지점: 닿으면 클리어 상태로 바꾼다

적을 위에서 밟았는지 옆에서 부딪혔는지 구분하는 부분이 첫 번째 고비입니다. 충돌 순간 플레이어가 아래로 떨어지는 중이었는지, 플레이어 위치가 적보다 위에 있는지를 함께 확인하면 대부분 해결됩니다. 밟은 뒤 플레이어를 살짝 튕겨 올려 주면 손맛이 좋아집니다.

4단계: UI와 게임 흐름, 재시작까지 완성하기

점수와 남은 목숨을 화면에 표시하고, 목숨이 다 떨어지면 게임 오버 화면, 도착하면 클리어 화면이 나오게 합니다. 두 화면 모두 다시 하기 버튼으로 씬을 처음부터 불러오게 만들면 한 판이 완결됩니다. 이 과정에서 게임의 상태를 관리하는 매니저 스크립트를 하나 두면 점수, 목숨, 클리어 여부를 한곳에서 다룰 수 있습니다.

마지막으로 사각형을 캐릭터 그림으로 바꾸고, 걷기와 점프 애니메이션을 연결합니다. 애니메이터에서 속도와 바닥 판정 값을 조건으로 상태를 바꾸면 됩니다. 효과음 몇 개만 넣어도 게임의 인상이 크게 달라집니다. 캐릭터가 왼쪽을 볼 때 그림이 뒤집히도록 처리하는 것도 잊기 쉬운 부분입니다. 이동 방향에 따라 스프라이트를 좌우 반전하는 코드 한 줄만 넣으면 됩니다. 이 단계까지 오면 빌드를 해서 에디터 밖에서도 실행되는지 꼭 확인하세요. 해상도가 바뀌면 UI 위치가 틀어지는 경우가 있어 화면 비율별로 한 번씩 살펴보는 것이 좋습니다.

이름과 연락처만 남기면 담당 멘토가 연락드립니다상담 가능 시간 평일·주말 · 전화 010-2135-9730

완성 후 해 볼 것과 포트폴리오로 정리하는 법

한 판이 완성되면 다른 사람에게 플레이를 부탁하고, 어디서 죽는지, 어디서 망설이는지 지켜보세요. 만든 사람에게는 쉬운 구간이 처음 하는 사람에게는 어렵다는 것을 알게 됩니다. 이 피드백으로 레벨을 고치는 경험이 실무 감각에 가깝습니다. 그다음에는 벽 점프, 대시, 이단 점프 중 하나를 추가해 보거나 스테이지를 하나 더 만드는 식으로 확장합니다.

포트폴리오로 쓸 때는 플레이 영상과 함께 조작감을 어떻게 조정했는지, 적 판정을 어떻게 해결했는지를 짧게 정리해 두면 좋습니다. 결과물보다 문제를 해결한 과정이 더 잘 전달됩니다. 실습 중 막힌 부분이 많아 다음 단계가 고민된다면, SBS아카데미게임학원 유니티 과정 상담에서 만든 결과물을 보여 주고 이어서 배울 내용을 정해 드립니다.

자주 묻는 질문

물리 엔진 대신 직접 움직임을 계산해도 되나요?

됩니다. 정교한 조작감이 필요한 플랫포머는 물리 엔진 대신 직접 이동을 계산하는 경우도 많습니다. 첫 실습은 물리 엔진으로 하고, 익숙해지면 직접 계산하는 방식도 시도해 보세요.

유니티 버전은 무엇을 써야 하나요?

보통 장기 지원 버전을 쓰면 안정적입니다. 참고하는 강의나 자료와 버전이 크게 다르면 메뉴 위치가 달라질 수 있으니 자료의 버전도 함께 확인하세요.

TIP내 상황에 맞는 답이 필요하다면 무료 상담에서 지금 수준과 목표를 기준으로 구체적으로 안내해 드립니다.

가까운 캠퍼스에서 유니티 알아보기

사는 곳과 가까운 캠퍼스를 고르면 수업 내용, 오시는 길, 상담 신청을 한 번에 볼 수 있습니다.

함께 읽으면 좋은 글

Free consulting

유니티, 내 상황에서는 어떻게 시작할까요?

글에서 다룬 내용을 내 실력과 목표에 맞춰 담당 멘토가 구체적으로 정리해 드립니다.

  1. 상담 신청서 접수
  2. 담당 멘토가 연락드림
  3. 방문 또는 전화로 진로·과정 상담
전화로 바로 상담010-2135-9730
전화 상담상담 신청