Notice

본문

​​​​​​게임 게임 개발에 관심 있으신 분들이라면 누구나 한 번쯤 들어봤을 엔진이 있습니다.​바로 유니티입니다.​전 세계에서 가장 많이 쓰이는 게임 엔진 중 하나로, 입문자부터 전문가까지 두루두루 쓰이고 있죠.​특히, 2D 및 3D 게임을 쉽고 빠르게 제작할 수 있는 개발 도구로 인지도가 높습니다.​본인만의 독창적인 게임을 만들고 싶지만, 어디서부터 시작할지 막막하시다구요?​그럼, 오늘 제가 설명해 드리는 유니티 엔진 게임 제작이 어떤 구조인지 함께 알아보고, 어떻게 배워야하는지 알게 된다면 감이 잡히시리라 믿습니다.​​1. 유니티란?​​​유니티는 게임 제작에 필요한 그래픽, 물리, 사운드, UI, 네트워크 게임 기능을 하나의 툴에서 지원하는 개발 도구입니다.​즉, 오직 원활한 게임 제작을 위해 존재하는 엔진 툴이죠.​;1) PC, 모바일, 콘솔 등 다양한 플랫폼 크로스 지원2) C#언어 기반으로 직관적이고 쉬운 프로그래밍 언어3) 캐릭터, 배경, 사운드 등 풍부한 어셋 스토어를 통해 빠른 프로토타이핑 가능​이를 통해, 2D 모바일 게임 제작이나 3D 액션 게임, 심지어는 메타버스 및 교육 시뮬레이션용으로 VR/AR 콘텐츠를 만들 수도 있죠.​무료 버전으로도 괜찮은 퀄리티의 게임을 만들 수 있기에 초보자가 필수적으로 배워야 하는 엔진 중 하나로 손꼽혀요.​​2. 게임 기본 구조​​​유니티 엔진의 기본 구조는 1) 게임 오브젝트와 2) 컴포넌트, 3) 씬, 4) 프레임으로 이루어졌습니다.​;1) 게임 오브젝트 : 캐릭터, 배경 등 게임을 구성하는 모든 기본 단위2) 컴포넌트 : 위치, 물리, 스크립트 등 오브젝트에 붙이는 기능3) 씬 : 하나의 게임 공간을 구성하는 무대4) 프리팹 : 반복적으로 쓰이는 오브젝트를 저장하는 설계도​이렇게만 들으면 복잡해 보일지 모르지만, 예시를 들으면 단번에 이해가 가실 겁니다.​태양과 같은 배경 오브젝트가 움직이고, 빛이 반사되며 캐릭터가 점프하는 과정이 정해진 구조에 따라 진행되어요.​더욱 게임 자세히 알기 위해 각 핵심 구조를 하나씩 살펴볼게요.​​3. 오브젝트​​​유니티에서 오브젝트는 캐릭터, 배경, 사운드, 카메라까지 화면에 구성되는 모든 요소를 뜻합니다.​한마디로 게임 내 가상 세계를 이루는 최소 단위라고 볼 수 있죠.​;1) Empty Object : 좌표만 가진 껍데기, UI관리나 부모 객체에 활용2) 3D Object : 큐브, 스페어, 캡슐 등 기본 도형3) 2D Object : Sprite, Tilemap, UI 요소 ​하지만 오브젝트만 있어서 게임을 할 순 없습니다.​오브젝트의 생명을 불어넣는 역할이 컴포넌트죠.​​4. 컴포넌트​​​유니티 구조 중 컴포넌트는 오브젝트의 특정 게임 기능을 불어넣는 모듈 단위인데요.​오브젝트에 여러 동작을 붙인다면, 복합적인 동작을 만들 수 있어요.​마치 레고 블록처럼 필요한 기능만 쏙쏙 붙여 사용하는 일도 가능하죠.​;1) Transform : 위치나 회전, 크기 관리2) Mesh Renderer : 오브젝트를 화면에 보일수 있도록 만듦3) Collider : 충돌하는 영역 설정4) Animator : 캐릭터 움직임 등 애니메이션 제어​또한, 동일한 컴포넌트를 여러 오브젝트에 적용하여 생동감 있는 세계를 만드는 일도 가능합니다.​이러한 오브젝트와 컴퍼넌트를 하나의 씬에 집어넣게 되죠.​​5. 씬​​​유니티 구성 요소중 하나인 씬은 게임 속을 무대와 게임 같이 공간을 나누는 역할을 합니다.​게임의 맵, 스테이지, 메뉴 화면도 이에 포함되죠.​;1) 캐릭터와 배경이 존재하는 공간 표현2) 시작 메뉴나 옵션 등 UI화면 표현3) 1단계, 2단계와 같이 스테이지 구분​이렇게 오브젝트와 컴포넌트가 포함된 하나의 씬이, 여러 개 묶여 게임을 구성합니다.​씬 관리하는 법을 알게 되면 스테이지가 있거나 메뉴 화면을 손쉽게 구현할 수 있죠.​​6. 프리팹​​​유니티 마지막 요소인 프리팹은 오브젝트를 재사용할 수 있도록 저장해둔 보관소 역할입니다.​예를 들어, 똑같은 적 캐릭터나 그들에게 쏘는 탄환을 매번 새롭게 만들 필요 없이 게임 손쉽게 불러올 수 있는 기능이에요.​프리팹 기능이 없다면, 매번 하나하나 오브젝트를 지정해야하는 커다란 번거로움이 생기게 됩니다.​;1) 여러 씬에서 동일한 오브젝트 재사용2) 원본을 수정하면, 연결되어 있는 모든 개체 일괄 수정 가능3) 오브젝트가 많아도 관리를 쉽게 할 수 있도록 도와줌​몬스터가 스폰되거나 아이템이 떨어지는 등의 우리가 흔히 아는 자연스러운 행위는 모두 프리팹 기능을 활용한 작품입니다.​덕분에 게임 개발에 걸리는 시간을 기하급수적으로 단축시켜줄 수 있죠.​​7. 배울 수 있는 방법​​​유니티를 구성하는 기본 구조들을 초보자가 독학하는 일은 프로그래밍 언어 장벽이나 게임 방대한 기능을 하나하나 익혀야 하기에 쉽지 않습니다.​특히, C#언어를 사용하는 이상 ‘변수’나 ‘함수’와 같은 개념을 모른다면 간단한 게임 하나 만들기가 불가하죠.​이런 상황을 극복하기 위해 가장 좋은 방법은 학원을 다니는 일이에요.​C#언어부터 유니티의 기본 구조를 체계적인 커리큘럼으로 배울 수 있거든요. 특히, SBS아카데미게임학원에서 배우면 12개월안에 다양한 실습 결과물을 만들어낼 수 있는 베테랑이 될 수 있죠.​여기까지 여러분께 유니티 엔진 게임 제작 기본 구조 설명해 드렸는데요!​누구보다 빠르게 게임 제작할 수 있는 프로그램 배워서, 본인의 꿈의 세계를 펼쳐보시길 바랍니다.​​게임학원, 게임 국비지원교육, 그래픽/원화, 프로그래밍, 개발/기획, 이모티콘​​​

댓글목록

등록된 댓글이 없습니다.