|
한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다. 유니티를 사용해서 게임을 생성하기 위해서는 유니티 사용법에 대해 알고 있어야 한다. 예를 들면, 유니티에서 생성된 하나의 프로젝트에서는 여러 개의 씬을 생성할 수 있는데, 이 책에서는 ‘구슬 굴리기’ 라는 간단한 게임을 만드는 것 에서 부터 시작한다. 구슬의 도착 지점인 바닥과 벽을 유니티에 마련된 기본 도형인 cube를 사용하여 만들고, 바닥의 속성값을 설정해준다. 여러 개의 바닥 각각의 파라미터를 설정해주고, 골인 지점에 벽을 추가한다. 플레이 화면에서 씬이 어떻게 보이는지 확인하려면, ‘게임 뷰’ 에서 확인할 수 있는데, 씬을 촬영하는 카메라의 위치와 각도를 조정해서 화면에서 방금 생성한 골인 지점이 올바르게 화면에 표시되도록 설정해준다. 이후, 경사로를 만들고, 구슬의 움직임을 구현하기 위해 ‘물리 머티리얼’을 이용해서 탄성을 설정한다. 이렇게 여러 번의 과정을 거치면 비로소 ‘구슬 굴리기’ 게임이 완성된다. 다음으로 소개하는 것은 3D 콘텐츠를 만드는 것인데, 다운로드했던 에셋의 씬을 활용해서 진행하게 된다. 동일한 오브젝트를 스테이지 여러 곳에 배치하기를 원한다면, 오브젝트를 재사용할 수 있는 기능인 ‘프리펩’을 활용한다. 또, 인게임에서 특정 동작을 구현할 때, ‘비주얼 스크립팅’을 사용해서 구현하는데, 이 책에서는 스크립트 그래프를 사용해서 기능을 구현하는 것에 대해 소개하고 있다. 기초 수준이어서 간단한 수준의 프로그래밍에 대해 배우는 것과 같았다. 마지막으로, 유니티에서 제공하는 기본 도형 뿐만 아니라, 유니티 상점인 ‘에셋 스토어’에서 콘텐츠를 구매하여 사용할 수 있다는 점을 배웠다. 에셋 스토어에서 무료로 제공하는 에셋을 활용해 간단한 게임을 만들 수도 있을 것이다. 유니티를 사용해서 재미있는 게임을 만들고 싶은데 기초적인 조작법을 배우고 싶은 사람에게 추천하는 책이다. 유니티를 사용해서 게임을 만드는 과정이 자세하게 소개되어 있어서, 책을 보면서 과정을 따라해본다면 간단한 게임 몇가지를 만들 수 있을 것이다. 유니티는 사용해보지 않았는데, 스크래치와 비슷한 UI를 가지고 있고, 의외로 설정이 어렵지는 않다는 것을 알게 되었다. 재미있는 인디게임은 어떻게 만들어지는지 궁금했는데, 유니티의 기초 조작법에 대해 배울 수 있어서 의미가 있었다. #따라하며배우는유니티게임개발 #아라카와다쿠야 #유니티 #유니티6 #게임개발 #게임프로그래밍 #한빛미디어 |
|
게임 개발을 처음 시작하기로 마음을 먹었다면 아마 어디서 부터 시작해야 되고 어떤 기술을 써야 하나라는 막연한 두려움이 있을 수 있습니다. 그런 분들에게 Unity 같은 강력하면서 방대한 느낌의 게임 엔진은 고급스럽다는 인상을 주지만, 반면 그만큼 낯설고 어렵게 느껴질 수 있습니다. 본 도서 [따라하며 배우는 유니티 게임 개발]은 Unity를 처음 접하는 사람뿐만 아니라 개발에 대한 지식이 없는 사람도 쉽게 이해하고 손쉽게 따라할 수 있도록 차근차근 안내하기 때문에 게임개발에 대한 지식이 전혀 없거나 조금의 지식만 있는, 게임개발의 의지가 있는 분들에게 매우 좋습니다. 책의 서두에도 밝혔 듯 보통 Unity 책들에서 일반적인, C#문법의 코드를 타이핑하지 않고 클릭-클릭을 통한 비주얼 스크립팅으로 기능을 구현해 냅니다. 가장 쉬운 방법을 택하여 게임을 만드는 아이디어를 실현하는데 발생할 수 있는 모든 허들을 없애겠다는 저자의 의지를 잘 보여줍니다. 이 도서의 가장 큰 특징중 하나는 실습 중심이라는 점입니다. 이론보다는 실습, 상상보다는 말이 떨어지기 무섭게 바로 만들어 보는 구성입니다. 독자가 직접 Unity를 설치하고 기본 조작을 익히며, 바로 2D, 3D 게임을 직접 제작하도록 유도합니다. 프로그래밍 경험이 없는 사람들도 쉽게 따라할 수 있도록 비주얼 스크립팅 기능을 적극적으로 활용하며, 이는 마치 스크래치나 엔트리와 같이 진행이 가능해 코드 한줄 없이 충돌처리, 점수산정, 오프젝트 움직임 같은 핵심 게임 로직을 구현할 수 있습니다. 프로그래밍을 못해서 게임 개발은 어려울것 같다는 선입견을 단숨에 깨뜨려 주며, 초등학생일 지라도 쉽게 체험할 수 있고 결과물이 그럴듯 해 재밌게 만들 수 있습니다. Unity의 2D와 3D를 모두 다루고 있기 때문에 어느 한쪽에 치우치지 않고 기본기를 넓게 익힐 수 있는것도 장점입니다. 이 책은 개발 경험이 없는 입문자나 완전 초보자도 읽고 따라할 수 있습니다. Unity를 처음접하거나 설치해본 적 조차 없어도 이 책으로 차근차근 따라하며 자연스럽게 엔진 환경과 기능에 익숙해 질 수 있습니다. 프로그래밍에 두려움이 있는 비전공자도 충분히 가능합니다. 코딩 없이 게임을 완송할 수 있도록 비주얼 스크립팅을 사용하기 때문에, 완독 완실습한 뒤에는 두려움 대신 자신감을 느낄 수 있습니다. 또한 게임 개발을 취미로 시작해 보고 싶은 사람들의 경우 좋은 출발점이 됩니다. 간단한 미니게임을 만들며 성취감을 얻을수 있고, 엔트리의 대상처럼 초등학생도 적합합니다. 챕터별 주요 내용은 다음과 같습니다. (챕터1 유니티를 배우기 위한 준비) Unity를 학습하기 위해 계정을 만들고 에디터를 다운로드 설치하는 등 환경 설정을 다루고 있습니다. (챕터2 유니티 기본 조작 익히기) 새 프로젝트를 만들고 씬을 구성하며 카메라를 조정하고 물리엔진을 활용하여 공 튀는 효과를 확인하는 등 기본적이지만 Unity가 제공해 주는 큰 기능을 실습합니다. (챕터3 3D 콘텐츠 만들기) 코인 수집 게임을 만들면서 3D 오브젝트 배치, 프리팹 활용, 충돌감지, 회전 로직 등을 배우고 에셋 스토어를 소개합니다. (챕터4 2D 게임 만들기) 스프라이트 배치, 플레이어 조작, 장애물 생성과 이동, 반복 출현 등을 실습하며 점프 게임을 만듭니다. (챕터5 비주얼스크립팅배우기-1) 블록깨기 게임을 통해 입력처리, 공의 움직임, 충돌시 블록 삭제, 점수 표시 같은 기본 로직을 비주얼 스크립팅으로 구현합니다. (챕터6 비주얼스크립팅배우기-2) 날아라꼬꼬 게임을 만들면서 발사, 충돌, 오브젝트 삭제 등 보다 화려한 물리효과를 체험합니다. 본 도서는 (1)완전초보자 친화적 (2)실습 중심의 학습 (3)코딩없는 성취감 (4)2D와 3D를 모두 체험 할 수 있습니다. Unity 경험이 전혀 없는, 연령과 보유 기술 및 경험과 관계 없이 따라할 수 있습니다. 비주얼 스크립팅 덕분에 프로그램이이 부담인 사람들도 화려한 결과물을 확인할 수 있습니다. 2D와 3D를 모두 경험하여 Unity의 활용폭을 넓게 이해할 수 있다는 것도 큰 장점입니다. 다만, 거꾸로 코딩 학습이 부족합니다. C# 스크립트 작성을 거의 다루지 않기 때문에 본 도서를 통해 프로그래밍 실력 향상을 기대하면 안됩니다. 심화기능도 기대하기 어렵습니다. 에니메이션, 네트워크, 최적화와 같은 주춧돌 위에 기둥같은 중급 주제는 포함되지 있지 않습니다. 별도의 후속학습이 필요합니다. 그리고 마지막으로, 오히려 프로그래밍이 없어서 쉽다기 보다는 오히려 낯설고 어렵게 느껴질 수 있습니다. 초등학생도 볼 수 없는 입문 서적임에도 제가 그랬지만 이 부분은 금방 익숙해 집니다. 게임 개발 입문서로서 이 책은 프로그램밍 지식이 없어도 Unity의 기본기를 배울 수 있고, 실제 게임을 완성할 수 있다는 점에서 처음 Unity를 접하는, 특히 초등학생들도 볼 수 있을 정도로 쉽게 따라할 수 있다는 점에서 최고의 길잡이 도서라 할 수 있습니다. 2D와 3D의 감을 익히고 제작해 보기 때문에 기초를 두루 익히기에도 적합합니다. 연령이나 배경지식과 관계 없이 직접 만들며 배우는 즐거움을 선사합니다. 복잡한 이론은 없고, 철저히 실습 중점이라 Unity의 매력을 빠르게 체감할 수 있습니다. 물론, 중급자 이상에게는 내용이 상당히 부족합니다만, 거꾸로 개발이 처음이거나 간단한 게임을 만들어보고 싶은 분들에게는 그만큼 최고의 출발점입니다. 프로그래밍이 두렵다면 이책은 Unity와 첫 만남을 하기 안성맞춤 입니다. 모든 마스터피스 게임 개발자들도 처음은 같습니다. 완성된 작은 게임이 주는 성취감은 행복과 함께 나를 더 큰 도전으로 이끌어 줍니다. "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." |
|
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다." 아라카와 다쿠야와 아사노 유이치는 유니티 게임 개발 입문서를 지속하여 발간해 오고 있는 저자들입니다. 한빛미디어에서도 지속적으로 번역본을 출간해 오고 있습니다. 그만큼 유니티 입문자들에게 유니티 사용법을 빠르게 전달할 수 있다는 장점이 있기 때문이라고 생각합니다. 이번에 소개하는 "따라 하며 배우는 유니티 게임 개발"의 경우에는 유니티 6에 내장되어 있는 '비주얼 스크립팅'이라는 기능만을 이용하여 게임을 제작하는 기초적인 방법을 안내하고 있습니다. C#을 사용하지 않아서, 책의 부제도 "프로그래밍 없이도 누구나 쉽게 만드는 2D & 3D 게임" 입니다. 책은 여느 유니티 관련 서적들처럼 유니티를 설치하는 방법부터 안내하고 있으며 유니티 에디터 화면 구성에 대하여 간략하게 소개하고 있습니다. 책이 240여 페이지정도 되는 얇은 책이다 보니 유니티 설치라든가 유니티 화면 구성 및 기본적인 조작방법 같은 내용들은 정말 간략하게 적혀 있습니다. 책의 대부분 내용은 책과 함께 제공되는 예제 에셋들을 이용한 프로젝트 실습 위주로 구성되어 있습니다. 마치, 유니티 게임 개발 기초만 딱 잡아 주려고 꼭 알아야 하는 내용들만 요약 정리한 것 같습니다. 책에 몇가지 샘플 프로젝트가 제시되어 있는데 C#으로 코딩하는 것이 아니라 "비주얼 스크립팅"이라는 기능을 이용하여 유니티를 조작하는 방법으로만 제작하게 됩니다. "비주얼 스크립팅은 코드를 처음부터 작성할 필요없이 그래픽을 기반으로 Unity의 오브젝트와 동작을 조작하는 방식입니다. 비주얼 노드를 함께 연결하여 로직을 구현하고, 아티스트, 디자이너, 프로그래머가 간단하게 게임플레이와 인터렉티브 시스템을 만들 수 있게 합니다."라고 유니티 홈페이지에 안내되어 있네요. 2021년에 BOLT라는 회사를 인수하면서 유니티에서 이용할 수 있게 되었다고 하는데, 저는 C#으로 코딩하는 방법만 알고 있다가 이번에 책을 보면서 새롭게 알게 되었습니다. 그래픽 기반 에디터 이다 보니, 저 같은 웹퍼블리셔나 디자이너들에게도 좀 더 쉽게 와 닿는 기능이네요. 비주얼 스크립팅은 유니티 엔진이 제공하는 클래스들을 노드라고 부르는 그래픽 요소로 치환하여, 비주얼 스튜디오 코드 같은 텍스트 기반 에디터가 아니라 유니티 자체에서 제공하는 그래픽 에디터를 이용하여 프로그래밍 할 수 있게 합니다. 각 오브젝트들의 인스펙터 화면에 컴포넌트를 추가하여 변수를 조작하는 것처럼 비주얼 스크립팅 컴포넌트를 추가한 후 비주얼 스크립팅 에디터에 오브젝트 조작에 필요한 노드들을 하나씩 불러 오고 각각을 연결해 주면서 게임을 제작하는 방식입니다. C# 코드 한 줄도 쓰지 않고 오브젝트를 조작할 수 있다는게 굉장히 흥미로웠습니다. 입문자들을 위한 책이다 보니 매우 간단한 게임 몇가지를 따라 만들게 되어 있습니다. 게임을 구성하는 컴포넌트들에 대한 내용은 최소화하고 스텝 바이 스텝으로 비주얼 스크립팅 내용을 따라해 보는 방식으로 구성되어 있습니다. 저는 2D 게임에 관심이 많아서 책의 예제중 2D 부분을 따라해 봤습니다. 한줄 읽고 해당 부분 한번 클릭하고 한줄 읽고 해당 부분 한번 클릭하는 방식으로 실습을 진행하였습니다. 예전에 C#으로 코딩해 봤던 내용들이 새록 새록 기억이 나는게, 유니티 게임 제작에 경험이 있는 분들은 더욱 빠르게 책의 내용을 습득할 수 있겠습니다. 노드와 노드 사이를 연결하는데 각 노드들 간에 조건이 있음을 이해할 수 있도록 일부러 에러를 내어 안내하고 제대로 수정할 수 있도록 하는 내용도 있습니다. 제 경우에는 책에서 안내한 에러 내용 말고 다른 부분이 막히는 경험을 해서 소개 합니다. 책 내용을 따라하다 같은 에러를 만난 분들에게 도움이 되면 좋겠네요. 책의 예제를 따라 하던 중, "InvalidOperationException: You are trying to read input using the UnityEngine.Input class, but you do not have any Input settings..." 라는 에러 메시지를 보게 되었는데요. 검색을 통해서 해결 방법을 찾기가 쉽지가 않아서, 위 화면 그대로를 캡쳐하여 ChatGPT에 업로드 하고 해결방법을 안내해 달라고 했더니, "Input 시스템 문제 때문에 Get Mouse Button Down 노드가 정상적으로 작동하지 않고 있습니다."라는 답변과 함께 해결방법도 안내 받았습니다. 유니티가 업그레이드 되면서 예전에 사용하던 Input 시스템 대신에 새로운 Input 시스템을 디폴트로 사용하기 때문에 생긴 문제였습니다. -해결 방법- 방법은 두 가지 중 하나를 선택하시면 됩니다. 방법 1: Legacy Input Manager 사용하기 (가장 간단) 메뉴에서 Edit → Project Settings → Player → Other Settings 로 이동 Active Input Handling 항목을 찾습니다. 현재 Input System Package (New)로 되어 있을 가능성이 큽니다. 이를 Both 또는 Input Manager (Old) 로 변경하세요. Unity 재시작 후 다시 실행하면 Get Mouse Button Down이 정상 작동할 것입니다. ChatGPT를 이용하여 큰 어려움 없이 에러를 해결하고 프로젝트 실습을 계속 진행할 수 있었습니다. 책의 내용을 통해 해결하기 어려운 에러를 마주친 경우에는 ChatGPT의 도움을 받아 해결 가능한 것 같습니다. 이것도 C# 스크립트를 통해 코딩하는 것에 비해 비주얼 스크립팅과 같은 그래픽 요소로 컴포넌트를 조작하는 방식의 큰 이점이지 않겠나 싶은 생각이 드네요. 복잡한 프로젝트를 구성하는데는 한계가 있어 보이긴 합니다만, 간단한 캐주얼 게임들을 만든다든가 목업이나 테스트 버전을 만들고 디자이너 및 기획자들과 의견을 교환하는데 매우 효과적인 방법이 될 것 같습니다. 그 첫걸음으로 이 책 "따라 하며 배우는 유니티 게임 개발"을 통해 빠르게 유니티 비주얼 스크립팅을 익히고 게임개발에 도전해 보시길 추천합니다. |