4. 4
- 레고형식의 조립화된 레벨작업
- 에셋의 모듈화
- 3dmax에서 통으로 만들어서 익스포트 하는것보다,
블럭단위로 만들어서 유니티에서 조립하는 것이 처리하는 버텍수수가 현저하게
줄어든다(경우의 따라 2배 이상)
-> static batch가 켜져있는 상태에서 카메라에 들어오냐 안 오냐를 판단할때
통으로 되 있으면, 무조건 그려야 하기 때문
(바운딩 박스 기준으로 처리하게 됨 : 바운딩 박스는 물리박스가 아님)
1. 레벨 제작하기 위한 초석
5. 5
- 모바일에서 쿼터뷰 게임이 많은 이유
-> 랜더링 해야 하는 영역을 줄여줘서 최적화에 도움이 됨
-> 모바일에 제한적인 입력수단에서 ui를 눌러야 하는데, 회전이 된다던지 하면
유저의 흥미만 떨어트림
타겟 특성 때문에 시야를 움직이는 것보다는 고정되 있는 뷰가 오히려 안정감을
주게됨
오브젝트 배치시 유용한 기능
W : 이동
E : 회전
R : 스케일
V : 스냅핑(그리드 단위로 배치하기 좋은 핵심 기능)
3. 모바일용 레벨제작
6. 6
- 작업 시작시는 맵을 (0,0,0) 에 위치시킨후 시작한다
(프로그래밍에 용의함)
- 스타트 포인트 작업하기
-> 게임이 시작되려면 시작지점이 있어야 한다. 모델로 표현하고,
향후 프로그래머와 상의하여,프로그램 처리를 논의한다.
- 프리팹 작업시 중요한 것은 Apply버턴을 꼭 눌러주는 것이다.
- Apply를 누른 다음에는 Save도 해주자.
(NGUI의 경우는 Apply만으로 저장 안되는 경우도 있음)
4.쿼터뷰로 만들어 보는 던전
7. 7
1. 창문과 기둥배치하기
2. 바닥작업하기
3. 라이트의 배치
4. 디테일한 조정과 배치
5. 던전의 볼륨 잡아가기
던전은 길목과 사냥터가 구분되도록 상징적인 장식물을 만들어 주는 것이 좋다.
사냥터 앞에는 개동상?등
6. 바닥 데코레이션의 강조
- 카페트등을 깔아 동선을 알려주고, 단순한 느낌을 극복하자.
- 타일이 만나 이상한 부분은, 연결되는 바닥등을 깔아서 자연스럽게 만들다
7. 라이팅 에셋 배치하기
배경 작업 순서 #1
8. 8
8. 프리팹 정리 및 마무리 충돌 작업
- 프리팹 정리
- 충돌 처리
- 충돌처리 방식은 BOX/CAPSULE/SPHERE/WHEEL/TERRAIN Collidor가 있는데,
부하문제로 보통은 BOX, 중요하거나 계단인 경우등은 MESH, 플레어이 컨트롤은
CAPSULE을 사용한다.
- 충돌은 플레이어가 가지 못하는 곳을 정의하는 작업이다.
- 각 애셋마다 설정하는 방법이 있고, 벽등은 충돌체를 따로 추가하는 방법이 있다.
- 꼼꼼하게 작업하기 위해, 따로 추가하는 방법을 추천한다.
- 계단은 층을 만들어서, 플레이어가 걸리게 하지 말고, 텍스쳐로 그리고, MESH Collidor
로 다각형 형태로 처리해서 부드럽게 올라갈 수 있도록 한다.
배경 작업 순서 #2
9. 9
- 유니티 라이트의 종류
Directional Light(맵에 1개만 쓰자)
Spot Light(빛이 퍼지는 분위기 내기는 좋지만 제일 무거운 라이트 = 아웃!)
Point Light(분위기 내기 좋은 라이트, 라이트맵에 애용하자)
Area Light(Bake only - 라이트맵을 구운후 작동되는 라이트, 사실상 거의 사용 안함)
- 라이트 설치방법
- 유니티 라이트맵 굽기
- 라이트맵을 제작하려는 오브젝트는 반드시 STATIC가 체크되 있어야 함
- 라이트는 라이트맵 굽기용과 아닌것을 구분하고, light그룹으로 묶어서 관리하는 것이 좋다.
- 비스트시스템을 이용해서 굽는데, 이름을 몰라도 상관없음
- 글로벌 일루미네이션(GI) : 물체간의 간접광을 계산해주는 방법
5. 유니티의 라이트
10. 10
- 라이트맵 준비하기
- 어두운 맵에서 라이트맵이 잘 나온다.
- 불빛이 나오는 조명의 주변에는 항상 간접광이 생기기 때문에, 그 간접광을 자연
스럽게 표현해주면
실제 우리 주변의 사물과 좀 더 비슷하게 보일 수 있다.
- 라이트맵 굽기
- 맵 오브젝트를 그룹화 해두고, 최상단 오브젝트에서 STATIC를 체크한후
CHILDREN에 적용하면 된다.
- FBX를 임포트 하거나, 세팅할때, 반드시 Generate Light map UV 옵션이 켜져
있어야 해당 오브젝트가 적용된다.
6. 모바일에서 라이트 맵을 잘 세팅해보자
11. 11
Single lightmaps : 기본적인 라이트맵, 음영과 컬러정도를 적용함
Dual lightmaps : 가까운 거리는 간접광, 카메라가 멀어지면, single 라이트맵과
같아 진다.
기본 디퍼드렌더링에서 동작, 포워드도 가능하다고 하나 옵션 조정해
야 한다고 함.
퍼퍼먼스 이슈가 있어서, 모바일에서는 사용안하는게 좋음
- 라이트맵을 구운후에는, 라이트를 모두 비활성화 해주고, 각 오브젝트의 Cast
Shadow와 Receive Shadow를 꺼준다
13. 13
유니티에서 모바일게임 제작시 라이트 세팅 프로세스
1. 오브젝트 배치
2. 레벨데이터 구성 -> 스태틱 옵션 체크
3. 라이트 세팅 -> 일단 실시간 라이트로 세팅
4. 라이트맵 베이킹 -> 라이트맵은 1장으로 추천
5. 실시간 라이팅 세팅 제거
6. 각 오브젝트의 쉐도우 옵션 Off
14. 14
- 1인칭(FPS)과 3인칭(쿼터뷰)에 주로 사용
Asset -> Import Package -> Character Controller선택
- 3인칭 설정
3rd person controller에서
Distance 10
Height 7
Lock Camara Tim 100
으로 바꾸고 해보자
7. 캐릭터 컨트롤러
15. 15
- 안드로이드 SDK 다운로드 / 설치
- 사용자 시스템에 장치 인식시키기
- 유니티에 안드로이드 SDK 경로 추가하기
디폴트로 유니티는 ETC1/RGBA16 포맷을 권장
-> 사용자의 앱이 해당 핸드폰이 지원하지 않는 텍스쳐 압축을 사용하면
rgba32로 무압축되고, 압축된 것과 함께 복사본이 생성된다.
-> 텍스쳐 압축 해제하는데 시간을 쓰고, 메모리를 중복 사용하게 된다.
8. 빌드 하기