3판에서 달라진 점
1. 유니티 버전 업데이트
- 유니티 2021 → 유니티 2023.2 & 유니티 6 베타로 변경
- 스크린숏 및 코드 전면 수정(유니티 6의 새로운 UI/기능 반영)
2. 멀티플레이어 게임(Pong) 추가
- 기존 개정판에는 없던 네트워크 멀티플레이어 게임 구현 추가
- 유니티 넷코드를 사용하여 RPC, 동기화, 클라이언트-서버 구조 학습 가능
3. 어드레서블(Asset Addressables) & 패치 시스템 추가
- 콘텐츠 업데이트 및 원격 배포 시스템 구현 방법 추가
- 기존에는 없던 고급 사용자용 패치 시스템 가이드 포함(게임 업데이트 방식 설명)
4. AI 및 내비게이션 시스템 강화
- 기존에는 없던 좀비 AI, 내비게이션 시스템, 레이캐스트 활용 타격 감지 기능 추가
- 적(Enemy) AI 구현 방식 상세 설명(적의 이동, 공격 패턴 등)
5. UI(UGUI) 개선 & 후처리(Post-Processing) 추가
- 유니티 UI 시스템 최신 버전 반영 (UGUI 개편)
- 후처리(Post-Processing) 기법 추가 → 게임 그래픽 품질 향상 가능
★ 이 책의 특징
입문자와 비전공자를 배려한 진행 순서
이 책은 유니티는 물론 프로그래밍에 대한 지식이 전혀 없는 입문자와 비전공자, 아티스트 등을 대상으로 합니다. 따라서 비전공자가 쉽게 이해할 수 있는 순서로 구성되어 있습니다. 수학적 내용은 전문적인 단어 대신 비전공자가 이해할 수 있도록 풀어 쓴 예시를 사용합니다.
수많은 예시와 그림
어려운 개념은 비유와 예시로, 복잡한 서술은 그림으로 대체했습니다. 700장 이상의 그림으로 실습 과정을 놓치지 않고 따라 할 수 있습니다.
올인원 패키지
유니티의 동작 원리, C# 프로그래밍, 객체지향, 선형대수, UI, 모바일, 후처리, 네트워크, 프로그래밍은 물론 게임 개발에 필요한 모든 요소를 기초부터 고급까지 충실하게 다룹니다. 또한 패치 시스템을 구현하고 싶은 고급 사용자를 위한 어드레서블 완벽 가이드 부록을 제공합니다. 이 책 하나로 C# 프로그래밍 입문서와 게임 엔진 입문서를 모두 대체할 수 있습니다.
★ 이 책의 구성
이 책은 총 7부로 구성되어 있습니다. 1부와 2부에서는 유니티와 코딩을 당장 이해하는 데 가장 필수적인 핵심을 빠르게 배웁니다. 실습 프로젝트를 진행하는 3부, 5부, 6부, 7부는 장르별로 게임을 하나씩 완성하면서 실습을 통해 이론을 이해합니다. 실습 프로젝트는 기존 지식만으로 해결하기 어려운 문제를 새로운 방법으로 돌파하는 방식으로 진행합니다. 4부에서는 비전공자 입장에서 게임 개발에 필요한 수학적 기반을 배우고 부록에서는 모바일 빌드와 어드레서블을 통한 콘텐츠 관리를 다룹니다.
1부: 유니티 준비하기
유니티를 준비하고, 유니티 동작 원리와 인터페이스를 배웁니다.
유니티 개발 환경을 준비하고 맛보기 프로젝트를 만듭니다. 게임 오브젝트와 컴포넌트의 원리
와 동작을 이해합니다. 게임 엔진의 구조와 개발 방식을 이해합니다.
2부 : C# 프로그래밍
왕초보자 입장에서 C# 프로그래밍과 객체지향을 배웁니다.
코딩 원리와 객체지향을 즉시 이해할 수 있는 그림 예시로 설명합니다. C# 스크립트를 직접
작성하면서 필요한 대부분의 C# 문법을 익힙니다. 1부에서 살펴본 유니티의 동작 원리가 C#의 객체지향과 어떻게 맞물리고, 스크립트가 어떻게 게임 오브젝트와 컴포넌트를 통제할 수 있는지 이해합니다.
3부 : 탄막 슈팅 게임 - 닷지
3D 탄알 피하기 게임을 만듭니다.
키보드 조작으로 공을 굴리는 작은 예제에서 시작하여 탄알, UI, 게임 매니저를 만들고 최종 빌드까지 게임 완성에 필요한 모든 부분을 진행합니다. 또한 주기적으로 탄알 생성을 반복하는 방법, 점수를 저장하는 방법을 배웁니다.
플레이어의 입력을 받아 힘과 속도를 제어하는 방법을 배웁니다. 입력 매니저와 시간 간격 같은 기초 개념이 꼭 필요한 이유를 현실 사례로 설명합니다.
4부 : 공간
공간, 속도, 회전을 통제하기 위한 선형대수를 배웁니다.
벡터 수학, 지역 공간과 전역 공간, 회전에 사용되는 쿼터니언을 배우게 됩니다. 비전공자와 선형대수를 따로 공부할 여유가 없는 개발자들을 위해 복잡한 증명 과정은 직관적이고 간결한 그림으로 대체했습니다. 또한 수학적 지식을 이론이 아닌 실제 코드와 함께 사용법 위주로 빠르게 이해합니다.
5부 : 2D 러너 게임 - 유니런
발판이 무한 랜덤 생성되는 2D 러너 게임을 개발합니다.
2D 애니메이션을 만드는 방법, 캐릭터의 상황에 따라 적절한 애니메이션을 재생하는 방법을 배웁니다. 오브젝트 풀링을 구현하여 배경과 장애물을 무한 반복 배치하는 방법을 배웁니다. 또한 디자인 패턴 중 하나인 싱글턴을 직접 구현하고 사용합니다.
6부 : 탑다운 슈터 게임 - 좀비 서바이버
몰려오는 인공지능 좀비들을 총으로 쏘는 탑다운 슈터 게임을 제작합니다.
IK와 애니메이션 마스크를 구현합니다. 점수와 인공지능 적 소환 시스템과 인게임 UI를 만듭니다. 유니티의 내비게이션 시스템을 사용하여 인공지능을 구현하며, 레이캐스트로 정확한 총알 충돌을 구현합니다. C# 인터페이스, 이벤트, 람다 표현식을 사용하여 플레이어와 인공지능 적의 대미지 처리 코드를 간결하게 줄이는 방법을 배우게 됩니다. 후처리를 사용하여 영상미를 구현합니다.
7부 : 네트워크 게임 - 퐁
유명 고전 게임을 2인 네트워크 멀티플레이어 게임으로 제작합니다.
API와 상관없이 모든 종류의 네트워크 게임에 공통적으로 필요한 이론을 배웁니다. 유니티 네트워크 라이브러리인 넷코드를 통해 로비, 위치 동기화, RPC 등을 구현합니다. 동기화 절차와 클라이언트와 호스트, 로컬과 원격, 조작 권한에 대해 배웁니다.
부록
유니티 게임을 안드로이드와 iOS로 빌드하는 방법을 배웁니다.
어드레서블 에셋 시스템을 사용하여 콘텐츠를 관리하고 원격 배포하는 방법을 배웁니다.