C# 스크립트를 활용한 유니티 6 개발 - 게임 개발 프로그래밍

C# 스크립트를 활용한 유니티 6 개발 - 게임 개발 프로그래밍

$42.00
저자

렘애퍼슨

저자:렘애퍼슨(LemAperson)
유니티와C#프로그래밍분야에서풍부한경험을갖춘숙련된게임개발자다.올드도미니언대학교(OldDominionUniversity),윌리엄앤매리대학(CollegeofWilliamandMary),피닉스대학교-실리콘밸리(UniversityofPhoenix-SiliconValley)등다양한교육기관에서학습하며실력을다졌다.인디게임에서부터대규모프로젝트에이르기까지다양한분야의프로젝트에참여했으며,예비개발자들이실력을향상시킬수있도록수많은기술관련글과튜토리얼을집필해왔다.교육과지식공유를추구하는그의열정은게임개발커뮤니티에활발히기여해온지금까지의노력에서쉽게엿볼수있다.

역자:장세윤
상용게임엔진회사에서기술지원,엔진기술홍보,기술문서번역등의업무를진행했다.프리랜서로전향한이후,엔씨소프트,넥슨,네오플,골프존,현대자동차등다양한기업및대학교,게임교육학원에서유니티엔진과언리얼엔진을활용한강의를진행했다.현재는프리랜서강사,개발자,기술서적번역가,저자로활동하며게임개발과엔진활용의지식을널리알리고있다.

목차

1부―기본개념
1장.유니티와C#시작하기-게임오브젝트및컴포넌트
__기술적요구사항
__유니티인터페이스개요
____유니티설치하기
____장기지원버전과명명규칙이해하기
__유니티에디터살펴보기
____유니티에디터자세히살펴보기
__C#스크립트생성하기
__C#기본개념
____창의적인게임개발을위한C#데이터타입활용하기
____클래스살펴보기
__요약

2장.첫번째유니티프로젝트만들기-씬및애셋마스터하기
__유니티에서새프로젝트생성하기
____유니티프로젝트개요
____프로젝트생성을위한단계별가이드
____프로젝트설정및구성개요
__유니티에디터인터페이스살펴보기
____유니티에디터의레이아웃이해하기
____뷰/창살펴보기(씬,게임,하이어라키,프로젝트,인스펙터)
____씬뷰
____게임뷰
____하이어라키창
____프로젝트창
____인스펙터창
____작업공간맞춤설정
__애셋임포트및관리
____애셋임포트기초
____폴더와명명규칙을활용한애셋정리
____애셋관리모범사례(효율성및정리)
__게임오브젝트조작기초
____게임오브젝트및컴포넌트소개
____기본2D/3D오브젝트생성및구성
____물체변환(위치,회전,스케일)
____프리팹-재사용가능한애셋의생성및활용
__첫번째씬준비하기
____씬환경설정하기
____씬과기본레이아웃에오브젝트추가하기
____씬조명및카메라설정
__요약

3장.유니티에서의C#기초-변수,루프,문제해결기법
__기술적요구사항
__C#구문개요
____C#프로그램의기본구조
____클래스수준변수와메서드변수의차이점
__변수와데이터타입
____변수와데이터타입이해하기
____C#의메모리관리-스택과힙
____기본타입
____구조체-사용자정의값타입
____열거형
____클래스-사용자정의참조타입
____문자열-연속된문자
____배열-단일타입을가진항목들의집합
____델리게이트-메서드에대한참조
__C#의제어문
____제어문소개
____루프구조
____점프구문
____모범사례
__기본함수작성하기
____C#함수소개
____함수매개변수와반환타입-매개변수에대한자세한설명
____반환타입살펴보기
____함수오버로딩
__유니티전용함수살펴보기
____모범사례
__C#스크립트디버깅하기
____유니티의디버깅소개
____유니티콘솔창이해하기
____유니티스크립트의일반적인오류
____디버깅기법
____모범사례
__요약

4장.유니티스크립트구조살펴보기
__기술적요구사항
____하드웨어요구사항
____소프트웨어요구사항
__MonoBehaviour이해하기
____MonoBehaviour이해하기-유니티스크립팅의핵심
____게임오브젝트동작을정의하기위해MonoBehaviour스크립트연결하기
____일반적인MonoBehaviour메서드살펴보기
__유니티의수명주기및이벤트순서살펴보기
____유니티의초기화메서드살펴보기
____유니티의게임루프이해하기
____유니티의정리주기살펴보기
__사용자입력에반응하기
____유니티입력시스템소개
____움직임제작하기-기본적인플레이어이동기능만들기
____호환성향상시키기-터치및마우스입력통합하기
____효율적인처리와코드최적화를위한전략
__스크립트통신
____스크립트간상호작용-게임설계에필수요소
____스크립트연결하기-public변수및접근자활용
____유니티의SendMessage와BroadcastMessage마스터하기
____유니티스크립트에이벤트와델리게이트활용하기
____싱글톤패턴활용하기
__요약

2부―중급개념
5장.유니티API마스터하기-물리,충돌,환경상호작용기법
__기술적요구사항
__게임컴포넌트에접근하기
____유니티의API와컴포넌트시스템소개
____Transform및Renderer컴포넌트활용하기
____API사용을위한모범사례
__물리및충돌활용하기
____유니티의물리엔진소개
____물리기반상호작용
____레이캐스팅을활용한고급충돌감지
____물리및충돌관리를위한모범사례
__게임씬및환경관리하기
____유니티의씬관리소개
____씬전환제어하기
____환경설정조정하기
____씬및환경의최적화를위한모범사례
__고급API기능
____유니티의고급API기능살펴보기
____정교한게임기능구현하기
____고급개발을위한모범사례
__요약

6장.유니티의자료구조-배열,리스트,딕셔너리,해시셋,게임로직
__기술적요구사항
____하드웨어요구사항
____소프트웨어요구사항
__배열과리스트이해하기
____배열소개
____리스트소개
____유니티에서리스트와배열의실제활용사례
__딕셔너리와해시셋살펴보기
____딕셔너리소개
____해시셋소개
____딕셔너리와해시셋비교하기
____고급팁및기법
__유니티의사용자정의자료구조
__게임로직을위한자료구조
____게임로직및자료구조의기본
____게임개발의고급데이터관리
____유니티에서의자료구조최적화및통합
__요약

7장.상호작용형UI요소설계하기-유니티에서의메뉴및플레이어상호작용
__기술적요구사항
__유니티에서UI요소설계하기
____UI컴포넌트기본
____스타일과테마
____반응형디자인
__플레이어입력스크립트작성
____입력방법개요
__동적인메뉴제작하기
____메뉴디자인원칙
____메뉴기능구현하기
____메뉴의상호작용요소
__게임오브젝트를활용한커스텀상호작용
____커스텀상호작용정의하기
____상호작용메커니즘스크립트작성
____커스텀상호작용의예
__요약

8장.유니티게임개발의물리및애니메이션마스터하기
__기술적요구사항
____하드웨어요구사항
____소프트웨어요구사항
__유니티물리의핵심개념
____물리컴포넌트이해하기
____힘,중력,충격살펴보기
____물리머티리얼과마찰력
____충돌감지및반응
__게임캐릭터애니메이션
____Animator컴포넌트소개
____애니메이션트랜지션과파라미터
____외부애니메이션의임포트및활용
____기본애니메이션을생성하고플레이어입력에연결하기
__환경상호작용
____물리기반캐릭터상호작용
____환경상호작용요소
____동적환경반응
__고급애니메이션기법
____IK마스터하기
____자연스러운애니메이션을위한블렌드트리활용하기
____복잡한동작을위한애니메이션레이어활용하기
____물리기능과애니메이션의동기화
__요약

3부―고급게임개발
9장.유니티의고급스크립팅기법-Async,클라우드연동,이벤트,최적화
__기술적요구사항
__비동기프로그래밍과코루틴
____비동기프로그래밍의소개
____복잡한비동기작업에코루틴활용하기
__유니티에서코루틴이해하기
____유니티코루틴의실용적인예제
____코루틴을구현할때마주할수있는일반적인문제와이를해결하는모범사례
__고급데이터관리
____게임개발에사용되는자료구조의개요
____유니티에서고급자료구조구현하기
____게임저장을위한직렬화및역직렬화
____성능을위한데이터관리최적화
__커스템이벤트시스템제작하기
____C#의이벤트와델리게이트에대한개요
____유니티에서커스텀이벤트시스템설계하기
____게임개발에서커스텀이벤트시스템의실제적용사례및예제
____유니티에서이벤트시스템을설계하고사용할때의모범사례와일반적으로저지르는실수
__스크립트최적화기술
____병목현상프로파일링및식별
____게임스크립트최적화
____메모리관리및최소화
____스크립트최적화를위한모범사례
__요약

10장.유니티에서인공지능구현하기
__기술적요구사항
__게임에서AI의역할소개
____게임개발에서대규모언어모델과행동트리비교하기
____AI를활용한게임플레이향상시키기
__유니티의AI지원소개
__경로탐색구현하기
____경로탐색알고리듬기초
____유니티의경로탐색도구-NavMesh와그외의도구
____유니티씬에서기본NavMesh설정하기
____실제경로탐색예제및성능고려사항
__AI의사결정
____AI의사결정프레임워크개요
____유니티에서의사결정모델구현하기
____유니티에서AI를설계하고구현하기위한모범사례와최적화전략
__NPC를위한행동AI
____행동트리를활용한복잡한행동개발하기
____고급AI기법의도입
____성능과몰입을위한모범사례
__요약

11장.멀티플레이어및네트워킹-매치메이킹,보안,상호작용형게임플레이
__기술적요구사항
__유니티네트워킹의기초
____유니티네크워킹소개
____유니티네트워킹API와도구
____멀티플레이어게임아키텍처
__멀티플레이어로비제작하기
____로비디자인원칙
____로비기능구현하기
____고급로비기능및UI통합
__게임상태동기화
____상태동기화방법
____네트워크를통한사용자입력처리
____움직임예측및보간
____상태동기화를위한유니티도구
__네트워크지연및보안처리
____지연최소화및보정기법
____멀티플레이어게임에대한보안조치
____안전하고반응성이뛰어난네트워크게임환경보장하기
__요약

12장.유니티에서게임성능최적화하기-프로파일링및분석기법
__기술적요구사항
__프로파일링및병목현상식별
____유니티의프로파일링도구소개
____프로파일링기법과병목현상식별방법살펴보기
____프로파일링데이터해석및조치
__유니티의메모리관리
____유니티메모리사용의이해
____가비지컬렉션의영향최소화하기
____실용적인메

출판사 서평

◈이책에서다루는내용◈

◆유니티씬에서게임오브젝트를생성하고수정하며상호작용하는방법
◆C#을활용해게임로직과게임메카닉을구현하는다양한기법
◆애셋번들을활용한효율적인게임애셋관리
◆사용자경험을향상시키는몰입감있고직관적인사용자인터페이스구현
◆유니티에서2D및3D게임을모두개발하는데필요한전략
◆C#스크립트를디버깅하고게임성능을최적화하는기술
◆유니티의네트워킹기능을활용한멀티플레이어기능구현

◈이책의대상독자◈

유니티를활용한게임개발에관심있는모든사람을대상으로하는책이다.따라서유니티를처음시작하는입문자뿐아니라기존실력을한층더발전시키려는사람에게도매우유용한내용을다룬다.주요대상독자층을소개하면다음과같다.

◆게임개발자지망생:이책은게임개발을처음접하고유니티와C#을활용해자신만의게임을제작하는방법을배우려는독자를위해유니티의핵심기능과스크립팅에대한탄탄한기초를제공함으로써게임개발여정을시작하는데도움을줄것이다.
◆경험있는개발자:이미유니티또는게임개발에대한경험이있고기술을향상시키길
원하는개발자에게많은이점을제공한다.최적화,네트워킹,AI등의고급주제와기술을다루며프로젝트를한단계더발전시키는데도움을줄것이다.
◆학생및교육자:게임개발을공부하거나가르치는교육현장의학생및교육자에게적합하다.이책은유니티와C#을체계적으로배울수있도록구성돼있으며,강의를하거나스스로학습하기에유용한자료가될것이다.
◆취미개발자및인디개발자:개인또는소규모팀으로프로수준의게임을제작하려는
인디개발자와취미개발자에게도알맞다.이책은실용적인통찰과모범사례를제공해여러분이흔히겪는어려움을극복하고프로젝트를성공적으로이끄는데도움을준다.

◈지은이의말◈

이책을선택한여러분을환영한다.게임개발은지금껏크게발전해왔으며,유니티는선두에서이런혁신을주도하고있다.유니티는취미개발자,인디개발자,대형개발사소속개발자등모두에게다양한플랫폼에서고성능의멋진게임을개발할수있는도구와유연성을제공한다.

유니티는강력한게임엔진으로,많은개발자가선택하고있으며다양한기능을제공한다.이책은복잡한게임개발의여정을헤쳐나가는데도움을주기위해제작됐으며,유니티의다양한도구및시스템을이해할수있는가이드를제공한다.

◈옮긴이의말◈

이책은유니티6와C#스크립팅을활용해게임과VR/AR콘텐츠개발을단계적으로익힐수있는입문서다.유니티6는렌더링성능및UI시스템이개선되고,멀티플레이어기능과XR·멀티플랫폼지원이강화됐다.이책은이런기능들을중심으로유니티환경에서C#스크립트를작성하고응용하는방법을체계적으로다룬다.

1장부터4장까지는유니티에디터의구성과게임오브젝트,컴포넌트,씬,애셋관리등유니티의기본개념을설명한다.또한C#의기초문법과유니티스크립트의수명주기를함께다루며엔진의구조와스크립트가상호작용하는방식을이해할수있도록돕는다.

5장부터8장까지는앞서배운개념을바탕으로실제게임기능을구현하는데필요한다양한실습예제를소개한다.충돌감지와물리엔진,배열과리스트,딕셔너리등의자료구조,사용자입력처리,UI구성,애니메이션시스템등을C#코드로직접다뤄보며유니티의핵심시스템을익힐수있다.

9장부터12장까지는한단계더나아가고급스크립팅기법과시스템설계를살펴본다.이벤트시스템과비동기처리,인공지능구현,멀티플레이어네트워킹,성능최적화와프로파일링등의고급주제를다루며,각장의예제는실제프로젝트로확장할수있도록구성돼있다.

13장부터16장까지는XR콘텐츠제작과크로스플랫폼개발,프로젝트빌드및배포,수익화과정을다룬다.이를통해유니티6가제공하는최신기술과워크플로를실제개발환경에서활용하는과정을살펴볼수있다.

이책은완성된하나의게임을제작하는데초점을두기보다는각장을통해유니티의핵심개념과스크립팅기능을작은단위로학습할수있도록구성돼있다.또한유니티의전체적인기능을소개하고있으므로,유니티로개발을시작하려는개발지망생들과유니티의다양한기능을참고하려는기존개발자들에게도많은도움이될것으로생각한다.

번역을진행하면서문장하나하나마다저자의의도를정확히파악하려고많은노력을기울였지만,의도를제대로파악하지못하거나잘못번역된내용이있을지도모르겠다.잘못된부분에대한지적을포함해책에관련된어떠한의견이라도소중히여겨서오류를바로잡고더좋은책으로만들어가는데충실히반영할것을약속한다.