유니티 3D 몬스터 만들기 - yuniti 3D monseuteo mandeulgi

▣ 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 초기 화면

Toplist

최신 우편물

태그