Post on 15-Jul-2015
유니티 게임제작 CAMP
이 재 현
Indie Game Developer
FASTCAMPUS
강사 소개
이 재 현인디게임개발자
출시작 : OpenValue, ZID 2,...
www.Unity3dStudy.com 운영
절대강좌! 유니티3D 저자
FASTCAMPUS
유니티3D CAMP 강의 방식
2D, 3D, Network, Build, Deploy- 게임개발 이론, 실습, 배포의 과정
100% 실습- 백문이 불여일타
FASTCAMPUS
InApp , 광고- 자신의 게임에 부분유료화, 광고 탑재
완성도 높은 게임- 교육용 게임이라도 퀄리티는 높게 !
FASTCAMPUS
유니티3D CAMP 강의 방식
유니티 버전- Unity 4.6.x
- 처음에는 Basic 버전으로 설치
- 강좌 중반부에 Pro 버전전환
FASTCAMPUS
강의 정보
커리큘럼 구성 1 - 3D TPS 게임
FASTCAMPUS
- 유니티엔진 맛보기
- 유니티엔진의 전반적인 기능 이해
- 게임제작 기법 습득
커리큘럼 구성 2 - 2D 슈팅 게임
FASTCAMPUS
- Native 2D게임 개발능력 배양
- 모바일용으로 개발해서 배포까지
- Menu, Cut-Scene
커리큘럼 구성 3 - Network 게임
FASTCAMPUS
- 유니티 Built-in-Network API 사용법
- Photon Cloud 활용 PvP 탱크대전 게임
- 로비, 룸, 채팅
- DB연동, JSON
커리큘럼 구성 4 - 직접 게임만들기- 길건너친구들(Crossy Road) 게임
유니티 살펴보기
FASTCAMPUS
유니티 연혁
“2001 “2005 “2008 “2010 “2012 “2014
FASTCAMPUS
Unity 개발시작Unity 1 런칭 in Apple WWDCiPhone 빌드 지원안드로이드 지원, AssetStore 오픈등록개발자 100만명등록개발자 330만명
유니티 시장지배력
FASTCAMPUS
게임엔진 점유율
FASTCAMPUS
유니티 3D 장점 1
진입장벽이 낮다 (없다)
- 개발 편리성
- 미들웨어 탑재
- 저렴하다, 무료 개발가능
“게임 개발의 민주화
FASTCAMPUS
멀티플랫폼 빌드
- One Source Multi Use
“유니티가 가장 앞서고 있다
유니티 3D 장점 2
FASTCAMPUS
유니티 인기요인 ?
인디개발자최적화된 엔진
에셋스토어
커뮤니티
성능
카카오게임
53% +
FASTCAMPUS
UnityScript
Boo
개발언어
FASTCAMPUS
C#
스크립트 에디터
FASTCAMPUS
MonoDevelop- Mono Project
- 멀티플랫폼 C# 컴파일러
물리엔진 (Physics Engine)
FASTCAMPUS
2D 물리엔진- Box2D 엔진 탑재
3D 물리엔진- Nvida의 PhysX 엔진 탑재
랜더링 (Rendering)
FASTCAMPUS
랜더링 라이브러리- OpenGL 3.0, DirectX 11- Deferred, Forward, Vertex Lit- 내장 쉐이더 제공
쉐도우 & 라이트맵핑
FASTCAMPUS
실시간 그림자- Directional , Spot, Point Light
라이트 맵핑- Single, Dual Lightmapping
라이트 프로브- 유니티 3.5 부터 지원, 모바일 실시간 조명효과
추적 알고리즘
FASTCAMPUS
네비게이션 메쉬 (Navigation Mesh)- 유니티 자체 알고리즘 이전 -> A*Pathfinding 사용
- 3D 메쉬를 분석하여 최적의 길찾기 알고리즘을 제공한다.
- 동적장애물 , 끊어진 메쉬의 연결, 레이어별 가중치 기능.
지형 에디터 (Terrain Editor)
FASTCAMPUS
- 직접 지형을 디자인할 수 있는 엔진탑재
- 지형 텍스처, 나무, 풀 디자인
- 자연스러운 바람 연출
- 3rd Party 플러그인을 통해 모바일 빌드
미들웨어
FASTCAMPUS
- Lightmapping Engine (Beast, Audodesk)- Occlusion Culling (Umbra)- FMOD- Speed Tree (Unity 5)
플러그인
FASTCAMPUS
다양한 플랫폼과의 통신을 위한 기능
- iOS : C++ , Object C (*.dll)- Android : Java Plugin (*.jar)- 유니티 Pro 만 제공
적용가능한 플랫폼
- PC, 모바일
“모바일 부분유료화, 광고모듈
에셋스토어
FASTCAMPUS
유니티사에서 직접 운영하는 리소스 오픈마켓
- 1인 개발자 , 소규모 스튜디어에 많은 리소스 제공
- 훌륭한 퀄리티의 리소스를 구할 수 있다.
제공되는 리소스
- 2D Texture, 3D 모델, 애니메이션, 사운드
- Prototype Project- Plugin 모듈
에셋스토어
FASTCAMPUS
유니티사에서 직접 운영하는 리소스 오픈마켓
- 1인 개발자 , 소규모 스튜디어에 많은 리소스 제공
- 훌륭한 퀄리티의 리소스를 구할 수 있다.
제공되는 리소스
- 2D Texture, 3D 모델, 애니메이션, 사운드
- Prototype Project- Plugin 모듈
유니티로 제작된 게임
FASTCAMPUS
유니티로 제작된 게임
FASTCAMPUS
유니티로 제작된 국내게임
FASTCAMPUS
핵심개념의 이해
FASTCAMPUS
Game PlayScene
FASTCAMPUS
화면을 나누는 단위
- 메뉴화면, 옵션화면, 게임플레이 화면, ...
- 유니티를 실행하면 새로운 Scene 이 자동으로 오픈된다.
씬 Scene
OptionsScene
MenuScene
App
FASTCAMPUS
게임화면상에 존재하는 모든 객체를 말한다.
- 씬에 존재하는 객체의 최소단위
게임오브젝트 GameObject
GameObject
Scene
GameObject GameObject
FASTCAMPUS
게임오브젝트에 추가되어 특정역할을 수행하는 객체
- 유니티는 CBD(Component Based Development) 방법론을 제공한다.
- 컴포넌트의 종류 : Transform, Renderer, Sound, Physics, ...
- 스크립트 역시 컴포넌트이다.
컴포넌트 Component
GameObject
Component
ComponentComponent
Component
FASTCAMPUS
복제해 재사용할 수 있는 원본
- 기능이 완성된 게임오브젝트를 재사용하기 위한 원본의 개념
- 프리팹원본을 수정하면 복제한 클론(Clone)들도 자동 수정된다.
프리팹 Prefab
Prefab
Component
ComponentComponent
Component
Prefab(Clone)
Prefab(Clone)
Prefab(Clone)
FASTCAMPUS
주요함수
함수 Function
void Awake()-실행 시 처음 한번 호출-스크립트가 비활성화 되어있어도 호출된다.
void Start() -실행 시 처음 한번 호출
void Update() -매 프레임 마다 한번씩 호출된다.
void FixedUpdate() -엔진에 설정되어있는 일정한 주기로 호출
void LateUpdate()-Update() 함수가 완료 된 이후에 한번 호출된다.-카메라 Fallow 로직에 주로 사용된다.
FASTCAMPUS
주요이벤트
이벤트 Event
OnCollisionEnter (Stay, Exit) - 충돌 발생시 호출
OnTriggerEnter (Stay, Exit) - 충돌 발생시 호출
OnEnable - 스크립트가 활성화 되었을때 호출
OnDisable - 스크립트가 비활성화 되었을때 호출
OnBecameVisible (Invisible) - 카메라에 의해 랜더링되기 시작 또는 종료