티스토리 뷰

카테고리 없음

유니티 입문

gergfd 2023. 6. 2. 21:01

입문서로는 최고입니다.기본적으로 따라하기식의 책이지만 원리를 정확히 설명해주기 때문에 큰 문제점없이 잘 이해하며 보실 수 있습니다.그리고 다 읽고 나면 게임 제작에 대한 대략적인 개념을 잡으실 수 있습니다.하지만 이 책 하나로 끝을 본다고 생각하시면 안 되며,이 책을 시작으로 여러 서적과 자료를 보셔야할 것 입니다.

유니티 재팬 사의 에반젤리스트가 직접 저술한 이 책은 일본인 특유의 꼼꼼함과 친절함이 듬뿍 묻어있다. 유니티의 기본 기능이나 의외로 중요하지만 지나쳐버리기 쉬운 사소한 사항까지도 빠짐없이 기술되어 있고 각 장에서는 기본적인 기능이 반복적으로 설명되므로 끝까지 읽다 보면 자연스레 유니티의 필수적인 사용법을 완전히 자기 것으로 익히게 된다. 무엇보다도 이 책의 장점은 간단하지만 하나의 게임을 끝까지 진행시켜 보는 데 있다. 게임 플레이의 핵심적인 기능은 물론, 타이틀 시작화면, 미션 클리어 시의 화면전환, 최종 플랫폼으로의 포팅 등 부차적이지만 게임이 갖추고 있어야 할 모든 부분을 학습하게 함으로써 독자들이 게임 개발의 성취감을 맛보게 하고 게임 개발에 더 흥미를 느끼고 매진할 수 있도록 하는 훌륭한 자극제가 될 것이다.

1장 유니티 스타트 가이드
_1.1 유니티란?
__게임 개발의 ‘민주화’
__풍부한 정보와 거대한 커뮤니티
_1.2 유니티의 제품 구성
__기본 구성인 ‘유니티 프리’와 추가 라이선스
__업무용 라이선스 ‘유니티 프로’
__시험판 라이선스
__iOS/안드로이드 개발에 필요한 환경
__컬럼: 유니티와 유니티 프로의 차이
_1.3 유니티 설치
__다운로드와 설치
__유니티 프리 액티베이션 순서
__시험판 액티베이션
__유료판 구입과 액티베이션
_1.4 데모로 체험해 보기
_1.5 유니티 화면 구성

2장 일단 무엇인가 만들어 보기
_2.1 밸런스 게임 만들기
__2장에서 만들어 볼 게임
_2.2 판 만들기
__스케일 툴로 늘이기
__컬럼: Scene 뷰 조작
__라이팅
_2.3 볼 만들기
_2.4 물리 시스템 구축하기
__반사 계수 추가하기
_2.5 키 입력 구현하기
__컬럼: Mac판 MonoDevelop의 일본어 문제에 대해
__컬럼: 스크립트 해설
__씬 저장과 빌드

3장 모바일용으로 빌드하기
_3.1 데스크톱 PC와 모바일의 차이
__조작성의 차이
__디스플레이의 차이
__처리 능력의 차이
_3.2설계 재검토
__가로 화면 대응
__기울기 입력 대응
__컬럼: iOS 시뮬레이터와 안드로이드 에뮬레이터에 대해
_3.3 ios용 빌드 순서
__플랫폼의 변환
__Player Settings 조정
__디폴트 화면의 방향
__번들 식별자
__컬럼: 번들 식별자에 관해
__서스펜드 시점의 종료
__베이스 SDK 버전
__엑스코드 프로젝트 출력
__엑스코드상에서의 빌드
__컬럼: 링커 경고(Linker Warning)에 관해
_3.4 안드로이드를 위한 빌드 순서
__컬럼: 안드로이드 플랫폼 버전(API 레벨)에 관해
__플랫폼의 변환
__Player Settings의 조정
__디폴트 화면의 방향
__번들 식별자
__빌드와 실행
__컬럼: 구형 안드로이드 디바이스에서 에러가 표시될 때

4장 미로 게임
_4.1 미로 게임 디자인
__게임 요소
_4.2 미로와 배경 만들기
__무대(판) 만들기
__광원 만들기
__무대에 무늬 넣기(텍스처 매핑)
__카메라 배치 변경
__배경 만들기
_4.3 외벽과 장애물 배치
__프리팹을 이용한 복제
__외벽 만들기
__장애물 만들기
__재질 추가
__컬럼: 스케일을 수정한 오브젝트의 텍스처 매핑
_4.4 볼 만들기
__오리지널 볼 만들기
__프리팹 작성과 인스턴스 배치
__볼 굴리기
_4.5 문제점 발견과 해결
__볼이 움직이지 못하는 경우
__볼이 무대를 빠져나가는 문제
__컬럼: 만약 제대로 구현한다면 - 또 하나의 해결법
_4.6 제어 스크립트 추가
__중력 컨트롤러(GravityController.js)
__볼 제어 스크립트(Ball.js)
_4.7 기울기 연출
__기울기 리그 만들기
__기울기 리그 제어 스크립트(TiltRig.js)
_4.8트랩 추가
__트랩 설계
__트리거를 사용한 접촉 검출
__게임 오브젝트에 대한 태그의 설정
__컬럼: pre-set 태그
__리스타트 지점 배치
__트랩 스크립트(Trap.js)
_4.9 골(goal) 만들기
__골 트리거 만들기
__골 판정 스크립트(Goal.js)
_4.10 클리어 메시지 표시
__컬럼: 유니티의 GUI 시스템
__GUI의 구조
__폰트 추가
__컬럼: 폰트 라이선스에 대해
__스타일 설정
_4.11 타이틀 화면 만들기
__게임 본편 씬 저장
__타이틀 화면 씬 추가
__타이틀 화면 씬 구축
__게임 클리어 시의 동작 변경
__컬럼: yield문과 코루틴(co-routine)
_4.12 외형 개선
__라이팅 조정
__볼 스페큘러의 설정
__트랩의 점멸
_4.13 완성!
__개선안
_4.14 모바일 플랫폼으로 이식
__조작성 재설계
__카메라와 부모/자식 관계 변경
__컬럼: 카메라의 화각에 대해
__타이틀 화면 조정
__폰트 설정 조정
__컬럼: 다이내믹 폰트 렌더링이란
__Rendering Path 변경
__컬럼: 모바일 플랫폼에서 Forward Rendering 선택의 어려움_
__컬럼: 간편한 디바이스 동작 확인 툴 - 유니티 Remote
__컬럼: 쿼터니언에 관해

5장 블록 슈터 게임 디자인
_5.1 블록 슈터 게임 디자인
_5.2 방 만들기
__바닥ㆍ벽ㆍ천장 만들기
__광원의 배치
__계층구조 구축
__씬의 저장
__카메라 배치
_5.3 상자 만들기
__컬럼: 폴더로 조정
_5.4 총 쏘기
__탄환 프리팹 만들기
__총 쏘기 만들기
__클릭한 위치로 발사되게 하기
__컬럼: 월드 좌표계와 화면 좌표계
__충돌 시의 파괴 처리 작성
__메시징의 도입
__시각적 연출의 개선(파티클 효과 추가)
__컬럼: 파티클 시스템 파라미터
__추가 연출의 개선(소멸의 지연)
__컬럼: 힘 모드(ForceMode)에 관해
_5.5 상자 제너레이터 만들기
__컬럼: Random.Range의 주의점
_5.6 안 보이는 벽 만들기
__일반 벽을 이용한 ‘안 보이는 벽’ 만들기
__레이어와 콜리전 필터링 도입
_5.7 스코어 측정
__스코어 측정 기능의 대략적인 설계
__Scorekeeper 스크립트 구현(점수 관리와 표시)
__Referee 스크립트 구현(룰에 따라 판정하는 처리)
__Box 스크립트 개조
__Game Controller 게임 오브젝트 만들기
__Box 프리팹 설정
_5.8 GUI 스킨 설정
__GUI 스킨 제작
__GUI 스킨의 적용
_5.9 시간제한 설정
__Timekeeper 스크립트 작성(제한시간 설정)
__TimeUp 메시지 처리 추가
_5.10 결과 화면 만들기
__ResultScreen 스크립트 작성(게임의 결과 표시)
__기타 설정과 동작 확인
_5.11 게임 시작 연출
__GameStarter 스크립트 작성(게임 시작 화면 연출)
__StartGame 메시지 처리 추가
__기타 설정과 동작 확인
_5.12 타이틀 화면 추가
__타이틀 화면 씬 만들기
__TitleScreen 스크립트 구현(타이틀 화면의 표시와 제어)
__ResultScreen 스크립트 수정
_5.13 완성
__개선안
_5.14 모바일 플랫폼으로 이식
__일단 동작시켜 보기
__라이트 매핑의 도입
__Graphics Emulation의 변경
__컬럼: 씬 간에 라이트 맵 공유
_5.15 iOS 플랫폼 버전 미세 조정
__화면 회전 애니메이션 방지
__frame rate 올리기
__컬럼: 유니티와 자바스크립트

6장 캐릭터를 이용한 액션 게임
_6.1 액션 게임 디자인
_6.2 스테이지 구성
__광원 배치
__물리 재질의 설정
__카메라 조정
__이름과 구조의 정리
_6.3 캐릭터 이용하기
__
__파일의 임포트
__컬럼: 유니티에서 이용 가능한 3D CG툴과 파일 형식
__컬럼: 본(bone, 뼈) 구조와 본 애니메이션
__캐릭터 배치
__캐릭터 내용 이해
__애니메이션 이해
__스크립트로 애니메이션을 제어하기
__애니메이션을 매끄럽게 연결하기
__애니메이션 재생 속도 변경하기
_6.4 플레이어 캐릭터 구축
__CharacterController 컴포넌트 추가
__스크립트에 의한 Character Controller의 제어
__점프 구현
__컬럼: 그림자 표시(유니티 Pro용)
_6.5 코인과 장애물 구현
__모델 임포트와 조정
__물리 엔진 설정
__제어 스크립트 추가
_6.6 제너레이터 만들기
__제어 스크립트 작성
_6.7 코인 획득과 데미지 메시징
__충돌 판정 무효화와 트리거의 추가
__레이어 설정
__트리거 추가
__송신측 스크립트의 추가
__수신측 스크립트 추가
_6.8 시각적 연출과 외형 개선
__데미지 연출 구현
__파티클 효과 추가하기
__GUI를 보기 쉽게 하기
_6.9 사운드 적용
__사운드 파일 임포트
__음원 추가
__컬럼: 사운드를 듣는 위치 설정
__사운드 발생 스크립트 작성
__3D 사운드 조정
__BGM 재생
__다른 효과음도 적용해보기
_6.10 마무리
_6.11 모바일 플랫폼으로 이식
__Standard Assets 임포트와 가상 조이스틱 적용
__조작방법을 가상 조이스틱에 이식하기
__점프 버튼 이식

7장 다음 단계로
_7.1 유니티 Asset Store
__스스로 만들 수 없는 것을 구하기 위해
__시간 절약을 위해
__애셋 스토어와 유니티 커뮤니티
__애셋 스토어와 유니티 커뮤니티
_7.2 유니티 Answers
_7.3 유니티 Technologies 공식 블로그

부록 재질 설정에 관해
_A.1 표준 셰이더 설명
__Diffuse - 확산 반사
__Decal - 데칼 확산 반사
__Specular - 거울 반사
__Unlit - 라이팅 없음
__Bumped Diffuse/Bumped Specular - 범프드 맵핑
__Self-Illumin / * - 자체 발광성 셰이더
__Transparent/* - 투과성 셰이더
__Reflective/* - 반사성 셰이더
_A.2 법선 맵 제작법
__컬럼: 모델링 툴 ZBrush
_A.3 큐브 맵의 제작법
__Skybox 소재에서 큐브 맵 만들기
__파노라마 사진으로 큐브 맵 만들기

[한국어판 특별 부록] 유니티 4.0에서 새롭게 추가된 기능 (글쓴이 이득우 / 유니티 게임 개발의 정석 )