이미 소장하고 있다면 판매해 보세요.
|
▣ 01장: 유니티 3D 소개
유니티 3D 게임 엔진의 탄생 유니티의 장점 멀티 플랫폼 지원 통합개발환경(IDE, Integrated Development Environment) 합리적인 가격 정책 빌트인 미들웨어(Built in Middleware) - 지형 엔진(Terrain Engine) - 라이트매핑(Lightmapping ? Beast) - 오클루전컬링(Occlusions Culling ? Umbra) - 3D 사운드 엔진(FMOD ?Firelight Technologies) 오픈 커뮤니티 애셋스토어(Asset Store) 유니티로 만든 게임 유니티 내려받기 - 유니티 설치 - 유니티 라이선스 옵션 선택 - 유니티 계정 생성 및 로그인 유니티 인터페이스 - 뷰(View) - 툴 바(Tool bar) - 피봇(Pivot) / 센터(Center) - 단축키 설정 ▣ 02장: 게임 개발 준비 개발할 게임 소개 및 개발 순서 새 프로젝트 생성 개발환경(IDE) 조정 Project 뷰의 체계적인 관리 캐릭터모델 임포트하기 애셋스토어(AssetStore) 계정 생성 Project 뷰에서 에셋스토어 접속 에셋스토어에서 리소스 내려받기 ▣ 03장: 게임 스테이지 제작 3D 모델 텍스처(Texture) 머티리얼(Material) 텍스처 적용 쉐이더(Shader) 프리팹(Prefab) 프리팹을 이용한 벽 만들기 조명(Light) - Directional Light - Point Light - Spot Light - Area Light 하늘표현방식(Skybox와 SkyDome) ▣ 04장: 주인공 캐릭터 제작 빈 게임오브젝트(Empty GameObject) 3D 모델 임포트 및 옵션 설정 컴포넌트(Component) 스크립트 생성 키보드 입력 값 받아들이기(Input Class) 캐릭터 이동 - Translate - Update 함수 - Translate 함수 정규화 벡터(Normalized Vector) 캐릭터 회전 - Rotate 카메라 추적 ? Follow Cam 레거시 애니메이션(Legacy Animation) 애니메이션 클립(Animation Clip) 애니메이션 컨트롤 애니메이션 블렌딩 실시간 그림자(Real Time Shadow) Projector를 이용한 그림자 Plane Mesh를 이용한 그림자 ▣ 05장: 발사체 제작 및 사운드 효과 총알 모델 준비 Rigidbody 컴포넌트 Collider 컴포넌트 - Box Collider - Sphere Collider - Capsule Collider - Mesh Collider - Wheel Collider - Terrain Collider 충돌 감지 조건 충돌 이벤트(Collision Event) Tag 활용 총알 발사 로직 총알 발사궤적 효과 만들기 파티클 활용하기 총알의 입사각 응용 폭발효과 및 폭발력 생성 랜덤하게 텍스처 적용하기 사운드 ? AudioSource, AudioListener 총구 화염 효과 ? Muzzle Flash ▣ 06장: 적 캐릭터 제작 메카님(Mecanim) 몬스터3D 모델 임포트 메카님 애니메이션으로 전환 애니메이터 컨트롤러(Animator Controller) - 애니메이션 스테이트 전이(Transition) 몬스터 추적 루틴(Navigation Mesh) - 내비게이션 설정 및 베이크 - Nav Mesh Agent - 인공지능(AI) 구현 몬스터 공격 루틴 몬스터 피격 리액션(Reaction) 혈흔 효과(Blood Effect) 데칼(Decal) ? 바닥에 흩뿌려지는 혈흔 효과 몬스터 공격 능력 부여 특정 레이어 간의 충돌 감지 메카님 캐릭터의 본(Bone) 구조 최적화 몬스터 공격 중지 - Tag 몬스터 공격 중지 - Delegate, Event 몬스터 사망 처리 ▣ 07장: 유니티 UI Canvas 객체 - EventSystem 객체 - Canvas 컴포넌트 Rect Transform 컴포넌트 - 앵커프리셋(Anchor Presets) - anchoredPosition 속성 - 앵커(Anchors) 속성 Image 컴포넌트 - Simple - Sliced - Tiled - Filed RawImage 컴포넌트 Button 컴포넌트 - Transition 속성 - Navigation - Button Event Text 컴포넌트 - Text Effects Scroll Rect 컴포넌트 - Content 속성 - Mask 컴포넌트 스코어 UI 구현 - PlayerPrefs를 활용한 스코어 저장 생명 게이지 구현(Health Bar) ▣ 08장: 게임 매니저 구현 몬스터 출현 로직(Spawn Point) 게임 매니저에 접근하는 방법 오브젝트 풀(Object Pool) 공용 함수 - 사운드 처리 ▣ 09장: 레이캐스트 활용 레이캐스트 드럼통 폭발 레이저 빔 구현 ▣ 10장: 라이트맵핑과 라이트 프로브 라이트매핑 라이트 프로브(Light Probe) ▣ 11장: Scene 분리 및 병합 Scene 분리 Scene 병합 Scene AssetBundle 제작 Scene Streaming Download 구현 ▣ 12장: 네트워크 게임 네트워크 게임의 정의 네트워크 게임의 물리적 구조 - P2P(Peer to Peer) 방식 - 클라이언트/서버 방식 네트워크 통신 프로토콜 - TCP/IP - UDP 유니티 Built in Network - Network View - 상태 동기화(State Synchronization) - 원격 프로시저 호출 유니티 네트워크 게임의 절차 - 게임 서버 초기화 - Peer의 게임 접속 - Peer 간의 통신 네트워크 버전 개발 - 프로젝트 생성 및 초기화 - 스테이지 제작 - 플레이어 제작 - Character Controller 이동 로직 - 네트워크 매니저 생성 - 실행파일 빌드 - 접속 네트워크 사용자 수 확인 - 네트워크 플레이어 제작 - 카메라 추적 로직 - 부드러운 동기화 처리(OnSerializeNetworkView) - 발사 루틴(RPC 호출) - 애니메이션 동기화 - 총알의 충돌체크 - 사망 및 리스폰(Respawn) 처리 - 접속종료 처리 ▣ 13장: 포톤클라우드를 활용한 네트워크 게임 유니티 차세대 네트워크 게임모듈 - uNet 서드파티 네트워크 게임엔진 포톤네트워크 게임엔진 - 포톤 서버 vs. 포톤 클라우드 - 회원가입 탱크 대전게임 제작 - 탱크 이동 로직 - 무한궤도 애니메이션 - 충돌 감지를 위한 Collider 설정 - 카메라 추적 로직 및 카메라 피봇 위치 설정 - 터렛 회전 - 포신 각도 조절 - 포탄 프리팹 생성 및 발사 로직 - 포탄 발사 효과음 Photon Unity Networking 플러그인 설치 탱크게임을 포톤 클라우드 버전으로 변경하기 - 포톤 클라우드 접속 - 랜덤 매치 메이킹 - 룸 만들기 - Photon View - 탱크 동적 생성 - 빌드 및 접속 테스트 - 자신의 탱크 컨트롤 - 부드러운 이동 및 회전 처리(OnPhotonSerializeView) - 터렛과 포신의 동기화 - 포탄 발사 - 탱크 피격 및 리스폰(Respawn) 로비 제작 - 로비 씬 제작 - 로그인 UI 제작 - 게임 룸으로 입장 - 탱크 HUD 제작 - 룸 만들어 입장하기 - 룸 목록 UI 구현 - 룸 목록 받아오기 - 버튼 이벤트 동적 연결 베틀 필드 세부 기능 - 접속 플레이어 표시하기 - 룸 나가기 - 접속 로그 표시 - 이벤트 훅 스코어 판별 및 표시 기능 유니티에서 데이터베이스 연결하기 - JSON - SimpleJSON - 스코어 정보 데이터베이스 저장 - 랭킹 정보를 데이터베이스에서 수신 ▣ 14장: 실감 나는 게임 구현을 위한 유용한 기능 래그돌(랙돌, Ragdoll) - 프로젝트 생성 및 리소스 내려받기 - 스테이지 제작 - 3D 모델의 래그돌 생성 스크린 터치 - ScreenPointToRay 함수 - Touch 클래스 - 유니티 리모트 4 터치로 이동하기 ▣ 부록A: 데이터베이스 데이터베이스와 데이터베이스 관리 시스템(DBMS) 데이터베이스 서버 DBMS의 데이터 관리 테이블 컬럼과 로우 SQL - CREATE TABLE - INSERT - UPDATE - DELETE - SELECT ▣ 부록B: 유니티 5 소개 물리 기반 쉐이딩(Physically based shading) 글로벌 일루미네이션(Global Illumination) 실시간 라이트맵 프리뷰(Real-time Lightmap Reviews) 새로운 오디오 시스템 도입 WebGL 기반 웹 퍼블리싱 유니티 클라우드(Unity Cloud) 프레임 디버거(Frame Debugger) 메카님 스테이트머신(Mecanim StateMachine) 개선 스피드트리(SpeedTree) 미들웨어 탑재 기타 추가 기능 새로운 유니티 5 초기 화면 |
|
유니티는 현재 가장 각광받고 있는 게임 개발 엔진으로, 국내외를 막론하고 출시되는 많은 모바일 게임이 유니티로 개발되는 추세다. 이러한 유니티의 인기와 더불어 여러 관련 서적이 출간되고 인터넷 블로그를 통해 유니티를 다루는 글도 나날이 풍부해지고 있다. 하지만 관련 서적을 많이 읽고 블로그 글을 열심히 읽었더라도 유니티 입문자가 막상 게임 개발을 어떻게 시작해야 할지 힘들어 하는 경우가 많다.
이 책에서는 유니티를 이용한 게임 개발에 필요한 기능을 먼저 학습한 후 진행하는 방식이 아닌, 게임을 만들어 나가면서 필요한 기능을 알아보고 직접 구현하는 방식으로 진행한다. 유니티에 내장된 네트워크 API를 이용해 네트워크 대전게임을 직접 만들어 보고, 단순히 맛보기용 게임이 아닌 네트워크 게임을 개발하기 위한 기법을 충실히 소개한다. 또한 가장 인기 있는 서드파티 네트워크 게임 엔진인 포톤 클라우드를 활용한 PvP 탱크대전 게임도 개발해 본다. 이는 포톤 클라우드 이외의 다른 네트워크 게임엔진을 활용하는 데 크게 도움이 될 것이다. 더불어 이 책은 유니티 4.6, 유니티 5에 탑재된 새로운 유니티 UI에 대해 소개한다. 기존의 불편했던 UI 구현을 새로운 유니티 UI를 활용해 편리하게 개발할 수 있게 되었으며 이 책에서 제작하는 게임의 UI도 유니티 UI를 활용해 구현한다. 이 책을 끝까지 읽고 따라 하다 보면 어느새 게임 개발에 필요한 각종 지식을 습득하게 될 것이다. ★ 이 책에서 다루는 내용 ★ ◎ 유니티 설치 및 인터페이스 소개 ◎ 게임 스테이지 제작 ◎ 레거시 애니메이션 및 메카님 애니메이션 ◎ 적 캐릭터(NPC)의 유한상태머신(FSM; Finite State Machine) 구현 ◎ 내비게이션 메쉬를 이용한 적 캐릭터 추적 기능 ◎ 현실적인 폭발 효과 및 Muzzle Flash 구현 ◎ 실시간 그림자와 모바일용 그림자 처리 ◎ 레이캐스트(Raycast)을 응용한 발사 처리 ◎ 새로운 UI 시스템인 유니티 UI 소개 및 게임 인터페이스 구현 ◎ 게임매니저 구현 ◎ 오브젝트 풀링 기법을 통한 성능 향상 기법 ◎ 라이트맵핑 및 라이트프로브 소개 ◎ Scene 에셋번들의 스트리밍 다운로드 ◎ 유니티에 내장된 네트워크 API를 활용한 대전게임 제작 ◎ 포톤 클라우드 네트워크 게임 엔진을 활용한 PvP 탱크 대전게임 제작 ◎ JSON을 활용한 DB 저장 기법 소개 ◎ 래그돌(Ragdoll) 제작 및 활용 ◎ 모바일 스크린 터치 후 이동 로직 구현 |