29
UNITY3D 워워워 [email protected]

120513 unity3 d_start_skyseer

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 120513 unity3 d_start_skyseer

UNITY3D 워밍업

[email protected]

Page 2: 120513 unity3 d_start_skyseer

유니티 엔진 스펙

Page 3: 120513 unity3 d_start_skyseer

기본 기능• 통합 빌드 시스템• 포워드 랜더링• 스크립팅• 물리 엔진• 애니메이션• 파티클 시스템• 지형 시스템• 사운드

Page 4: 120513 unity3 d_start_skyseer

고급 기능 (pro 버젼 )

• 디퍼드 라이팅 패스• 오클루젼 컬링• 라이트 매핑• 포스트 이펙트 필터• 확장 플러그인

Page 5: 120513 unity3 d_start_skyseer

멀티 플랫폼 엔진• Web browser, flash, iso, android• Windows, mac, wii, playstation3, xbox360

Page 6: 120513 unity3 d_start_skyseer

랜더링 & 셰이더• 모델링 에셋 연동

– FBX 기반– 3DSMAX, MAYA, CHEETAH3D, CINEMA4D, BLENDER– PSD,PNG,PICT,TIFF,JPG : 레이어가 있어도 모든 레이어는 엔진에 임포트가 되면서

자동으로 합쳐진다 .

• 통합 세이더 시스템– ShaderLab– Fixed Function Program– Vertex / Fragment

• 고급 렌더링– Defferred Lighting Path– Realtime Shadow System– Dual Lightmapping– Surface Shader Program

* 유니티는 근거리 라이트 (Lightmap Near) 와 원거리 라이트 (Lightmap Far) 2 개를 사용한다 .

Page 7: 120513 unity3 d_start_skyseer

유니티 기본 패키지• Toonshading• Water• post processing effect(ssao, depth of field,

SunShaft)

Page 8: 120513 unity3 d_start_skyseer

스크립팅• 7.1 스크립트 퍼포먼스

– jit compile– aot compile– 20x performance

* 일반 자바스크립트보다 20 배가 빠르고 c++ 와 별로 속도 차이가 안남 . 최대 2 배 느리는 정도…

• 7.2Language– Javascript– C#– Boo

Page 9: 120513 unity3 d_start_skyseer

물리엔진• NVIDIA PhysX• 자동차 시뮬레이션• 천 (cloth) 시뮬레이션

Page 10: 120513 unity3 d_start_skyseer

애니메이션• 9.1Animation Editor• 9.2Skinning Animation• 9.3Animation Blending– CrossFade– Layer( 예 , 상하체 레이어를 나눠서 같이 합쳐사용 )– MixingTransform( 특정 부분만 컷할 수 있다 )– Weight

* 인터페이스를 마야와 비슷하게 구성*gdc 에서 유니티 4.0 피쳐 공개 . 애니메이션 강화 .

Page 11: 120513 unity3 d_start_skyseer

기타 기능• 파티클 시스템 : 체인 이펙트 기능을 사용해서 여러개의 이펙트를 연이어서

출력할 수 있음

• 지형 엔진

• 사운드– FMOD Engine– Reverb Zone– Audio Filter

• 에셋 스토어– 7:3 수익 쉐어– 분야 : 2500 여건 ( 에셋 , 확장도구 , 프로그램 예제 , 프로젝트 )

• LoD 기능 지원• 길찾기 기능 지원

Page 12: 120513 unity3 d_start_skyseer

설치• http://unity3d.com/unity/download/• 프리버젼과 프로버젼 (30 일 트라이얼 ) 중

선택

Page 13: 120513 unity3 d_start_skyseer

기본 사용법

Page 14: 120513 unity3 d_start_skyseer

설정• Preferences->Always Show Project Wizard

체크 & Light 체크• Create New Project• Layout->2by3-> 게임뷰 이동

Page 15: 120513 unity3 d_start_skyseer

화면 구성• 뷰–씬 뷰 : 씬 편집 공간–게임 뷰 : 메인 카메라로 보여지는 실제 게임 화면–계층 뷰 : 씬에 배치된 오브젝트 리스트를 보여주는

공간 ( 캐릭터 , 발사된총알 1, 발사된총알 2…)–프로젝트 뷰 : 프로젝트에 사용할 애셋 리스트를

보여주는 공간 ( 캐릭터 , 총알 )–인스펙터 뷰 : 일종의 속성창 . 오브젝트 및 애셋의

속성을 변경할 수 있음 .

* 애셋 : 유니티에서 사용되는 리소스를 통털어 지칭

Page 16: 120513 unity3 d_start_skyseer

화면 구성• 트랜스폼 툴–핸드 툴 : 씬 카메라 이동 (Q)–변환 툴 : 게임 오브젝트의 좌표를 이동 (W)–회전 툴 : 게임 오브젝트의 회전을 변경 (E)–스케일 툴 : 게임 오브젝트의 크기 변경 (R)

Page 17: 120513 unity3 d_start_skyseer

조작• 오른쪽 드래그 : 자유 회전• 알트 + 왼쪽 드래그 : 가운데를 중심으로 회전• 알트 + 오른쪽 드래그 or 휠 : 확대 or 축소• Fps 네비게이션 이동

– 오른쪽 클릭 상태에서 asdw qe shift• Qwer 키• v 키를 누르고 마우스 클릭을 통해서 정점이동이 가능하다 .• Gizmo

– Shift 누르고 gizmo 하면 원근감이 없어지는 iso 모드로 변환

• 트럭을 만들어 보자

Page 18: 120513 unity3 d_start_skyseer

프리팹 기능• 프리팹 기능을 사용하면 박스를 100 개

복사해도 나중에 한번에 100 개 모두를 수정할 수 있다 .

• 파란색으로 된건 프리팹이다 .

• 만든 트럭을 프리팹으로 만들어 보자 .

Page 19: 120513 unity3 d_start_skyseer

애셋 & 패키지• 애셋 : 프로젝트 내의 리소스를 통칭 . 각각 고유하게 존재

( 모델 , 텍스쳐 , 오디오 , 사운드 , 스크립트… )

• 패키지 : 여러 애셋의 묶음 . 프로젝트간 이동을 위한 유니티 전용 파일 . 원본 파일 정보와 유니티 설정 정보가 합쳐짐 .– 패키지 불러오기 : 탐색기에서 더블클릭 or Assets>Import

Package>Custom Package– 패키지 내보내기 : 마우스우클릭 >Export Package

• 유니티 기본 패키지 : 캐릭터 콘트롤러 , 라이트플레어 , 워터 , 트리생성기…

Page 20: 120513 unity3 d_start_skyseer

한번 해보자( 간단한 슈팅 게임 )

Page 21: 120513 unity3 d_start_skyseer

설정• Create New Project• Window->Asset Store->F16a 다운로드 -

>Import• GameObject->CreateEmpty->player 로 수정• F16a 애셋을 계층뷰에 넣고 다시 player 에

넣기

Page 22: 120513 unity3 d_start_skyseer

스카이 박스• 프로젝트뷰 우클릭 ->Import Package-

>SkyBoxes->Improt• Edit->Render Settings->SkyBox Mtertial

Page 23: 120513 unity3 d_start_skyseer

스크립트 - 플레이어• 프로젝트뷰 Create->C# Script• PlayerScript 로 스크립트명 수정 .• 클래스 명도 동일하게 수정

• Player 에 추가 -> 플레이 -> 씬 & 프로젝트저장

void Update () {float dir = Input.GetAxis("Horizontal");Transform.Translate(Vector3.right * dir);

}

Page 24: 120513 unity3 d_start_skyseer

스크립트 - 적• http://gameedu.kookmin.ac.kr/art/down/supplement.zip

다운로드• SampleAssets 임포트

– 파일을 더블클릭– 프로젝트뷰에서 우클릭 ->Custom Package– 프로젝트뷰에 넣고 더블클릭

• Enemy 애셋을 계층뷰에 이동• PlayerScrpit 수정 ->Bullet 애셋을 Player 인스펙터뷰로 이동

• ..

public GameObject Bullet;// Use this for initialization

…transform.Translate(Vector3.right * dir);if(Input.GetKeyDown("space")){

Instantiate(Bullet, transform.position, transform.rotation);

}

Page 25: 120513 unity3 d_start_skyseer

사운드• Music 애셋을 메인카메라 인스펙터뷰에 이동

Page 26: 120513 unity3 d_start_skyseer

스터디 진행• 1 인당 최소 2 주에 1 회 PT 진행• 가능한 하나의 PT 는 하나의 프로젝트로 완료 ( 큐브 하나로 PT

를 진행해도 무방함 . 프로젝트 중간 내용 설명 x)• 개인 목표 공유 & 첫 프로젝트 선정 ( 퍼즐게임 , 레이싱 ,액션… )• 각자 개인주제 2 개 이상 선정

– GUI– 지형– 조작– 물리– 애니메이션– 파티클 ( 이펙트 )– 쉐이더

Page 27: 120513 unity3 d_start_skyseer

참고 사이트• http://www.unity3dstudy.com/

한글 동영상 강좌

• http://unity3d.com/support/resources/example-projects/

• Window->Asset Store->C# Game Example샘플 프로젝트

Page 28: 120513 unity3 d_start_skyseer

한번 해보자( 지형 + 캐릭터 )