[언리얼 엔진] 블루프린트 입문하기

지난 두 글에서는 뷰포트 조절과 액터 배치 및 수정에 대해 알아보았다. 이번 시간부터는 본격적으로 ‘블루프린트(Blueprint)’라는 것에 대해 알아볼 예정이다. 블루프린트는 보통 건설하는 곳이나 기계를 만드는 분야에서는 청사진이라는 말로 쓰이고 있다. 청사진은 설계도의 일부라고 할 수 있는데, 설계도를 보면 자신이 무엇을 만들려고 하는지 자신 이외의 사람도 보면 이해할 수 있도록 해준다. 언리얼 엔진에서의 블루프린트도 이와 비슷하다고 할 수 있다. 블루프린트는 ‘비주얼 스크립트’의 일종으로, 조금 풀어쓰자면 자신이 짜놓은 스크립트를 비주얼하게 보여주는 것이다. 시각적으로 보여주는 만큼, 코딩보다는 다른 사람들이 이해하기 쉽다. 아래는 코딩과 블루프린트를 비교한 것이다.

더 보기 “[언리얼 엔진] 블루프린트 입문하기”

[게임메이커] 오브젝트

오브젝트는 객체지향 프로그래밍에서 등장하는 개념으로 게임메이커에서 핵심이라고 부를 만한 존재다. 오브젝트를 직역하면 물체, 목적 등이 되는데 여기서는 앞서 말한 객체지향의 객체라는 의미가 가장 적합할 것으로 생각된다.

오브젝트 폴더에 우클릭을 한 후 오브젝트 생성 버튼을 누르면 빈 오브젝트가 생성되며 다음과 같은 창이 뜬다.

  1. 이름 설정: 오브젝트의 이름은 다른 오브젝트나 스크립트에서 해당 오브젝트를 지칭할 때 사용된다.
  2. 스프라이트 설정: 오브젝트가 게임 상에서 표시될 때 어떤 스프라이트를 사용할 것인지 설정합니다. 코드 상으로 여러 가지 변형을 가할 수도 있으나 기본적으로는 해당 스프라이트가 표시된다.
  3. 보임 여부: 체크 해제 시 게임 상에서 보이지 않는다. 실제로는 존재하고 충돌이나 마우스 체크 등도 가능하지만 스프라이트는 표시되지 않는다.
  4. 고체화 여부: 고체화 여부. 추후에 좀 더 알아볼 예정이다.
  5. 현재 오브젝트의 이벤트
  6. 현재 오브젝트에서 선택한 이벤트의 액션

오브젝트의 핵심의 위의 5번과 6번인 ‘이벤트(event)’와 ‘액션(action)’이다. 간단히 말하면 이벤트=조건, 액션=행동으로 표현할 수 있다. 이벤트 추가 버튼을 누르면 다음과 같은 창이 나타난다.

이 중 임의로 마우스 클릭 – 왼쪽 버튼으로 이벤트를 설정하고 이에 따른 액션을 선택하기로 하였다. 이벤트에 액션을 지정하기 위해서는 이벤트를 선택한 뒤 오른쪽 액션 탭의 아이콘을 블럭으로 끌어오면 된다.

원하는 속성과 이벤트, 액션을 모두 설정하고 OK 버튼을 누르면 오브젝트를 저장할 수 있다.

[언리얼 엔진 사용기] 블루프린트는 무엇인가

필자는 코딩을 잘 못하는 지라 블루프린트를 중심으로 진행하기로 하였다. 이전 글에서 설명했듯, 언리얼엔진은 블루프린트라는 것을 지원한다. 해당 기능을 사용하면 코딩을 하지 않고도 게임을 만들 수 있다. 얼마나 편리한가!

더 보기 “[언리얼 엔진 사용기] 블루프린트는 무엇인가”

[언리얼 엔진] 액터 생성 및 배치하기

이번에는 액터를 생성하고 배치하는 방법에 대해 알아보도록 하자. 액터를 만들기 위해서는 우선 액터가 무엇인지부터 알아야 한다. 액터(Actor)는 배우라는 뜻으로, 언리얼 엔진에서는 간단하게 말해 레벨에 배치할 수 있는 오브젝트를 의미한다. 쉽게 생각하면 게임에 등장하는 배우정도로 생각하면 될 것 같다. 물론 액터는 움직일 수 있는 캐릭터 뿐만 아니라, 건물, 돌, 배경 등 무생물까지 아우르는 개념이다. 언리얼 엔진에서는 이 액터를 사용하기 위해 여러 작업을 수행할 수 있는데, 액터 생성, 배치, 회전, 조정, 편집 등이 바로 그것이다. 이를 적절히 활용하여 사용자들이 생각한 구상 그대로 게임을 만들 수 있는데, 이것이 바로 게임 엔진의 역할 중 하나가 아닐까.

그럼 본격적으로 언리얼 엔진에서 액터를 생성하는 방법에 대해 알아보자. 액터를 생성하는 방법을 간단하다. 먼저 언리얼 엔진을 켜고 새 프로젝트를 생성하면 다음과 같은 화면을 볼 수 있다.

더 보기 “[언리얼 엔진] 액터 생성 및 배치하기”

[게임메이커] 스프라이트에 대해

스프라이트란 게임 오브젝트의 동작을 표현하기 위해 사용하는 그래픽스 리소스를 의미한다. 이러한 개념은 게임메이커에서도 사용되며, 이 글에서는 그러한 스프라이트를 다루는 기본적인 방법에 대해 배우고자 한다.

위와 같이 sprite 폴더에 우클릭 후 ‘Create Sprite’를 통해 스프라이트를 생성한다.

왼쪽에는 스프라이트 이름 설정, 이미지 불러오기 버튼, 스프라이트 편집 버튼, 스프라이트 중심 설정이 있고, 그 옆에는 정밀 충돌 여부, 마스크로 충돌 판정 여부 설정, 충돌 범위 설정이 있다. 오른쪽에는 스프라이트가 어떻게 생겼는지 보여주는 칸이 있다. ‘Edit Sprite’ 버튼을 눌러 스프라이트를 편집하자.

더 보기 “[게임메이커] 스프라이트에 대해”

언리얼 엔진의 Paper2D

Paper2D란?

게임 개발에 사용되는 유명 엔진 중 하나인 언리얼 엔진은 기본적으로 3D 엔진이다. 그러나 언리얼 엔진도 2D 게임을 개발하기 위한 기능을 제공하고 있는데 바로 Paper2D라는 기능이다.

이 문서의 아래에 있는 참조 링크는 에픽게임즈 사에서 제공하는 Paper2D 튜토리얼 강의이다. 강의를 통해 자습을 했기 때문에 이 문서에서 대략적인 내용을 알 수 있겠지만, 링크의 강의를 통해 간단한 플래포머 예제를 만들 수 있으니 관심이 있다면 읽어보는 것을 추천한다.

2D 게임의 구성요소

이번 글에서는 2D 게임에서 주로 사용하는 용어 몇 가지를 살펴보려 한다. Paper2D를 사용하여 게임을 만드는 경우 확실하게 알아두어야 하는 용어는 “스프라이트(Sprite)”, “텍스처(Texture)”, “머티리얼(Material)“이다. 이 3가지는 언리얼 엔진을 사용하여 3D 게임을 만드는 경우에도 사용하게 되니 알아두는 것이 좋다.

더 보기 “언리얼 엔진의 Paper2D”

[언리얼 엔진 사용기] 블루프린트와 C++

액터와 캐릭터

게임에는 유저의 판단이 개입한다. 반면 드라마나 영화는 작가가 정한대로 진행된다. 이러한 차이점이 있음에도 불구하고 그들 사이에는 공통점이 존재한다. 바로 주인공과 같은 등장인물이 존재한다는 점이다.

언리얼에서는 크게 3가지 클래스가 존재한다. 바로 Pawn, Actor, Component다. 영화에서의 주인공은 여기서는 Pawn 또는 Character로, Character는 Pawn의 종류 중 하나이다. 이들은 AI 혹은 플레이어에 의해 조작이 가능하다는 특징을 가지고 있다. 이제 각각의 클래스가 어떤 일을 하는지 알아보자.

더 보기 “[언리얼 엔진 사용기] 블루프린트와 C++”

[언리얼 엔진] 뷰포트 사용하기

언리얼 엔진은 여러 유명 게임 엔진들 중 하나로, 3D를 주력으로 삼고 있는 엔진이다. 최근 들어 크게 유행하게 되었으며, 한국에서도 ‘리니지 2’, ‘히트’, ‘테라’ 같은 유명 게임들이 언리얼 엔진을 사용하고 있다. 원래 이 엔진의 제작사인 에픽 게임즈는 라이선스 비를 받음으로써 수익을 많이 내고자 했었는데, 계속해서 엔진을 업데이트 하면서 개발자들의 부담을 줄여주기 시작했다. 최근에는 언리얼 엔진의 소스 코드를 공개하기도 했다.

또한 무료로 사용할 수 있기 때문에 일반 사용자들도 부담없이 사용할 수 있다. 튜토리얼도 상당히 구체적으로 이루어져 있어서 초심자들이 입문하기에도 괜찮은 것 같다. 물론 처음 배우는 사람에게 코딩은 장애물이 아닐 수 없다. 하지만 코딩을 잘하지 못하더라도 프로그래밍을 할 수 있는 ‘블루프린트’ 기능이 존재한다. 우선 이러한 언리얼 엔진을 사용하기 위해서 필수적으로 알아야 할 뷰포트 사용을 연습해보았다.

더 보기 “[언리얼 엔진] 뷰포트 사용하기”

[게임메이커] 시작하기에 앞서

게임메이커 스튜디오는 요요 게임즈에서 제작한 2D 게임 제작에 특화된 통합 개발 도구로, 그래픽 에디터, 맵 에디터, 자체 스크립트 언어 등이 내장되어 이 프로그램 단독으로도 게임을 만드는 데 큰 무리가 없다. 어도비 애니메이트와 추구하는 바는 비슷하지만 게임메이커 스튜디오라는 이름 그대로 게임 제작에 특화되어 있는 것이 차이점이다.

통상적으로 게임메이커 8.0, 게임메이커 스튜디오 1.4, 게임메이커 스튜디오 2를 사용한다. 게임메이커가 게임메이커 스튜디오로 업그레이드 되었고, 최근에는 게임메이커 스튜디로 2가 출시되었다.

쉬운 사용법과 높은 자유도를 바탕으로 인디 게임계에서는 상당히 중요한 위치를 차지하고 있다. 하지만 쉽게 만들 수 있는 단순한 게임에서 조금만 벗어나도 체계적인 라이브러리가 없기 때문에 개발 난이도가 급격히 상승한다는 단점이 있다. 또한 2D에 특화된 툴이었다가 최근들어 3D 관련 함수들이 추가되었는데, 그렇다 하더라도 3D 작업에는 매우 약하다는 단점이 존재한다.

게임메이커로 만들어진 대표적인 게임으로는 I Wanna 시리즈, Undertale, Hotline Miami 등이 있다. 앞으로 게임메이커 스튜디오 1.4를 이용해 사용법을 알아보고 간단한 게임을 만들어보고자 한다.

[모션인식게임] 기본 이론 및 라이브러리 설치

이 시리즈에서는 웹캠을 이용한 모션인식 게임을 만들어보고자 한다. 다만 유명 회사에서 개발한 것과 같이 사람 그 자체를 인식해서 스켈레톤을 따오는 방식을 단기간에 구현하기에는 무리가 따를 것 같아서 마커를 사용하는 간단한 방식의 모션 인식을 구현해볼 것이다.

마커는 카메라가 인식할 수 있는 특정 패턴을 의미한다. 보통 흰색과 검은색 사각형의 조합을 사용하며, 그 종류가 매우 다양하다. 흰색과 검은색 상자 사이의 점 또는 선을 카메라가 인식함으로써 마커가 존재하는 3차원 위치를 컴퓨터가 인식할 수 있게 된다. 마커를 인식할 수 있게 하는 다양한 라이브러리가 있는데, Visual C++에서 OpenCV를 이용해 모션인식 프로그램을 구현해보고자 한다.

더 보기 “[모션인식게임] 기본 이론 및 라이브러리 설치”