[별아재군/unity3d] 모바일 화면해상도와 캔버스 스케일, 메인 카메라 초기설정 하기.
자~ 이제 모바일 게임 해상도 조정하기..
열심히 게임을 만들었다고 치자..
세상에 나온 핸폰 종류도 많고..
해상도, 화면비율도 각기 다양한데..
게임이 화면이 잘 표현될까?
당연히 엉망으로 되겠죠?
그래서 핸드폰, 모바일이 종류가 달라도
게임을 하는데 큰 지장이 없게..
화면비율, 해상도를 맞추는 작업이 필요합니다.
일단, 제가 가지고 있는 핸드폰 기준으로..
기본은 가로 본능인데
핸드폰 양손으로 들고 있는게 불편해서..
새로로 할 수 있는 게임으로 구성했기에..
새로 본능으로 변경..
최소 구동 하드웨어는
집에 놀고 있는 갤럭시 A5로 하고 싶어서
해상도도 그렇게 맞춤
Galaxy A5
1080 x 1920
화면에 잘 반영이 되었나 확인해 보고..
다음은 캔버스를 조정합니다.
캔버스를 선택하고..
캔버스 Scaler를 선택합니다..
UI Scale Mode를 Scale With Screen Size로
아래 Reference를 1080 x 1920로 변경합니다..(새로 모드에요..)
Screen Match는 Expand로 변경해요..
다음, Main Camera를 선택하고..
Camera 객체를 선택하고..
Veiwport Rect를 확인할게요..
이제 카메라를 조정할 스크립트를 생성합니다..
스크립트 이름을 바꿔주세요..
그리고 스크립트를 드래그해서 Main Camera에 넣어줍니다..
카레마 오브젝트에 잘 연결이 되었죠..
그리고 스크립트를 열어주세요..
아래와 같이 스크립트를 바꿔주세요..
이건 아래 보이시는 고라니TV에서 수정해 주신 정보입니다..
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraResolution : MonoBehaviour
{
void Start()
{
Camera camera = GetComponent<Camera>();
Rect rect = camera.rect;
float scaleheight = ((float)Screen.width / Screen.height) / ((float)9 / 16); // (가로 / 세로)
float scalewidth = 1f / scaleheight;
if (scaleheight < 1)
{
rect.height = scaleheight;
rect.y = (1f - scaleheight) / 2f;
}
else
{
rect.width = scalewidth;
rect.x = (1f - scalewidth) / 2f;
}
camera.rect = rect;
}
void OnPreCull() => GL.Clear(true, true, Color.black);
}
잘 수정이 되었으면 저장을 하시고..
마지막으로 잘 적용이 됐는지...
오류는 없는지 플레이를 시켜 보세요..
해상도 초기 설정은 여기까지에요...
고라니TV - 게임개발 채널
이거 하나면 모바일 해상도 걱정 끝! 16:9 고정해상도 만들기
https://youtu.be/uQZFawccnNg
고라니TV에서 도움 많이 받아서..
구독중이고 좋아요!! 꾸!! 눌렀어요.. ㅎㅎ
오늘은 여기까지..
'ペ 자기계발 ペ > ⒈유니티(Unity3d)' 카테고리의 다른 글
[별아재군/unity3d] 유니티 첫 실습작업.. 탄식천지 + 영웅천하 매시업(Mashup) (0) | 2023.04.26 |
---|---|
[별아재군/unity3d] 모바일 웹 빌드(Build) 하기 전 해상도 등 설정하기.. (0) | 2023.04.26 |
[별아재군/unity3d] 유니티 게임개발을 초기설정값에서 다시 시작하자. (1) | 2023.04.26 |
[별아재군/unity3d] 유니티(Unity) 설치후 실행 안될때 다시 재설치하는 방법.. (0) | 2023.04.26 |
[별아재군/unity3d] 유니티(unity) 재설치 하기 위해 다운로드 받기.. (0) | 2023.04.26 |