๐ŸŽฎ Unity Study/Unity

[Unity] ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์—์…‹ ๊ด€๋ฆฌ

ibelieveinme 2023. 4. 17. 15:17
728x90

๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„์„ ๋งŒ๋“ค ๋•Œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํŠนํžˆ ์ค‘์š”ํ•˜๋‹ค.

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ์“ฐ๋ฉด OS๊ฐ€ ์•ฑ์„ ์ฃฝ์—ฌ๋ฒ„๋ฆฌ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.

 

์ด๋Ÿฐ๊ฑธ ์–ด๋–ป๊ฒŒ ํ™•์ธํ•˜๋ƒ?

Unity Profiler๋ฅผ ์•ฑ์— ๋ฌผ๋ ค์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ข€ ๋” ์ž์„ธํžˆ ๋ณด๋ ค๋ฉด Memory Profiler๋ฅผ ๋ณด๋ฉด๋œ๋‹ค. ๊ธฐ๋ณธ์ œ๊ณต๋˜์ง„ ์•Š๊ณ  Package Manager์—์„œ ๋‹ค์šด๋ฐ›๋Š” ๊ฒƒ.

Editor์—์„œ๋„ ๋˜์ง€๋งŒ ์ •ํ™•ํ•œ ์ˆ˜์น˜๋Š” ์•„๋‹ˆ๊ธฐ์— Target Device ์— ์˜ฌ๋ ค์„œ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

 

* ๋ฉ”๋ชจ๋ฆฌ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” Asset ๊ด€๋ฆฌ

1. ์ค‘๋ณต ๋ฆฌ์†Œ์Šค

    : Unity ๋Š” ์ค‘๋ณต ํŒŒ์ผ์„ ์ฒดํฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์‹ค์ˆ˜๋กœ ๋™์ผํ•œ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ํด๋”์— ๋„ฃ์ง€๋Š” ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜์ž.

2. Audio

    1) Force To Mono ์ฒดํฌํ•˜๊ธฐ.

    2) Load Type: Decompress on load( < 256KB ์ผ ๊ฒฝ์šฐ ์‚ฌ์šฉ)

                                                                 // ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆด ๋•Œ ์••์ถ•์„ ๋‹ค ํ’€์–ด์„œ ๋„ฃ์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ.

                                                                 // ์žฌ์ƒ์†๋„๋Š” ๋น ๋ฅด์ง€๋งŒ, ์šฉ๋Ÿ‰์„ ์—„์ฒญ ๋จน๋Š”๋‹ค.

                            Compressed into memory( < 1MB ์ผ ๊ฒฝ์šฐ ์‚ฌ์šฉ)

                            Streaming( > 1MB)

    3) Compression Format : ๋งค์šฐ ์งง์€ ํด๋ฆฝ์€ ADPCM, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ Vorbis

    4) Mute ๋˜์–ด๋„ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ์กด์žฌํ•จ

3. Mesh

   1) Mesh Compression์€ ์ €์žฅ์šฉ๋Ÿ‰ ๊ด€๋ จ์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ์™€๋Š” ๋ฌด๊ด€ํ•˜๋‹ค.

   2) Read/Write Enabled ์˜ต์…˜ ํ•ด์ œ

        - CPU ๋ฉ”๋ชจ๋ฆฌ์™€ GPU ๋ฉ”๋ชจ๋ฆฌ ์–‘์ชฝ์— ์กด์žฌํ•˜์—ฌ ์ค‘๋ณต๋จ.

       - 2019.3 ๋ถ€ํ„ฐ๋Š” ๊ธฐ๋ณธ ๊บผ์ง

   3) ๋ถˆ ํ•„์š” ์‹œ ๋Œ ์˜ต์…˜๋“ค ํ™•์ธ: Rig, BlendShapes, Normal, Tangent, Lightmap UVs, Generate Colliders.

4. Shader Variants

  1) ํŒจํ‚ค์ง€ ์šฉ๋Ÿ‰์— ํ•ด๋‹น๋˜๋Š” ๋‚ด์šฉ์ด์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋„ ์˜ํ–ฅ์ด ์žˆ์Œ. ํ•˜๋‚˜์˜ ์‰์ด๋”๊ฐ€ ์ˆ˜ ๋งŽ์€ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ํŒŒ์ƒ๋˜๊ธฐ ๋•Œ๋ฌธ.

  2) Graphics API ์ง€์ •(Player Settings)

  3) Shader Stripping (Graphics / URP Settings)

  4) URP Asset์—์„œ ๋ฏธ ์‚ฌ์šฉ ๊ธฐ๋Šฅ ๋น„ํ™œ์„ฑํ™”

  5) multi_compile vs shader_feature: shader ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•  ๋•Œ ํ•ด๋‹น

  6) ShaderVariantCollection (Hiccup vs Memory)

  7) Log Shader Compilation

5. Text Mesh Pro

  : ๊ธ€์ž๋“ค์„ ๋ฏธ๋ฆฌ Texture๋กœ ์ œ์ž‘ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  1) ์˜๋ฏธ๊ถŒ ์–ธ์–ด๋Š” ํฐ ๋ฌธ์ œ ์—†์Œ. 

  2) ํ—ˆ์šฉ ๊ธ€์ž๋ฒ”์œ„: ํ•œ๊ธ€์€ ์กฐํ•ฉ๋ฐฉ์‹. ํ•œ๊ธ€ 2350์ž, ์ถ”๊ฐ€ 129์ž(๊ดž์›ฑ๊ถด๊ธœ๊บ†๊บ ๊พค๋‰Œ๋‰๋‰‘๋Œฌ๋Œฑ๋...), + ... => 11,000์—ฌ๊ฐœ๊ฐ€ ๋จ.

  3) Static vs Dynamic

       Static: ์‚ฌ์šฉ๋  ๋ชจ๋“  ๋ฌธ์ž ์•„ํ‹€๋ผ์Šค๋ฅผ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ.

                    ๋Ÿฐํƒ€์ž„์‹œ ์›๋ณธ ํฐํŠธ๊ฐ€ ํ•„์š” ์—†์Œ

      Dynamic: ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•„์š”ํ•œ ํฐํŠธ ์•„ํ‹€๋ผ์Šค๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ๊ฒƒ.

                        ๋Ÿฐํƒ€์ž„์‹œ ์›๋ณธ ํฐํŠธ ํ•„์š”

                        ์‚ฌ์šฉ ๋ฌธ์ž๋“ค์˜ ๋ฒ”์œ„๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์„ ๋•Œ ์œ ์šฉํ•จ

  4) Multi Atlas Texturres

      Draw call vs ๋Œ€์—ญํญ(Atlas Resolution)๋ฅผ trade off ํ•˜์ž.

6. Texture

  1) ๊ฐ€๋Šฅํ•œ ์‚ฌ์ด์ฆˆ๋Š” ์ž‘๊ฒŒ

  2) ์ ์ ˆํ•œ Texture Compression Format

  3) 2D ๋ฐ UI๋Š” SpriteAltas ์ ๊ทน ํ™œ์šฉ

  4) Read/Write Enabled ์˜ต์…˜ ํ•ด์ œ(CPU์™€ GPU๋ฉ”๋ชจ๋ฆฌ ์–‘์ชฝ์— ์ค‘๋ณต์กด์žฌ๋˜๊ธฐ ๋•Œ๋ฌธ)

  5) Mip map: ๊ฐ€๊นŒ์ด ์žˆ๋Š” ์• ๋Š” ๊ณ ํ•ด์ƒ๋„, ๋ฉ€๋ฆฌ ์žˆ๋Š”์• ๋Š” ์ €ํ•ด์ƒ๋„๋ฅผ ์ž…ํžˆ๋Š” ๊ฒƒ.

                       Mip Map์„ ๋งŒ๋“ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 33.33...% ๋Š˜์–ด๋‚œ๋‹ค.

                       2D, UI์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„ ํ•„์š” ์—†์–ด์„œ ๋„๋Š”๊ฒŒ ์ข‹์Œ. 3D์—์„œ๋Š” ๊ฑฐ์˜ ํ•„์ˆ˜

7. Scene Loading

Scene ๋กœ๋“œ ์ ˆ์ฐจ

Scene A๊ฐ€ ๋กœ๋”ฉ ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์—์„œ Scene B๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋จ. Scene A ๊ฐ€ ๊ฐ€๋ฒผ์šฐ๋ฉด ๊ดœ์ฐฎ์€๋ฐ, ๋ฌด๊ฑฐ์šฐ๋ฉด ๋‘๊ฐœ๊ฐ€ ๊ฐ™์ด ์˜ฌ๋ผ๊ฐ€๋ฒ„๋ฆฌ๋‹ˆ๊นŒ ํ„ฐ์งˆ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€๋ฒผ์šด ๋กœ๋”ฉ์”ฌ(Scene C)์„ ์ถ”๊ฐ€ํ•˜์ž.

 

* ์ฐธ๊ณ  ์˜์ƒ

https://www.youtube.com/watch?v=52ehLUfk3DQ 

728x90