๊ณ ๋์์ง ์ฐ๋ค๊ฐ ์ด๊ฑธ๋ก ์์ต์คํ๊ฐ๋ฅํ ๋ชจ๋ฐ์ผ๊ฒ ๋ง๋ค๋ ค๋ฉดย
์์์ด ๋๋ฌด ๋ง์ด ๊ฐ๋๊ฑธ ๊บ ๋ซ๊ณ ์ ๋ํฐ๋ก ๋์ด์จ ์ ๋ฆฐ๊ธฐ์
๋์์ด๋ ๋ฐ์ง๋ ๋ชจ๋ฅด๊ฒ๋๋ฐ ๊ฐค ๋ณด๋ค๊ฐย
์บ๋ฒ์ค ํ์ฑํ ๋นํ์ฑํ ํ๊ฑฐ๋ ๋ญ ์ด๋์ ๋ ์ต์ ํ ์ด์๊ฐ ์๋๊ฑฐ ๊ฐ์ ์
์ ๋ชจ๋ฅด๊ฒ์ด์ ๋๋ ํจ ์ฐพ์๋ณด๋๋ฐ ๊ด์ฐฎ์ ๊ธ ์์ด์ ์ฝ์ด๋ณด๊ณ ์์ฝํด๋ด
https://unity.com/kr/how-to/unity-ui-optimization-tips#how-hide-canvas--2
๋ด์ฉ ๋ณด๊ฐ ํ์ํ ๋ถ๋ถ ๋ง์ผ๋๊น ์ด์ํ๊ฑฐ ์์ ์๊ธฐํด์ฃผ๋ฉด ๋งค์ฐ ๊ฐ์ฌ.
์ ๋ํฐ ํํ์ด์ง์ ์ฌํด 7์์ ์ฌ๋ผ์จ ๊ธ์
<์ ๋ํฐ UIย ๋ช๊ฐ์ง ์ฉ๋ย ์ต์ ํ ํ>
1. ์บ๋ฒ์ค๋ฅผ ์ฌ๋ฌ๊ฐ๋ก ๋๋ ๋ผ
ํ๋์ ์บ๋ฒ์ค ์์ ์๋ ui ์์๋ค ์ค ํ๋๋ง ๋ฐ๋์ด๋ ์บ๋ฒ์ค ๋ด๋ถ๊ฐ ํต์งธ๋ก ๋ค์ ๊ทธ๋ ค์ง
์บ๋ฒ์ค ํ๋์ ๋ชจ๋ ui ์์ ๋ค ๋๋ ค๋ฐ์ง ๋ง๋ ์๊ธฐ์
์บ๋ฒ์ค์ ์์์ผ๋ก ์บ๋ฒ์ค ์๋๊ฑด ๊ฐ๋ณ ์บ๋ฒ์ค๋ก ์ทจ๊ธ ๊ฐ๋ฅ.
2.๊ทธ๋ํฝ ๋ ์ด์บ์คํฐ ์ ์ ํ๊ฒ ์จ๋ผ
์ ์ ์ ๋ ฅ ์๋ ui๋ ๋ ์ด์บ์คํฐ ๊บผ๋ผย
3.ย Avoid use of Camera.main
๋ ์ด์์ ๊ทธ๋ฃน ์์์ผ๋ก ์๋ย ๋ชจ๋ ui์์๋ย
๋ถ๋ชจ ๋ ์ด์์ ๊ทธ๋ฃน์ ์ฐพ์ผ๋ ค๊ณ GetComponents๋ฅผ ํธ์ถํจ
Scroll Rects๋ ๋ ์ด์์ ๊ทธ๋ฃน์ด๋ผ๊ณ ํจ.
์ต์ปค๋ฅผ ์ ํ์ฉํ๊ณ .
๋์ ์ธ ui ํ์ํ๋ฉด ์ฝ๋ ์ง์ ํ์ํ ๋๋ง ํธ์ถํ์.
๋ผ๊ณ ํ๋๋ฐ, ๋ฒํผ ์ธ๊ฐ์ง๋ฆฌ ๋ฉ๋ด ๋ง๋ค๊ณ ์ด๋ด๋๋ ๊ทธ๋ฅ ์จ๋ ๋๋๊ฑฐ ์๋๊ฐ??
5. UI ์ค๋ธ์ ํธ ํ๋งํ ๋ ๋จผ์ ๋นํ์ฑํ ํ๊ณ ๋ถ๋ชจ๋ฅผ ์ง์ ํด๋ผ
์ด๊ฑด ๋ญ์๊ธด์ง ์ ๋ชฐ๋๋๋ฐ
์คํฌ๋กค๋ทฐ ๊ฐ์๊ฑฐ๋ก ์ ํ๋ ์ค๋ธ์ ํธ ๊ฐ์๋กย ๋ง์ ์์ ๋ฐ์ดํฐ ์คํฌ๋กค๋ก ํ์ํ๋ ค๊ณ ์ฐ๋ ๊ธฐ๋ฒ ๊ฐ์.
์ข ๋ ์์๋ณด๊ณ ์ค์ ๋ก ๊ตฌํํด๋ด์ผ์ฐ๊ฒ์ด ์ด๊ฑด.
์ด๊ฑฐ ์ฌ์ ๋ฏ์ด๋ณผ๊น๋ ์๊ฐํด๋ดค๋๋ฐ ๊ทธ๊ฑด ์ข ๋์ค์ ๊ณ ๋ฏผ
6. ์บ๋ฒ์ค ์จ๊ธฐ๊ธฐ
์บ๋ฒ์ค ์ปดํฌ๋ํธ๋ฅผ ๊ทธ๋ฅ ๋นํ์ฑํ ํด๋ผ.
1๋ฒ์ด๋๋ ์ฐ๊ด๋ ๋ด์ฉ์ธ๋ฐ ์บ๋ฒ์ค ํ๋์ ๋ค ๋๋ ค๋ฐ์ผ๋ฉด ๊ป๋ค์ผฐ๋ค ํ ๋ ์ฐ์ฐ๋ย ๋นก์ธ์ง
์ผ๋จ ๋นํ์ฑํํ๋ฉด ๋๋ก์ฐ์ฝ๋ง ์๋ณด๋ด์ง ๋ฒํผ์ ์บ๋ฒ์ค ์ ๋ณด๋ ๋จ์์์ด์
๋ค์ ํ์ฑํํ๋ค๊ณ ์บ๋ฒ์ค๋ฅผ ๋ค์ ๋ฒํผ์ ๋น๋ํ์ง๋ ์์
๊ทธ๋ฆฌ๊ณ ์บ๋ฒ์ค์ปดํฌ๋ํธ๋ ๋นํ์ฑํ ํ์ฑํ ํ ๋ ์บ๋ฒ์ค์ ์์๋คํํ OnDisable/ OnEnable ์ฝ๋ฐฑ์ ์์ฒญํ์ง ์์ (๋ถ๋ด์ด ์๋ค๋ ์๊ธฐ)
์์์์๋ค ์ค์ ์ฐ์ฐ๋ ๋ฌด๊ฑฐ์ด์ ๋ค์์ผ๋ฉด ๊ฐ์ด ๊บผ์ฃผ๋๊ฒ์ ์์ง ๋ง๋ผ๋ ๊ฟํ(?)์ด ์์์
7. UI์์์ ์ ๋๋ฉ์ดํฐ ์ฅ๊ฐํ๋ฉด ์ฐ์ง๋ง๋ผ.
์ ๋๋ฉ์ดํฐ ์ฐ๋ฉด ์ ๋๋ฉ์ด์ ์๋ฐ๋๊ณ ์์ด๋ ๋งค ํ๋ ์ ์บ๋ฒ์ค๊ฐ ์ ๋ฐ์ดํธ ๋จย ใ ์ ๋๋ฉ์ดํฐ๋ ์ฌ์ฉ์ ์ธํ ์์ด๋ ์ด์์์ด ๋์๊ฐ๋ค.
์ ๋๋ฉ์ดํฐ ์ธ๋ ค๋ฉด ํญ์ ์๊ฐ์ ์ผ๋ก ์์ง์ด๋ย ์์์๋ง ์ฐ๊ณ ์๋๊ฑฐ๋ฉด ๋ํธ์ ๊ฐ์๊ฑฐ ์ฐ๊ฑฐ๋ ์ฝ๋์จ์ ์์ง์ด๊ฑฐ๋ ํ์.
๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋์ถฉ ์ผ๋ฒ๋ฌด๋ฆฌ๊ณ ์ด๋ง ํด์ฅํจ.
๋ค๋ค ์ฆ๊ฑฐ์ด ๊ฐ๋ฐํด์ ์ฑ๊ณตํด์ ๊ฐ์ ํ๊ณ ์ถ์์ผ ํ๋ฉด์ ์ด๊ธธ ๋ฐ๋
ย
3์ Camera.main ์ฐ๋ฉด ์ฌ์์ ๋ชจ๋ ์ค๋ธ์ ํธ ํ๊ทธ ๊ฒ์(FindObjectWithTag)ํด์ ํ๊ทธ๊ฐ "MainCamera" ์ธ ์ค๋ธ์ ํธ ์ฐพ๋๊ฑฐ๋ผ ๊ทธ๋ด์ง ํ์ง๋ง๊ณ ๋ฉ์ธ์นด๋ฉ๋ผ ๋ฏธ๋ฆฌ ์บ์ฑํด๋๊ณ ์ฐ๋ผ๋ ์๊ธฐ
์ด๊ฑฐ ๋ฐ๋ ์ด์ Camera.main ์จ๋๋จ
3. ์ ๋ํฐ ์คํฌ๋ฆฝํธ์์ Tag๊ฐ MainCamrea์ธ ๋ ์์ ์๋์ผ๋ก ์ฐพ์์ฃผ๋๊ฒ Camrea.main์ธ๋ฐ, ๊ทธ๊ฑฐ ๋ถํ ๋ง์ด ๊ฑธ๋ฆฌ๋๊น ์ฐ์ง ๋ง๋ผ๊ณ ํ๋๊ฑฐ.
๋ ์ด์์ ๊ทธ๋ฃน ์กด๋ ํธํ๋ฐ
๊ทผ๋ฐ ์๋ฌธ์์ ์ฐ์ง ๋ง๋ผ๋ ์ด์ ๋ ๋ค๋ฅธ ์๊ธฐ๊ฐ์๋ฐ ๋ญ์๋ฆฐ์ง ๋ชจ๋ฅด๊ฒ์
์บ๋ฒ์ค๋ฅผ ์๋์นด๋ฉ๋ผ ๋ชจ๋๋ก ์ธ๊ฒฝ์ฐ ์นด๋ฉ๋ผ ์ค์ ์ํด์ฃผ๋ฉด ๋ด๋ถ์ ์ผ๋ก Camera.main ๊ฒ๋ ๋ถ๋ฌ๋๋๊น ํ์ง ๋ง๋
๊ทธ๋ฌ๋ฉด prefab hp๊ฐ์๊ฒฝ์ฐ๋ world spcae๋ก ์บ๋ฒ์ค ์ก๋๋ฐ ์ด๊ฒ๋ ๋ฉ์ธ์ผ๋ก ์ก์์ค์ผ ํ๋ค๋ ์๊ธด๊ฐ?
ใ ใ
5. UI ์ค๋ธ์ ํธ ํ๋งํ ๋ ๋จผ์ ๋นํ์ฑํ ํ๊ณ ๋ถ๋ชจ๋ฅผ ์ง์ ํด๋ผ ์ด๊ฑฐ๋ SetParent ๊ฐ์๊ฑฐ ์ธ๋ ์ค๋ธ์ ํธ ๋นํ์ฑํ -> SetParent -> ํ์ฑํ ํ๋ผ๋๊ฑฐ ๊ฐ์๋ฐ ๋ง๋
ui์ ์ ๋๋ฉ์ดํฐ ๋์ง๋์ง ์กด๋์ผ๋๋ฐ ์๋ฐ; ์ฐ๊ธฐ ๋๋ฌดํธํ์๋
3๋ฒ Camera.main์ MainCamera ํ๊ทธ๋ฅผ ๊ฐ์ง ์ค๋ธ์ ํธ ์ค์์ ์ฒซ๋ฒ์งธ ๋์ ์ฐพ์์ฃผ๋ ๊ธฐ๋ฅ์ ๋ฐ์ง๊ณ ๋ณด๋ฉด FindWithTag("MainCamera")ํ๊ณ ๊ฐ์ง ๋ฉ์ธ์นด๋ฉ๋ผ ๋ถ๋ฌ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ์ฐพ๋ ๋ฐฉ์์ด ์๋ฐ์ธ๊ฒ, ๊ฒ์ ์ค๋ธ์ ํธ ๋ชฉ๋ก ๋ถ๋ฌ์์, ํ๊ทธ๊ฐ ๋ถ์ด์๋ ๊ฒ์ ์ค๋ธ์ ํธ ๋ชฉ๋ก ๋ง๋ค๊ณ , ๊ทธ์ค์์ MainCamera ํ๊ทธ ๋ถ์ด์๋ ๋๋ค ๋ชฉ๋ก ๋ง๋ค๊ณ , ๊ทธ์ค์์ ์ฒซ๋ฒ์งธ ๋์ ๋ฐํํ๋จ๋ง์ด์ผ ๊ทธ๋์ ์ด์ ์๋ ๋ฉ์ธ์นด๋ฉ๋ผ๋ฅผ ์บ์ฑํด์ ์ฌ์ฉํ๋๊ฑธ ๊ถ์ฅํ๋๋ฐ 2020.2๋ฒ์ ๋ถํฐ๋ ์์๋ถํฐ MainCamera ํ๊ทธ ๋ถ์ด์๋ ๋๋ค ๋ชฉ๋ก ๊ฐ์ ธ์์ ์ฒซ๋ฒ์งธ๋์ ๋ฐํํ๋๋ก ๋ฐ๊พธ์๊ธฐ ๋๋ฌธ์ ์์ฌํ๊ณ ์ฌ์ฉํด๋ ๋จ