}
ย ย
ย private void Awake()
ย ย {
ย ย ย ย SetResolution(); // ์ด๊ธฐ์ ๊ฒ์ ํด์๋ ๊ณ ์
ย ย }
ย ย public void SetUpCanvasScaler(int setWidth, int setHeight)
ย ย {
ย ย ย ย CanvasScaler canvasScaler = FindObjectOfType<CanvasScaler>();
ย ย ย ย canvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
ย ย ย ย canvasScaler.referenceResolution = new Vector2(setWidth, setHeight);
ย ย ย ย canvasScaler.screenMatchMode = CanvasScaler.ScreenMatchMode.Expand;
ย ย }
ย ย /* ํด์๋ ์ค์ ํ๋ ํจ์ */
ย ย public void SetResolution(int setWidth = 1920, int setHeight = 1080)
ย ย {
ย ย ย ย //int setWidth = 1920; // ์ฌ์ฉ์ ์ค์ ๋๋น
ย ย ย ย //int setHeight = 1080; // ์ฌ์ฉ์ ์ค์ ๋์ด
ย ย ย ย SetUpCanvasScaler(setWidth, setHeight);
ย ย ย ย int deviceWidth = Screen.width; // ๊ธฐ๊ธฐ ๋๋น ์ ์ฅ
ย ย ย ย int deviceHeight = Screen.height; // ๊ธฐ๊ธฐ ๋์ด ์ ์ฅ
ย ย ย ย Screen.SetResolution(setWidth, (int)(((float)deviceHeight / deviceWidth) * setWidth), true); // SetResolution ํจ์ ์ ๋๋ก ์ฌ์ฉํ๊ธฐ
ย ย ย ย if ((float)setWidth / setHeight < (float)deviceWidth / deviceHeight) // ๊ธฐ๊ธฐ์ ํด์๋ ๋น๊ฐ ๋ ํฐ ๊ฒฝ์ฐ
ย ย ย ย {
ย ย ย ย ย ย float newWidth = ((float)setWidth / setHeight) / ((float)deviceWidth / deviceHeight); // ์๋ก์ด ๋๋น
ย ย ย ย ย ย Camera.main.rect = new Rect((1f - newWidth) / 2f, 0f, newWidth, 1f); // ์๋ก์ด Rect ์ ์ฉ
ย ย ย ย }
ย ย ย ย else // ๊ฒ์์ ํด์๋ ๋น๊ฐ ๋ ํฐ ๊ฒฝ์ฐ
ย ย ย ย {
ย ย ย ย ย ย float newHeight = ((float)deviceWidth / deviceHeight) / ((float)setWidth / setHeight); // ์๋ก์ด ๋์ด
ย ย ย ย ย ย Camera.main.rect = new Rect(0f, (1f - newHeight) / 2f, 1f, newHeight); // ์๋ก์ด Rect ์ ์ฉ
ย ย ย ย }
ย ย }
}
์ด๊ฑฐ ์๋๋น
์บ๋ฒ์ค ์ฌ๋ฌ ๊ฐ๋ก ํ๋๋
์ฒ์ ์บ๋ฒ์ค๋ง ์คํฌ๋ฆฐ ํฌ๊ธฐ๋ก ๋ณด์ ๋๊ณ ,ย ๋ค๋ฅธ ์บ๋ฒ์ค๋ค์ ๋น์จ์ด ์ด์ํ๊ธธ๋
์บ๋ฒ์ค ๊ฑ ๋ค ํฉ์ณค๋๋ฐ๋ ์ฌ์ ํ ๊ทธ๋ผ
์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค๋ฅธ ํ๋ก์ ํธ ํ ๋๋ ์ผ์๋๋ฐ ๊ทธ๋๋ ์ด์ ์์๋๋ฐ ์ ๊ทธ๋ด๊น์ฌ
์ ์คํฌ๋ฆฝํธ๋ ๋ฌธ์ ์๋๊ฑด๊ฐ์?
CanvasScaler canvasScaler = FindObjectOfType(); ์บ๋ฒ์ค ํ๋๋ง ๋ฐ์์์ ์ฐ๋๊ฑฐ๋ผ ๊ทธ๋ด๊ฑฐ ๊ฐ์๋์
CanvasScaler ๋ณ์ํ์ ํ๋์ ๋ฐ๋๊ฑฐ์ ๊ฒ์๋ CanvasScaler ์ด๊ฑฐ ๊ฐ์ง๊ณ ์๋์ ํ๋๋ง ์ฐพ์์ ๋ฐ์์ ์ฌ์ฉํ๋๊ฑธ๋ก ๋ง๋ค์๋ด์
Screen.SetResolution ์ด๊ฑฐ๋ ์คํฌ๋ฆฐ ํด์๋๋ง ๋ณ๊ฒฝํ๋๊ฑธ๋ก ๊ธฐ์ตํฉ๋๋ค UI ํ๋ฉด์ ๋ง์ถ๋๊ฑฐ๋ฉด ์บ๋ฒ์ค์ ์๋ ui ์ด๋ฏธ์ง๋ค์ ์ต์ปค ๊ธฐ์ค์ผ๋ก ๋ง์ถ๊ณ ๊ทธ๋ค์ ๋น์จ ๊ฑด๋๋๊ฒ ํธํ ๊ฑฐ์์
๊ฐ์ฌํฉ๋๋ค ์ง๊ฐ์ ํจ ํด๋ณผ๊ฒ์!!