이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1장. 개발 환경 이해__기술 요건__유니티 2022 시작하기____맥OS 사용____새 프로젝트 생성____에디터 탐색__유니티에서 C# 사용____C# 스크립트 작업____비주얼 스튜디오 소개____C# 파일 동기화__문서 탐색____유니티 문서에 액세스____C# 리소스 찾기__요약____내용 점검: 스크립트 다루기2장. 프로그래밍의 구성 요소__변수의 정의____이름의 중요성____플레이스홀더의 역할을 하는 변수__메서드의 이해____코드를 실행시키는 메서드____메서드도 플레이스홀더다__클래스 소개____일반적인 유니티 클래스____클래스는 청사진____클래스 간 통신__주석 작업____한 줄 주석____여러 줄 주석____주석 추가__구성 요소 넣기____컴포넌트가 되는 스크립트____MonoBehavior의 지원__요약__내용 점검: C# 구성 요소3장. 변수, 타입 및 메서드 살펴보기__올바른 C# 작성__코드 디버깅__변수의 이해____변수 선언____액세스 한정자 사용____타입 작업____타입 정리____변수 네이밍____변수 범위의 이해__연산자 소개____산술 및 할당__메서드 정의____메서드 선언____네이밍 규칙 ____메서드의 논리적 우회____매개변수 지정____반환 값 지정____반환 값의 사용____기본 유니티 메서드 분석__요약__내용 점검: 변수와 메서드4장. 제어 흐름과 컬렉션 타입__선택문____if-else문____switch문____내용 점검 1: if, and, but__컬렉션 간단히 살펴보기____배열____리스트____딕셔너리____내용 점검 2: 컬렉션의 모든 것__반복문____for 루프____foreach 루프____while 루프____무한 루프 저 너머로__요약5장. 클래스, 구조체 및 OOP 작업__OOP 소개__클래스 정의____클래스 객체의 인스턴스화____클래스 필드 추가____생성자 사용____클래스 메서드 선언__구조체 선언__참조 타입과 값 타입의 이해____참조 타입____값 타입__객체지향형 사고방식의 통합____캡슐화____상속____컴포지션____다형성____OOP 내용 정리__OOP를 유니티에 적용하기____객체는 클래스의 동작____컴포넌트에 액세스__요약__내용 점검: OOP6장. 유니티 실행하기__게임 디자인 기초 작업____게임 디자인 문서____Hero Born 원페이지__레벨 만들기____프리미티브 생성____3D 공간에서의 사고방식____머티리얼____화이트 박싱__조명의 기초____조명 생성____Light 컴포넌트 속성__유니티의 애니메이션____코드에서 애니메이션 생성____유니티 애니메이션 창에서 애니메이션 생성____키프레임 녹화____커브와 탄젠트__요약__내용 점검: 기본적인 유니티의 특징7장. 이동, 카메라 제어 및 충돌__플레이어 이동 관리하기__Transform 컴포넌트를 사용해 플레이어 이동하기____벡터의 이해____플레이어 입력 받기____플레이어 이동__카메라 동작 스크립팅__유니티 물리 시스템으로 작업하기____모션의 리지드바디 컴포넌트____콜라이더와 충돌____콜라이더 트리거의 사용____물리 요약__요약__내용 점검: 플레이어 제어와 물리8장. 게임 메카닉 스크립팅__점프 추가____열거 타입____레이어 마스크로 작업하기__발사체 발사____오브젝트의 인스턴스화____슈팅 메카닉 추가____오브젝트 빌드업 관리__게임 매니저 생성____플레이어 속성 추적____get과 set 접근자____아이템 수집 업데이트__GUI 생성____플레이어 스탯 표시____승패 조건____지시문과 네임스페이스를 사용해 일시 정지 및 재시작하기__요약__내용 점검: 메카닉을 활용한 작업9장. 기본 AI와 적의 행동__유니티의 3D 공간 내비게이팅____내비게이션 컴포넌트____적 에이전트 설정__적 에이전트의 이동____절차적 프로그래밍____정찰 위치 참조____적의 이동__적의 게임 메카닉____수색과 파괴: 에이전트의 대상 변경____플레이어의 체력 감소____탄환의 충돌 감지__리팩터링 및 DRY 유지__요약__내용 점검: AI와 내비게이션10장. 타입, 메서드 및 클래스의 재고찰__액세스 한정자____const와 readonly 키워드____static 키워드 사용__메서드 다시 살펴보기____메서드 오버로딩____ref 매개변수____out 매개변수__중급 OOP____인터페이스____추상 클래스____클래스 확장__네임스페이스 충돌과 타입 별칭__요약__내용 점검: 레벨 업11장. 스택, 큐, 해시셋__스택____Pop과 Peek____공용 메서드__큐로 작업____추가, 제거 및 피크____공용 메서드__해시셋 사용____연산 수행__중급 컬렉션 정리__요약__내용 점검: 중급 컬렉션12장. 데이터의 저장, 로드 및 직렬화__데이터 포맷 소개____XML 분석____JSON 분석__파일 시스템의 이해____에셋 경로로 작업____디렉터리의 생성과 삭제____파일의 생성, 업데이트, 삭제__스트림으로 작업하기____스트림 리소스의 관리____StreamWriter와 StreamReader의 사용____XMLWriter 생성하기____스트림 자동으로 닫기__데이터 직렬화____XML의 직렬화 및 역직렬화____JSON의 직렬화 및 역직렬화__데이터의 정리__요약__내용 점검: 데이터 관리13장. 제네릭, 델리게이트 및 기타 사항 살펴보기__제네릭 소개____제네릭 객체____제네릭 메서드____타입 매개변수 제약 조건____유니티 객체에 제네릭 추가__델리게이트____디버그 델리게이트 만들기____델리게이트 타입의 매개변수__이벤트 발생____이벤트 생성 및 호출____이벤트 구독 처리____이벤트 구독 정리__예외 처리____예외 발생____try-catch문의 사용__요약__내용 점검: 중급 C#14장. 이 책을 마친 후__심화 학습__객체지향 프로그래밍 다시 살펴보기__디자인 패턴 입문__유니티 프로젝트 접근하기__기타 유니티 기능__향후 과정____C# 리소스____유니티 리소스____유니티 자격증__과제: 커뮤니티에서 나의 실력 검증해보기__요약
|
Harrison Ferrone
이지성의 다른 상품
송정은의 다른 상품
|
이 책에서 다루는 내용 - 간단한 단계와 예제를 다루며 유니티에서 C# 스크립트를 생성 및 구현- 생동감 있는 게임을 만들기 위한 3D 사고방식 개발- C#을 사용해 플레이어 컨트롤러와 발사체 같은 기본적인 게임 메카닉 생성- 인터페이스, 추상 클래스, 클래스 확장을 사용해 코드를 플러그형 구성 요소로 분할- 스택, 큐, 예외, 오류 처리 등과 같은 핵심 C# 개념 숙지- 텍스트, XML 및 JSON 데이터를 처리해 게임 데이터를 저장하고 로드- 게임용 인공지능의 기본 개념 이해와 적의 동작을 제어하는 방법 구현이 책의 대상 독자 프로그래밍이나 C#의 기본 사항을 다룬 적이 없는 초보자를 대상으로 하는 책이다. 하지만 다른 언어나 C#에 능숙한 전문가 수준의 독자라도 실제 유니티 게임 개발을 하는데 도움이 될 것이다.이 책의 구성 1장. ‘개발 환경 이해’에서는 유니티 설치 과정, 에디터의 주요 기능, C#과 유니티 관련 주제에 대한 문서 검색을 우선 다룬다. 또한 유니티 내부에서 C# 스크립트를 생성하는 방법을 알아보고, 모든 코드의 편집을 진행하게 될 애플리케이션인 비주얼 스튜디오를 살펴본다.2장. ‘프로그래밍의 구성 요소’에서는 프로그래밍의 최소 단위 개념을 제시하면서 변수, 메서드, 클래스의 개념을 실생활과 연관 지어 설명함으로써 이해를 돕는다. 또한 간단한 디버깅 기술, 올바른 서식 및 주석 작성, 유니티가 C# 스크립트를 컴포넌트로 변환하는 방법 등도 살펴본다.3장. ‘변수, 타입 및 메서드 살펴보기’에서는 2장에서 다룬 기본 개념을 더 깊이 살펴보고자 C# 데이터 타입, 네이밍 규칙, 액세스 한정자 등 프로그래밍 기초에 필요한 모든 것을 배운다. 또한 메서드 작성 방법, 매개변수 추가 방법, 반환 타입 사용 방법 등을 익히고, (MonoBehaviour) 클래스에 속하는 기본 유니티 메서드를 소개하면서 마무리한다.4장. ‘제어 흐름과 컬렉션 타입’에서는 if-else 문과 switch문의 코드에서 결정을 내리는 일반적인 접근 방식을 소개한다. 그 다음에는 배열, 리스트, 딕셔너리를 다룬 후, 컬렉션 타입을 순회하는 반복문을 살펴본다. 마지막으로는 조건부 반복문과 특수한 C# 데이터 타입인 열거형을 다룬다.5장. ‘클래스, 구조체 및 OOP 작업’에서는 먼저 클래스와 구조체를 생성하고 인스턴스화하는 방법을 자세히 다룬다. 이어서 생성자를 만들고, 필드와 메서드를 추가하며, 서브클래싱(subclassing) 및 상속의 기초를 익힌다. 끝으로 객체지향 프로그래밍을 포괄적으로 설명하고, C#에 어떻게 적용할지 알아본다.6장. ‘유니티 실행하기’에서는 C# 구문에서 벗어나 게임 디자인, 레벨 구축, 유니티 주요 도구 등을 살펴본다. 우선 게임 디자인 문서의 기본 개념을 다룬 후 레벨을 만들고 조명을 추가한다.7장. ‘이동, 카메라 제어 및 충돌’에서는 플레이어 오브젝트를 이동시키는 다양한 방법과 3인칭 시점 카메라의 설정 방법을 설명한다. 또한 유니티 물리(Unity physics)를 활용한 좀 더 사실적인 이동 효과의 구현, 콜라이더 컴포넌트 작업 및 씬(scene) 내에서의 상호작용 캡처를 다룬다.8장. ‘게임 메카닉 스크립팅’에서는 게임 메카닉의 개념과 효과적인 구현 방법을 소개한다. 우선 간단한 점프 동작을 추가하고, 슈팅 메카닉을 생성한 다음, 아이템 수집을 처리하는 로직을 추가해 이전 장의 코드를 빌드한다.9장. ‘기본 AI와 적의 행동’에서는 게임 인공지능의 개념과 Hero Born에 적용할 콘셉트를 간략히 살펴본다. 이 장에서는 유니티의 내비게이션, 레벨 지오메트리 및 내비게이션 메시, 스마트 에이전트, 자동화된 적의 이동을 다룬다.10장. ‘타입, 메서드 및 클래스의 재고찰’에서는 C# 언어의 다양성과 범위를 더 깊이 이해할 수 있도록 데이터 타입, 중급 메서드 기능, 복잡한 클래스에 사용할 수 있는 추가 동작을 더 자세히 살펴본다.11장. ‘스택, 큐, 해시셋’에서는 중급 컬렉션 타입과 기능을 다룬다. 따라서 스택, 큐, 해시셋 각각의 사용과 적합한 개발 시나리오를 다양하게 제시한다.12장. ‘데이터의 저장, 로드 및 직렬화’에서는 게임 정보를 처리할 수 있도록 준비하고자 파일 시스템과 파일의 생성, 삭제, 업데이트 작업을 다룬다. 또한 XML, JSON, 이진 데이터 등과 같은 다양한 데이터 유형을 살펴보고, 마지막 부분에서는 C# 객체를 데이터 포맷으로 직렬화한다.13장. ‘제네릭, 델리게이트 및 기타 사항 살펴보기’에서는 C# 언어의 중급 기능을 소개하고, 해당 기능을 실제 시나리오에 어떻게 적용할지 자세히 알아본다. 제네릭 프로그래밍의 개요를 시작으로 델리게이트, 이벤트, 예외 처리와 같은 개념을 다룬다.14장. ‘이 책을 마친 후’에서는 이 책 전반에서 다룬 주요 주제를 복습하고, C#과 유니티를 좀 더 학습할 수 있는 자료를 제공한다. 온라인 학습 자료, 자격증 정보, 저자가 추천하는 비디오 튜토리얼 채널 등이 포함된다.지은이의 말 유니티(Unity)는 아마추어뿐만 아니라 메이저 게임 개발사와 영화 제작사를 대상으로 하는 세계적으로 인기 있는 게임 엔진 중 하나다. 유니티는 3D 도구로 알려져 있지만, 2D 게임 및 가상 현실에서 포스트 프로덕션(post-production)과 크로스 플랫폼(cross-platform) 퍼블리싱 지원에 이르기까지 다양한 기능을 갖추고 있다.개발자들은 드래그 앤 드롭 인터페이스와 기본으로 제공되는 기능을 선호하지만, 유니티는 동작과 게임 메카닉을 위해 사용자 정의 C# 스크립트를 작성할 수 있다는 점에서도 매력적이다. 경력이 풍부한 프로그래머는 C# 코드를 배우는 데 큰 어려움이 없겠지만, 경험이 없는 사람에게는 결코 쉽지 않은 일이다. 이 책은 바로 그런 초심자들을 위해 쓰여졌으며, 재미있고 플레이 가능한 프로토타입을 만들면서 프로그래밍과 C# 언어의 기초를 처음부터 배우도록 해준다.옮긴이의 말 이 책을 선택한 독자라면 게임 개발에 관심이 많으실 거라 생각합니다. 아마도 게임을 플레이하면서 흥미를 느끼고 난 후, ‘나도 한번 게임을 만들어보고 싶다’라는 생각을 해보셨을 겁니다. 저 역시, 대학 시절 〈스타크래프트〉라는 게임의 매력에 빠져들었고 이후 게임 프로그래머로 첫 발을 내디뎠습니다.당시에는 게임을 개발하려면 수학적인 계산이나 복잡한 프로그래밍 기술이 필요했기 때문에 초보자가 도전하기 쉽지 않았습니다. 하지만 유니티는 물리 엔진, 애니메이션 시스템, 그래픽 라이브러리 등을 제공해 초보자도 손쉽게 접근할 수 있습니다. 이로 인해 게임 개발의 진입 장벽이 낮아졌고, 방대한 작업이 필요했던 기능도 순식간에 구현할 수 있게 됐습니다. 게다가 유니티는 크로스 플랫폼을 지원해서 플랫폼별로 개발하는 데 드는 시간과 비용을 획기적으로 줄여줍니다. 유니티가 아우르는 플랫폼에는 PC와 안드로이드(Android), iOS는 물론이고 닌텐도 스위치, 플레이스테이션, XBOX 360과 같은 콘솔용 게임 기기도 포함됩니다.만약 누군가가 저에게 “게임을 만들려면 무엇을 공부해야 할까요?”라고 묻는다면, 저는 망설임 없이 유니티부터 공부하라고 할 것입니다. 유니티는 직관적인 인터페이스, 개발의 편리성, 높은 생산성, 에셋스토어 등과 같은 장점 덕분에 가장 많이 사용되며, 초보 게임 개발자도 쉽고 빠르게 게임을 제작할 수 있는 엔진이기 때문입니다.이 책은 C# 프로그래밍 언어를 유니티 게임 엔진과 함께 배우고자 하는 초보자와 중급자를 대상으로 합니다. 예제를 따라하는 것만으로 3D 게임을 만들 수 있을 뿐만 아니라, C#과 유니티의 핵심 기술도 자연스럽게 익힐 수 있습니다. 이 책으로 독자 여러분이 C#과 유니티의 기초를 다지고, 더 나아가 실무에서 멋진 게임을 개발할 수 있는 초석을 마련하면 좋겠습니다.
|