###계속 수정할 예정###
1]기본 모바일 세팅
1.빌드세팅 - 안드로이드 - 스위치플래폼
2.플레이어세팅 - 안드로이드타겟 - 디폴트오리엔테이션 - 가로면 랜드스케이프레프트(가로좌우회전생각해볼것), 세로면 포트레이트
2.게임뷰스크린 원하는 해상도설정(대개 16:9)
1920 1080
1600 900
1360 768
1280 720
1024 600
800 480
640 360
2]2d세팅
1.sprite를 그릴때
16x16, 32x32, 48x48처럼 미리 ppu(한칸이 몇픽셀인가,스프라이트가 한칸을 넘을수있다[던그리드아이템이 한칸을 벗어난점을 참고])를 생각해두고 제작
스프라이트시트를 그릴때 - 시트에 넣을 이미지중에 가장큰 이미지의 x크기,y크기 * 이미지개수로 새그림창만들기
그리드옵션을 위에x,y사이즈로 설정 - 각그리드 정중앙에 오도록 복사&배치
멀티플스프라이트로 제작하여 오토스플라이스를 이용할때 유니티는 가로순으로 이름을 부여한다
고로 같은 내용을 가로로 배치하는게 나중에 편하다
2.sprite를 import할때
sprite베이스 - inspector - texture type - sprite(2d and ui)
- pixels per unit조정(작아질수록 씬상에서 크게보임, UI Canvas에서는 적용X)
- filter mode - point(no filter)
- compression - none
-max size조정 (하단 미리보기 창으로 사이즈확인)
-stripe mode - single 또는 multiple
-multiple일시 stripe editor- slice - grid by cellsize이용(각sprite 거리이격시 padding이용)
-pivot은 BottomCenter으로 하는것이 유리하며 나중에 다시 수정해 중심을 통일시켜야 자연스러운
애니메이션 구현가능
- mipmap 체크해제(기본)
3.2d세팅
main camera오브젝트 - camera - clear flag - solid color
- projection - othographic(기본)
- size - Orthographic size = ((Vertical Resolution)/(PPUScale * PPU)) * 0.5
Quality settings - rendering - antialiasing - disabled
- anisotropic flitering - disabled
3]픽셀세팅
1.Font 설정
Font 를 Pixel 스럽게(?) 표현하기 위해서 빈 오브젝트를 생성하고 아래 스크립트를 추가
public Font[] fonts;
void Start () {
//폰트가 Pixel Perfect 하게 보이도록 설정
for(int i=0; i<fonts.Length;i++) {
fonts[i].material.mainTexture.filterMode = FilterMode.Point;
}
}
Inspector 에서 폰트를 등록해서 실행하게 되면 좀더 Pixel 스러운 결과를 얻을 수 있음.
2.픽셀퍼펙트 카메라
windows - package manager - all - 2d pixel perfect camera - 설치
메인카메라 컴포넌트에 pixel perfect camera붙이기
assets for pixel per unit과 reference resolution 적용
업스케일 적용(잘모르겠다.테스트해볼것)
2.1위에 것들이 잘되지 않는다면 https://blog.naver.com/gold_metal/220886179355 적용할것
????????????????????????????????????????????????????????????????
https://www.youtube.com/watch?v=VDcWSEs856k
?????????????????????????????????????????????????????????????????????????
3]UI 해상도조절
2.Canvas오브젝트의 Canvas Rendermode - camera
3.Canvas오브젝트의 Canvas Scaler - Scale With Screen Size
Reference Resolution - 원하는 해상도(x,y)입력
Screen Match Mode - Match Width Or Height
Match - 가로 화면이라면 Height, 세로 라면 Width로 하는 경우가 많습니다(게임뷰스크린 바꿔가며 테스트할 것)
4.이후 Canvas내부 오브젝트의 Rect Transfrom의 앵커들을 각 오브젝트의 위치(↖↗↘↙↑↓→←)8방향에 맞게 빨간점 뜨게 지정해준다.
또한 비슷한 UI오브젝트(메뉴의 버튼들)같은 경우 Layout Group(Vertical or Horizontal)으로 묶어준다.
********************************************????????*******************************************************************
Reference Pixels Per Unit
- 스프라이트에 이 'Pixels Per Unit' 설정이 적용된 경우 스프라이트의 1 픽셀이 UI의 유닛 하나에 해당합니다.
시중 폰 해상도표
https://zetawiki.com/wiki/%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%8F%B0_%ED%95%B4%EC%83%81%EB%8F%84,_%ED%99%94%EB%A9%B4%EB%B9%84%EC%9C%A8
***********************************************?????????****************************************************************
4]게임 해상도조절
1. GameManager 또는 Camera 또는 Canvas오브젝트(게임시작후 쭉 유지,씬 마다 실행되는)에 Awake()함수에 다음내용추가
Screen.SetResolution( Screen.width, (Screen.width * 16) / 9 , true); //16:9로 개발시
Screen.sleepTimeout = SleepTimeout.NeverSleep;//어느정도 입력이 없을시에 화면어두워지면서 잠기는데
그때 다시 풀필요 없이 쭉 실행되게끔함
'유니티스킬' 카테고리의 다른 글
유니티 2d 게임 타일 지형 만들기unity 2d game tile map making dynamic (0) | 2019.05.09 |
---|