유니티 rpg게임배경 스타트업 5번째 스터디 자료

16
유유유 RPG 유유유유 유유유유 Study (Part 05. 유유유유유 유유 Scene 유유유유 ) 유유유

Upload: je-lyoung-kim

Post on 13-Aug-2015

263 views

Category:

Technology


27 download

TRANSCRIPT

Page 1: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

유니티 RPG 게임배경 스타트업 Study(Part 05. 유니티에서 레벨 Scene 제작하기 )

김제룡

Page 2: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

목차

1. 레벨 제작하기 위한 초석 2. 모바일용 레벨제작 3. 쿼터뷰로 만들어 보는 던전 4. 유니티의 라이트 5. 캐릭터 컨트롤러 6. 아티스트를 위한 유니티 쉐이더의 기초

Page 3: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

Part 05. 유니티에서 레벨 Scene 제작하기

Page 4: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

4

- 레고형식의 조립화된 레벨작업- 에셋의 모듈화

- 3dmax 에서 통으로 만들어서 익스포트 하는것보다 ,

블럭단위로 만들어서 유니티에서 조립하는 것이 처리하는 버텍수수가 현저하게

줄어든다 ( 경우의 따라 2 배 이상 )

-> static batch 가 켜져있는 상태에서 카메라에 들어오냐 안 오냐를 판단할때

통으로 되 있으면 , 무조건 그려야 하기 때문

( 바운딩 박스 기준으로 처리하게 됨 : 바운딩 박스는 물리박스가 아님 )

1. 레벨 제작하기 위한 초석

Page 5: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

5

- 모바일에서 쿼터뷰 게임이 많은 이유

-> 랜더링 해야 하는 영역을 줄여줘서 최적화에 도움이 됨

-> 모바일에 제한적인 입력수단에서 ui 를 눌러야 하는데 , 회전이 된다던지

하면

유저의 흥미만 떨어트림

타겟 특성 때문에 시야를 움직이는 것보다는 고정되 있는 뷰가 오히려

안정감을

주게됨

오브젝트 배치시 유용한 기능

W : 이동

E : 회전

R : 스케일

V : 스냅핑 ( 그리드 단위로 배치하기 좋은 핵심 기능 )

3. 모바일용 레벨제작

Page 6: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

6

- 작업 시작시는 맵을 (0,0,0) 에 위치시킨후 시작한다

( 프로그래밍에 용의함 )

- 스타트 포인트 작업하기

-> 게임이 시작되려면 시작지점이 있어야 한다 . 모델로 표현하고 ,

향후 프로그래머와 상의하여 , 프로그램 처리를 논의한다 .

- 프리팹 작업시 중요한 것은 Apply 버턴을 꼭 눌러주는 것이다 .

- Apply 를 누른 다음에는 Save 도 해주자 .

(NGUI 의 경우는 Apply 만으로 저장 안되는 경우도 있음 )

4. 쿼터뷰로 만들어 보는 던전

Page 7: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

7

1. 창문과 기둥배치하기

2. 바닥작업하기

3. 라이트의 배치

4. 디테일한 조정과 배치

5. 던전의 볼륨 잡아가기

던전은 길목과 사냥터가 구분되도록 상징적인 장식물을 만들어 주는

것이 좋다 .

사냥터 앞에는 개동상 ? 등

6. 바닥 데코레이션의 강조

- 카페트등을 깔아 동선을 알려주고 , 단순한 느낌을 극복하자 .

- 타일이 만나 이상한 부분은 , 연결되는 바닥등을 깔아서 자연스럽게

만들다

7. 라이팅 에셋 배치하기

배경 작업 순서 #1

Page 8: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

8

8. 프리팹 정리 및 마무리 충돌 작업

- 프리팹 정리

- 충돌 처리

- 충돌처리 방식은 BOX/CAPSULE/SPHERE/WHEEL/TERRAIN Colli-

dor 가 있는데 ,

부하문제로 보통은 BOX, 중요하거나 계단인 경우등은 MESH, 플레어이

컨트롤은

CAPSULE 을 사용한다 .

- 충돌은 플레이어가 가지 못하는 곳을 정의하는 작업이다 .

- 각 애셋마다 설정하는 방법이 있고 , 벽등은 충돌체를 따로 추가하는

방법이 있다 .

- 꼼꼼하게 작업하기 위해 , 따로 추가하는 방법을 추천한다 .

- 계단은 층을 만들어서 , 플레이어가 걸리게 하지 말고 , 텍스쳐로

그리고 , MESH Collidor

로 다각형 형태로 처리해서 부드럽게 올라갈 수 있도록 한다 .

배경 작업 순서 #2

Page 9: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

9

- 유니티 라이트의 종류

Directional Light( 맵에 1 개만 쓰자 )

Spot Light( 빛이 퍼지는 분위기 내기는 좋지만 제일 무거운 라이트 = 아웃 !)

Point Light( 분위기 내기 좋은 라이트 , 라이트맵에 애용하자 )

Area Light(Bake only - 라이트맵을 구운후 작동되는 라이트 , 사실상 거의 사용

안함 )

- 라이트 설치방법

- 유니티 라이트맵 굽기

- 라이트맵을 제작하려는 오브젝트는 반드시 STATIC 가 체크되 있어야 함

- 라이트는 라이트맵 굽기용과 아닌것을 구분하고 , light 그룹으로 묶어서

관리하는 것이 좋다 .

- 비스트시스템을 이용해서 굽는데 , 이름을 몰라도 상관없음

- 글로벌 일루미네이션 (GI) : 물체간의 간접광을 계산해주는 방법

5. 유니티의 라이트

Page 10: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

10

- 라이트맵 준비하기

- 어두운 맵에서 라이트맵이 잘 나온다 .

- 불빛이 나오는 조명의 주변에는 항상 간접광이 생기기 때문에 , 그

간접광을 자연

스럽게 표현해주면

실제 우리 주변의 사물과 좀 더 비슷하게 보일 수 있다 .

- 라이트맵 굽기

- 맵 오브젝트를 그룹화 해두고 , 최상단 오브젝트에서 STATIC 를

체크한후

CHILDREN 에 적용하면 된다 .

- FBX 를 임포트 하거나 , 세팅할때 , 반드시 Generate Light map UV

옵션이 켜져

있어야 해당 오브젝트가 적용된다 .

6. 모바일에서 라이트 맵을 잘 세팅해보자

Page 11: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

11

Single lightmaps : 기본적인 라이트맵 , 음영과 컬러정도를 적용함

Dual lightmaps : 가까운 거리는 간접광 , 카메라가 멀어지면 , single

라이트맵과

같아 진다 .

기본 디퍼드렌더링에서 동작 , 포워드도 가능하다고 하나 옵션

조정해

야 한다고 함 .

퍼퍼먼스 이슈가 있어서 , 모바일에서는 사용안하는게

좋음

- 라이트맵을 구운후에는 , 라이트를 모두 비활성화 해주고 , 각 오브젝트의

Cast

Shadow 와 Receive Shadow 를 꺼준다

Page 12: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

12

라이트맵이 구워지지 않을때 체크내용

- 애셋에 static 이 체크되 있는가

- 라이트의 쉐도우가 제대로 활성화되 있는가 ?

- 애셋에 Cast Shadow 와 Receive Shadow 가 활성화되어

있는가 ?

- 애셋의 Import Setting 에서 Generate Lightmap UV 가

체크되어

있는가 ?

Page 13: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

13

유니티에서 모바일게임 제작시 라이트 세팅 프로세스

1. 오브젝트 배치

2. 레벨데이터 구성 -> 스태틱 옵션 체크

3. 라이트 세팅 -> 일단 실시간 라이트로 세팅

4. 라이트맵 베이킹 -> 라이트맵은 1 장으로 추천

5. 실시간 라이팅 세팅 제거

6. 각 오브젝트의 쉐도우 옵션 Off

Page 14: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

14

- 1 인칭 (FPS) 과 3 인칭 ( 쿼터뷰 ) 에 주로 사용

Asset -> Import Package -> Character Controller 선택

- 3 인칭 설정

3rd person controller 에서

Distance 10

Height 7

Lock Camara Tim 100

으로 바꾸고 해보자

7. 캐릭터 컨트롤러

Page 15: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

15

- 안드로이드 SDK 다운로드 / 설치

- 사용자 시스템에 장치 인식시키기

- 유니티에 안드로이드 SDK 경로 추가하기

디폴트로 유니티는 ETC1/RGBA16 포맷을 권장

-> 사용자의 앱이 해당 핸드폰이 지원하지 않는 텍스쳐 압축을 사용하면

rgba32 로 무압축되고 , 압축된 것과 함께 복사본이 생성된다 .

-> 텍스쳐 압축 해제하는데 시간을 쓰고 , 메모리를 중복 사용하게

된다 .

8. 빌드 하기

Page 16: 유니티 Rpg게임배경 스타트업 5번째 스터디 자료

Thank you.