이미 소장하고 있다면 판매해 보세요.
|
1장 유니티 소개
___1.1 유니티 3D 역사 ___1.2 기능 둘러보기 ______통합 인터페이스 ______멀티 플랫폼 지원 ______통합 에셋 시스템 ______현실감 있는 렌더링 시스템 ______셰이더 시스템 ______지형 생성 기능 ______오디오 기능 ______애니메이션 기능 ______파티클 시스템 ______물리 엔진 기능 ______프로그래밍 기능 ______2D 게임 제작 ______최적화를 위한 기능 ___1.3 유니티 3.5 버전 기능 ______플래시 플랫폼 지원 ______실시간 렌더링을 위한 핵심 기능 추가 ______실시간 렌더링의 최적화 ______자동 길 찾기 시스템 ______새로운 파티클 이펙트 시스템 ______기타 추가 기능 리스트 ___1.4 설치 ___1.5 간단한 실습 ___1.6 시작하기 ___1.7 정리 2장 유니티 인터페이스 ___2.1 인터페이스 개요 ______뷰 레이아웃 ______물체의 생성 ______빛의 추가 ______뷰와 관련된 기타 기능 ___2.2 씬 뷰 ______씬 뷰의 조작 ______씬 기즈모 ______트랜스폼 툴 ___2.3 계층 뷰 ___2.4 프로젝트 뷰 ___2.5 인스펙터 뷰 ___2.6 게임 뷰 ___2.7 스내핑 ______스냅 기능 ______정점 스냅 기능 ______뷰로 이동 기능 ___2.8 프로젝트 구조 ______씬 ______에셋 ______디렉토리 구조 ___2.9 패키지 ______패키지 불러오기 ______패키지 내보내기 ______유니티 기본 패키지 ___2.10 프리팹 ______프리팹 예제 실습 ______프리팹에 연결된 게임 오브젝트 ___2.11 정리 3장 지형 시스템 ___3.1 지형 시스템의 이해 ___3.2 높낮이 설정 ___3.3 텍스처 설정 ___3.4 나무 배치 ___3.5 풀밭 조성 ___3.6 기타 설정 ______Base Terrain 설정 ______Tree & Detail Object 설정 ______Wind 설정 ___3.7 불러들이기/내보내기 ___3.8 환경 컴포넌트 ______안개 ______스카이박스 ______물 패키지 ______플레어/ 헤일로 효과 ______프로젝터 ___3.9 1인칭 컨트롤러 사용 ______1인칭 컨트롤러의 동작원리 ___3.10 3인칭 컨트롤러 사용 ______3인칭 컨트롤러의 동작원리 ___3.11 정리 4장 렌더링 시스템 ___4.1 렌더링 프로세스 ___4.2 메쉬 ___4.3 모델링 불러오기 ______정점 데이터의 증가 ______유니티 권장 에셋 형식 ______유니티 3차원 좌표계 ______유니티 스케일 ______유니티를 위한 노멀 구성 ___4.4 재질 ______셰이더 제작 ______셰이더 속성 ___4.5 텍스처 ______텍스처 불러오기 ______텍스처 조정 ______UV 좌표계 ______큐브맵 텍스처 ______렌더 텍스처 ______절차적 텍스처 ___4.6 물체의 렌더링 ___4.7 카메라 ___4.8 라이트 ___4.9 그림자 ___4.10 정리 5장 셰이더 ___5.1 유니티 셰이더 시스템 ______셰이더 ___5.2 유니티 내장 셰이더 ______내장 셰이더 규칙 ______내장 셰이더 사용 ______디퓨즈 셰이더 ______스페큘러 셰이더 ______범프드 셰이더 ______트랜스패런트 셰이더 ______트랜스패런트 컷아웃 셰이더 ______셀프일루민 셰이더 ______리플렉티브 셰이더 ______버텍스릿 셰이더 ______언릿 셰이더 ______디캘 셰이더 ___5.3 SSE 사용 ______SSE 설치 ______SSE 시스템 구성 ______SSE 사용법 ______픽셀 그래프 마스터 노드 ______셰이더 제작 ___5.4 SSE 활용 ______범프드 기능 추가 ______하이라이트 기능 추가 ______셀프일루민 기능 추가 ______리플렉티브 기능 추가 ______디캘 기능 추가 ______림라이팅 기능 추가 ___5.5 셰이더랩 ______서브셰이더 ______태그 ______패스 ______유니티 셰이더 프로그램 ______고정 함수 프로그램 예제 분석 ___5.6 정리 6장 물리 시스템 ___6.1 물리 엔진의 구성요소 ___6.2 리지드바디 ___6.3 충돌체 ______메쉬 충돌체 ___6.4 물리 재질 ___6.5 간단한 시뮬레이션 ___6.6 자동차 시뮬레이션 ___6.7 조인트 ______힌지 조인트 ______고정 조인트 ______스프링 조인트 ______캐릭터 조인트 ______설정 조인트 ___6.8 기타 구성요소 ______랙돌 ______천 ______환경설정 ___6.9 정리 7장 프로그래밍 ___7.1 프로그래밍 시스템 ______프레임 함수 ______이벤트 함수 ______콘솔 뷰 ______개발 환경 설정 ___7.2 스프라이트 컴포넌트 ___7.3 씬 설정 ___7.4 입력 프로그래밍 ___7.5 물리 프로그래밍 ___7.6 최종 프로그램 제작 ___7.7 정리 8장 애니메이션 ___8.1 2D 애니메이션 ___8.2 애니메이션 이징 ___8.3 유니티 애니메이션 시스템 ___8.4 스키닝 애니메이션 ___8.5 애니메이션 결합 ___8.6 FBX로 애니메이션 불러오기 ___8.7 정리 9장 이펙트 ___9.1 라이트매핑 ______라이트매핑 인터페이스 ______게임 오브젝트 설정 ______라이트매핑 설정 ______라이트매핑 제작과 보정 ______듀얼 라쳀트매핑 ___9.2 포스트 이펙트 ______안티엘리어싱 ______블룸 ______피사계심도 ______경계선 탐지 ______모션 블러 ______SSAO ______Sun Shaft 효과 ___9.3 파티클 이펙트 ______파티클 이미터 ______파티클 애니메이터 ______파티클 렌더러 ______파티클 충돌체 ___9.4 사운드 이펙트 ______유니티 사운드 구성요소 ______오디오 임포터 ______사운드 효과 ___9.5 정리 10장 최적화 ___10.1 게임 프로세스 ___10.2 프로파일러 ______CPU 사용량 영역 ______GPU 사용량 영역 ______렌더링 영역 ______메모리 영역 ______오디오 영역 ______물리 영역 ______내장 프로파일러 ______원격 접속 프로파일링 ___10.3 컬링 ______프러스텀 컬링 ______레이어별 차단 거리 설정 ______오클루전 컬링 ______오클루전 영역 설정 ______오클루전 컬링 데이터 제작 ______최종 결과 시뮬레이션 ___10.4 드로우콜 ______텍스처 아틀라스 ___10.5 배칭 ___10.6 에셋 최적화 ______텍스처 이미지 ______오버드로우 ___10.7 물리 엔진 최적화 ______물리 엔진을 꼭 사용해야 하는가? ______FixedUpdate 함수 사용 ______충돌체 설정 ______충돌체의 이동 ______Maximum Allowed Timestep 조절 ______Solver Iteration Count 조절 ______Sleep 조절 ___10.8 프로그래밍 최적화 ______자바스크립트와 C# ______유니티 라이브러리 사용 시 주의사항 ______프리팹 생성 ______코루틴 ______박싱/언박싱 ______배열 관리 ______반복 시에 유용한 프로그래밍 팁 ___10.9 정리 11장 배포 ___11.1 빌드 시스템 ______플랫폼 변경 ______빌드 설정 ______프로그램 제작 ___11.2 윈도우/맥 배포 ___11.3 웹 배포 ______스트리밍 기능 ______보안 샌드박스 ______웹 브라우저와의 연동 ___11.4 iOS 배포 ______최종 프로그램 크기 ___11.5 안드로이드 배포 ______안드로이드 개발 준비 ______빌드 설정 ______안드로이드 확장 개발 ___11.6 정리 |
이득우의 다른 상품
|
유니티를 접하게 된 건 3년 전쯤 아직 국내에 아이폰이 도입되지 않은 시절, 해외에서는 이런 프로그램도 사용해 아이폰 게임을 개발하고 있더라는 소문을 들으면서였습니다. 그때는 지나가는 트렌드로 가볍게 훑어봤지만, 이후 윈도우와 맥에서 쉽게 3D 게임을 제작하는 방법을 고민하게 되면서 다시금 유니티를 자세히 살펴보게 됐고, 멀티 플랫폼 기능과 인터페이스, 확장성 등이 제가 원하던 방식으로 구축되어 있어 적지않이 놀랐던 기억이 납니다. 이후 저는 향후 유니티가 게임 개발의 방법을 변화시킬 것으로 예상하고, 다니던 회사를 나와 학교에서 유니티를 활용하는 과제를 수행하면서 유니티의 다양한 활용 방법을 연구했습니다.
유니티는 자세한 매뉴얼과 커뮤니티 사이트, 게임 개발자 오픈 마켓 등 개발에 필요한 다양한 리소스를 많이 구비해놓았습니다. 일반인이 쉽게 접하는 유니티 책은 시스템에 대한 이해보다는 게임을 쉽게 만드는 방법에 대해서만 설명되어 있는 현실을 안타깝게 생각해, 작년에 진행한 전문 교육 과정의 내용을 기반으로 책을 쓰게 됐습니다. 한 번도 책을 집필해본 적이 없는 초보 저술가가 실무진에게 참고가 되면서 학생들도 쉽게 익힐 수 있는 책이라는 두 가지 목표를 설정하고 진행하다 보니 애초에 생각했던 일정보다 너무 늦어졌지만, 최종 원고에 대한 학생들과 실무진의 반응을 보면서 이 책이 향후 유니티를 통한 새로운 방식의 게임 개발에 보탬이 되리라 생각하면 저절로 마음 한편이 뿌듯해집니다. 이 책에서는 초반의 프로그램 설치와 인터페이스 같은 기초 사용법에서부터 시작해, 중반부까지는 프로그래밍을 몰라도 전반적인 유니티의 기능을 이해할 수 있도록 예제와 이론적인 배경을 설명하는 데 집중했습니다. 후반부에는 실무진에게 도움이 될 수 있도록 내부 구조에서부터 유니티 매뉴얼에서도 다루지 않는 프로세스를 최대한 정리함과 동시에, 유니티 공식 세미나에서 발표된 내용을 참고로 개발자라면 반드시 알아야 하는 최적화 방법에 관련된 내용도 다뤘습니다. 예제에 사용된 프로그래밍 코드는 다른 책들과는 달리 프로그래머들이 많이 사용하는 C#을 기반으로 제작했지만, 프로그래밍에 익숙하지 않은 독자를 위해 자바스크립트 버전도 별도로 준비해 부록 DVD에 함께 수록했습니다. 다만 책이 완료됐을 쯤에 3.5 버전이 출시되는 바람에 이에 대한 내용을 자세히 다루지 못하고, 간략한 기능 소개로 그치게 되어 많이 아쉽게 생각합니다. 앞으로 이를 위해 책에서 다루지 못한 부족한 부분을 틈틈이 올려보고자, 새롭게 개인 블로그(http://unitystudy.net)를 개설했으니 많은 의견과 격려를 부탁드립니다. ---저자 서문 중에서 |
|
유니티 공인 에반젤리스트이자 Recognized Instructor인 저자가 일반인도 쉽게 이해할 수 있도록 편안한 문체와 다이어그램을 통해 유니티의 모든 기능을 설명했다. 또한 전문적인 게임 개발에 쓰이는 각 컴포넌트의 세부적인 기능을 직접 테스트하고 이에 대한 활용법을 기술했다.
[부록 DVD 수록] ■ 이 책에 실린 C# 기반의 예제 소스코드 수록 ■ 자바스크립트 사용자를 위한 자바스크립트 소스코드 수록 ■ 유니티코리아(unity3dkorea.com) 제공 자료 - 윈도우용/맥용 유니티 3.5 무료 버전 - 유니티 게임 프로모션 영상 - 캐릭터 애니메이션 기능 프리뷰 영상 ★ 이 책에서 다루는 내용 ★ ■ 기본 인터페이스 사용법과 실무에서 반드시 알아야 할 필수 기능 ■ 판타지 세계의 창조, 환경 설정, 탐험 ■ 컴퓨터 그래픽스 이론에 기반을 둔 유니티 렌더링 시스템 설명 ■ 일반인들도 쉽게 따라할 수 있는 노드 방식의 고급 셰이더 제작 ■ 물리 엔진의 기초와 조인트, 휠, 천을 활용한 고급 기능 ■ 사용자 컴포넌트 제작과 앵그리버드 유형의 2D 게임 제작 기법 ■ 유니티의 다양한 애니메이션 기능과 활용법 ■ 게임의 결과물을 향상시키기 위한 전문적인 이펙트 기능 ■ 상용 게임 제작을 위해 반드시 알아야 할 최적화 기법 ■ 멀티 플랫폼 빌드 과정과 플랫폼별 세부 기능에 대한 이해 ★ 이 책의 독자 대상과 활용 ★ 국내에서도 몇몇 유니티 서적이 출간됐지만, 대부분 번역서로 국내 사용자의 요구사항을 충족하지 못하거나, 프로그래밍에 익숙한 사용자를 대상으로 하여 초보자가 이해하기에는 난해한 점이 많다. 또한 유니티의 다양한 기능을 전반적으로 소개하기보다는 특정 장르의 게임 제작에 치우친 감이 없지 않으며, 실전에서 고려해야 할 여러 가지 부족한 부분이 아쉽다고 생각한다. 이 책은 이렇게 프로그래밍에 익숙하지 않은 학생이나 일반인이 유니티를 전반적으로 이해하는 데 도움을 주고자 기획됐다. 이 책의 독자는 프로그래밍에 익숙한 고급 사용자뿐만이 아니라, 프로그래밍에 앞서 유니티의 기본을 충실히 하려는 독자, 유니티 교육기관의 선생님과 학생도 포함된다. 게임을 처음 접하는 사람을 위해서는 초반에 간단한 예제를 통해 인터페이스를 다루고 유니티가 제공하는 각 기능을 설명하는 데 중점을 뒀다. 특히 각 기능을 설명할 때는, 매뉴얼에서 제공하는 문서를 단순히 번역하는 것이 아니라 최대한 재해석해서 독자들이 이해하기 쉽도록 편집하는 데 주력했다. 프로그래밍에 어느 정도 익숙한 고급 사용자를 위해서는 유니티의 기능을 이용한 멀티미디어 컨텐츠를 윈도우, 맥, iOS, 안드로이드 등 다양한 플랫폼에서 배포하는 것은 물론, 많은 분이 궁금해하는 설정 항목에 대한 설명과 활용 방법도 정리했다. ★ 이 책의 구성 ★ 1장 유니티 소개: 유니티의 기능상 특징을 개괄하고, 유니티를 사용하기 위해 설치, 실행하기까지의 과정을 설명합니다. 그리고 최근에 출시된 유니티 3.5 버전에서 추가된 기능을 정리해, 이전 버전에 비해 어떤 부분이 향상됐는지를 한눈에 살펴봅니다. 2장 유니티 인터페이스: 유니티 인터페이스를 구성하는 5가지 뷰를 다루면서 유니티의 프로젝트 관리 방식을 이해하고, 실무에서 자주 쓰이는 각 뷰의 유용한 기술을 기술합니다. 3장 지형 시스템: 유니티가 제공하는 환경 요소를 활용해 3D로 구성된 지형을 제작하고, 유니티가 제공하는 환경 요소를 설치해, 하나의 온전한 세계를 구축한 후, 예제를 통해 3D 지형 내에서 돌아다닐 수 있는 컨트롤러 기능을 익힙니다. 4장 렌더링 시스템: 메쉬, 재질로 대표되는 렌더링 구성요소에 대해 알아보고 이를 위한 올바른 3D 모델링 정보, 텍스처 설정 방법을 살펴본 후, 카메라, 라이트, 그림자를 설정해 실감 나는 3차원 물체로 만드는 법을 설명합니다. 5장 셰이더: 유니티가 제공하는 30여 가지의 내장 셰이더를 사용하고 관리하는 방법을 익히고, 노드 방식의 확장 에디터를 사용해 다양한 기능을 제공하는 고급 셰이더를 직접 제작해봅니다. 6장 물리 시스템: 리지드바디, 충돌체로 이뤄진 물리 시스템에 대해 알아보고, 각종 설정을 통해 물체를 실감 나게 움직이고 이동하는 방법을 알려줍니다. 그리고 자동차 시뮬레이션, 조인트, 천 시뮬레이션 같은 고급 물리 기능도 살펴봅니다. 7장 프로그래밍: 유니티의 프로그래밍 구조를 이해하고, 프로그래밍을 통해 사용자 컴포넌트를 만드는 방법을 숙지한 후, 이를 기반으로 유니티 엔진이 제공하는 다양한 요소를 제어하면서, 예제를 통해 앵그리버드 스타일의 간단한 게임을 만들어봅니다. 8장 애니메이션: 애니메이션 뷰를 활용해 키프레임 방식의 애니메이션을 쉽게 제작하는 방법을 익히고, 예제를 통해 2D와 3D 애니메이션 제작을 위한 각종 기법을 살펴봅니다. 9장 이펙트: 라이트매핑, 포스트 이펙트, 파티클 시스템, 사운드 이펙트의 각기 다른 4개 영역의 효과를 사용해 게임의 최종 품질을 높일 수 있는 다양한 특수효과를 최종 결과물에 적용해봅니다. 10장 최적화: 게임이 동작하는 프로세스를 단계별로 구분해보고, 문제점을 파악하기 위한 프로파일러의 사용법을 익힌 후, 각 단계별로 최적화할 수 있는 방법을 설명합니다. 11장 배포: 유니티의 배포 프로세스를 이해하고, 통합 인터페이스를 통해 제작된 게임 컨텐츠를 PC, 웹, 아이폰, 안드로이드에 각각 설치해봅니다. |