3학년 2학기 컴퓨터그래픽스 과목에서는 지금까지 배운 그래픽스 이론들을 활용하는

자유 주제의 텀프로젝트가 주어졌다.

개발 형태, 주제, 플랫폼 등 아무런 제한 없이 정말 자유롭게 진행하면 되는 프로젝트였고

나는 유니티3D를 이용한 게임을 개발해보았다.

프로젝트를 시작할 때 나는 유니티를 다뤄본 적이 없었고, 심지어 C#을 공부한 적도 없었다.

지금까지 C언어, 자바, 파이썬 등의 프로그래밍 언어를 배웠기 때문에 프로그래밍에 대한 지식은 있으니까

인터넷에 나온 강좌들을 찾아보면서 공부하는 동시에 개발을 해보기로 했다.

프로젝트 이름은 "치킨런", 닭이 장애물을 피해 병아리를 모아 목표지점에 도달하는 게임이다.

프로젝트 개요 및 목표

개요

장애물을 피해서 목표 지점까지 도달하는 3D 러닝 게임을 제작함

목표

- Unity3D 환경에서 게임을 제작함

- 다양한 컴퓨터그래픽스 이론을 적용하여 프로젝트를 진행함

- 닭이 모든 병아리를 모아서 목표 지점에 도착하는 러닝 게임을 제작함

프로젝트 전체 시스템 구성도

유니티에서 오브젝트에 C# 스크립트를 연결시켜 게임을 개발했다.

먼저 오브젝트는 주요 오브젝트, 장애물 및 지형, 사용자 인터페이스, 그 외의 오브젝트로 나눌 수 있다.

주요 오브젝트는 플레이어의 캐릭터인 닭, 플레이어가 모아야하는 아이템 병아리,

플레이어 시점의 카메라, 게임의 전반적인 관리를 담당하는 게임 매니저가 있다.

맵에 있는 장애물을 간략하게 표현해보았다.

스크립트는 주요 오브젝트, 장애물 및 지형, 그 외에 관련된 스크립트가 있다.

프로젝트 내 주요 기능 설명

카메라가 캐릭터를 잡아주되, 캐릭터와 일정 거리를 유지하면서 이동할 수 있도록 오프셋을 설정한다.

플레이어는 3인칭 시점에서 게임을 플레이한다.

닭의 진로를 방해하는 장애물들은 반복적으로 좌우 또는 상하로 이동한다.

장애물과 닿았을 때, 맵 밖으로 떨어졌을 때 다시 시작 지점에 리스폰된다.

동적인 효과를 주기 위해 애니메이터,애니메이터 컨트롤러를 사용했다.

플레이어의 캐릭터인 닭은 플레이어의 조작에 따라 다른 액션을 취하고

병아리들은 제자리에서 3개의 행동을 반복한다.

프로젝트 설계 방법

이 게임은 PC에서 실행하는 게임이기 때문에 키보드의 방향키를 이용하여 이동하고, 스페이스바로 점프를 한다.

게임 시작과 동시에 타이머가 시작하고 필드에 있는 병아리를 모두 모은 후 목표 지점에 도달하면 게임이 끝난다.

프로젝트 수행 결과

 

 


프로젝트 후기

유니티를 처음 사용한 것 치고는 그래도 나름 게임 같은 결과물이 나왔다.

사실 맵을 완주하는 것은 한 번도 떨어지지 않고 직진하면 1분이 걸려서 굉장히 짧고 간단한 게임이라고 할 수 있다.

그런데 게임 제작을 완료하고 주변 사람들에게 한 번 플레이해보라고 게임 파일을 보내줬는데

10, 14트만에 성공한 친구들도 있었고 대체로 게임이 어렵다는 평을 들었다. 10분 이상 플레이했다고ㅎㅎ

현재 상태에서 개선할만한 점을 몇 가지 생각해보았다.

- 단순히 제자리에서 움직이는 장애물뿐만 아니라 플레이어 캐릭터를 따라오는 인공지능적인? 방해자를 만든다.

- 커브 구간을 추가하여 맵을 다채롭게 만든다. (카메라도 같이 회전)

- 이동 방향에 따라 닭이 바라보는 방향도 자연스럽게 만든다.

- PC뿐만 아니라 모바일 플랫폼에서도 플레이 가능하도록 앱 형식으로 만든다.

 

 

https://github.com/askges20/ChickenRun

 

askges20/ChickenRun

2020-2 컴퓨터그래픽스 프로젝트. Contribute to askges20/ChickenRun development by creating an account on GitHub.

github.com

⬆ 해당 프로젝트는 현재 가상 조이스틱을 이용하여 플레이할 수 있는 앱으로 수정하였으며 GitHub에 업로드되어있다.

+ Recent posts