์ด๋ฒ ํฌ์คํ ์ ์๋์ด ์ํฐ์คํธ ๋ฆฐ๋ฐ๋์ ์คํ ๊ฐ์๋ฅผ ๋ฐํ์ผ๋ก, ์ธ๋ฆฌ์ผ ์์ง์์ ์ดํํธ๋ฅผ ์ ์ํ ๋ ๋ฐ๋์ ์์์ผ ํ ์ต์ ํ ๊ธฐ๋ฒ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
์ดํํธ๋ ๊ฒ์์ ๋ชฐ์ ๋๋ฅผ ๋์ด๋ ํต์ฌ ์์์ด์ง๋ง, ๋์์ ํ๋ ์ ์ ํ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ฆ๊ฐ๋ฅผ ๊ฐ์ฅ ์ฝ๊ฒ ์ ๋ฐํ๋ ์์ญ์ด๊ธฐ๋ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ดํํธ ์ ์ ๋จ๊ณ๋ถํฐ ์ต์ ํ๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
๋ณธ ๊ธ์์๋ ์ฐธ์กฐ ๊ตฌ์กฐ ๊ด๋ฆฌ, ํํฐํด ์์คํ ์ต์ ํ, ๋จธํฐ๋ฆฌ์ผ๊ณผ ํ ์ค์ฒ ๊ด๋ฆฌ ๋ฑ ์ค๋ฌด์์ ์ฆ์ ์ ์ฉ ๊ฐ๋ฅํ ํต์ฌ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค.
Resource Optimization
1. Reference Viewer๋ฅผ ํตํ ์ฐธ์กฐ ์ต์ ํ
์ดํํธ ์์ ์ ๋ณดํต ๋ค์ ๊ตฌ์กฐ๋ก ์ฐ๊ฒฐ ๋ฉ๋๋ค.
Effect Actor โ Animation โ Particle โ Material โ Texture

์ ๋ฆฌ ์์๋ Bottom-Up ์์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํํฐํด์ ์ญ์ ํ๊ธฐ ์ ์ ์ ๋๋ฉ์ด์ ๋ ธํฐํ์ด์์ ํด๋น ํํฐํด์ ์ ๊ฑฐํด์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
- ๋ ํผ๋ฐ์ค๋ฅผ ์ญ์ ํ ํ์๋ ๋ฐ๋์ **'ํด๋์ ๋ฆฌ๋๋ ํฐ ๊ณ ์น๊ธฐ(Fix Up Redirectors)'** ๋ฅผ ์คํํด์ผ ์ฐธ์กฐ ๊ฒฝ๋ก๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ฐฑ์ ๋ฉ๋๋ค - ๋ฆฌ๋๋ ํฐ๋ ์์ ์ด ์ด๋ํ๊ฑฐ๋ ์ญ์ ๋ ๋ ์์ฑ๋๋ ์์ ์ฐธ์กฐ ํ์ผ์ ๋๋ค. - ์ด๋ฅผ ๊ณ ์ณ๋์ง ์์ผ๋ฉด ์๋ชป๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋ถํ์ํ ๋ก๋ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
2) Blueprint ์ต์ ํ
๋ฏธ์ฌ์ฉ ๋ณ์ ์ญ์
๋ฏธ์ฌ์ฉ ๋ณ์๋ฅผ ์ผ๊ด ์ญ์ ํ์ฌ ๋ธ๋ฃจํ๋ฆฐํธ์ ๋ณต์ก๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.

๋ณ์์ ๋ ํผ๋ฐ์ค ๊ฒฝ๋ก๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ณ์(๋๋ ๋ ธ๋)๋ฅผ ์ฐํด๋ฆญํ์ฌ โ๋ ํผ๋ฐ์ค ์ฐพ๊ธฐโ๋ฅผ ์ ํํฉ๋๋ค. ์ฐพ๊ธฐ ๊ฒฐ๊ณผ ์ฐฝ์์ ๋๋ณด๊ธฐ ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ํด๋น ์์น๋ก ๋ฐ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
Tick ์ด๋ฒคํธ ์ฌ์ฉ ์ ํ
- Tick ์ด๋ฒคํธ๋ ๋งค ํ๋ ์๋ง๋ค ์คํ๋๋ฏ๋ก ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- ๊ฐ๋ฅํ๋ฉด Timer ํจ์๋ Event Dispatcher๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ์์ ์๋ง ์คํ๋๋๋ก ๊ตฌํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๋ถ๊ฐํผํ๊ฒ ์ฌ์ฉํด์ผ ํ๋ค๋ฉด ์กฐ๊ฑด๋ฌธ(if)์ผ๋ก ์คํ ๋น๋๋ฅผ ์ ํํ์ธ์.
ํ๋ก๊ทธ๋๋จธ ๊ฒ์ฆ
์ต์ ํ ์์ ํ์๋ ๋ฐ๋์ ํ๋ก๊ทธ๋๋จธ์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ๋ก์ง์ ํจ์จ์ฑ์ ๊ฒ์ฆ๋ฐ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค
3) Particle System ์ต์ ํ

์ด๋ฏธํฐ ์ ๋ฆฌ
- ์ฌ์ฉํ์ง ์๋ ์ด๋ฏธํฐ๋ ์ฆ์ ์ญ์ ํ์ฌ ์์คํ ๋ณต์ก๋๋ฅผ ๋ฎ์ถฅ๋๋ค.
- ์ด๋ฏธํฐ ์ด๋ฆ์ ์ฉ๋์ ๋ง๊ฒ ๋ช ํํ๊ฒ ์ง์ ํฉ๋๋ค. (์: Smoke_Main, Spark_Trail)
- ์ธ๋ค์ผ์ ์ต์ ์ํ๋ก ์ ๋ฐ์ดํธํ์ฌ ์์ ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
- ํํฐํด์ ๊ณ ์ ๋ฐ์ด๋(Fixed Bounds)๋ 1.2 ์ ๋๋ก ์ค์ ํฉ๋๋ค.
- ๋ฐ์ด๋๊ฐ ์นด๋ฉ๋ผ ํ๋ฌ์คํ (ํ๋ฉด ์์ญ)๊ณผ ์กฐ๊ธ์ด๋ผ๋ ๊ฒน์น๋ฉด ํํฐํด์ด ๋ ๋๋ง๋ฉ๋๋ค.
- ๋๋ฌด ์๊ฒ ์ค์ ํ๋ฉด ํํฐํด์ด ํ๋ฉด์์ ์ฌ๋ผ์ง ์ ์๊ณ , ๋๋ฌด ํฌ๋ฉด ๋ถํ์ํ ๋ ๋๋ง์ด ๋ฐ์ํฉ๋๋ค.
CPU ๋ถํ๊ฐ ํฐ ๋ชจ๋
- Collision ๋ชจ๋: ์คํฐ๋ ํํฐํด์ด ๋ค๋ฅธ ์ค๋ธ์ ํธ์ ์ถฉ๋ ๊ฐ์ง๋ฅผ ํ ๋ CPU ์ฐ์ฐ์ด ๋ฐ์ํฉ๋๋ค. ์ต์ ํ๋ฅผ ์ํด ํํฐํด ์คํฐ ๊ฐ์๋ฅผ ์ ํํ๊ฑฐ๋ Collision ์ฒดํฌ๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ์ด ์ข์ต๋๋ค
- Spawn Per Unit ๋ชจ๋: ์ด๋ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ํํฐํด ์ค์ผ์ผ์ ์กฐ์ ํ๋ ๋ชจ๋์
๋๋ค. ๊ฐ์ด ํด์๋ก ํํฐํด์ด ์๊ฒ, ๊ฐ์ด ์์์๋ก ํฌ๊ฒ ์์ฑ๋ฉ๋๋ค
- ๋น๊ณ ์ ๋ฐ์ด๋(Dynamic Bounds): ํํฐํด ์์น์ ๋ฐ๋ผ ๋ฐ์ด๋๋ฅผ ๋งค ํ๋ ์ ๊ณ์ฐํ๋ฏ๋ก CPU ๋ถํ๊ฐ ์ฆ๊ฐํฉ๋๋ค. ๊ฐ๋ฅํ๋ฉด ๊ณ ์ ๋ฐ์ด๋๋ฅผ ์ฌ์ฉํ์ธ์
๋ชจ๋ ๊ณต์
- ์ฌ๋ฌ ์ด๋ฏธํฐ์์ ๋์ผํ ์ค์ ์ ์ฌ์ฉํ๋ค๋ฉด ๋ชจ๋์ ๊ณต์ ํ์ฌ ์์ ํจ์จ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
- ๋ชจ๋ ๊ณต์ ๋ Shift + Drag๋ก ์ฝ๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค.
โ ๏ธ Data Type(Vector, Float ๋ฑ)์ ๋ฐ๋ผ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋์ด ๋ค๋ฅด๋ฏ๋ก ์ฒดํฌ๊ฐ ํ์ํฉ๋๋ค.
๋ฃจํ ์ดํํธ ๊ด๋ฆฌ
์ด๋ฏธํฐ์ ์ข ๋ฃ ์กฐ๊ฑด์ ์ค์ ํ์ง ์์ผ๋ฉด ๊ฒ์ ๋ด์์ ๊ณ์ ์คํ๋์ด ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. Duration์ด๋ Kill ๋ชจ๋์ ์ฌ์ฉํ์ฌ ๋ช ํํ ์ข ๋ฃ ์์ ์ ์ง์ ํ์ธ์

Light Renderer ์ต์ ํ
Use Inverse Squared Falloff์ต์ ๋นํ์ฑํ: ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ํํ์ง๋ง ์ฐ์ฐ ๋น์ฉ์ด ๋์ต๋๋ค๋ฐํฌ๋ช ์๋ ์ ์ฉ(Affect Translucency)์ต์ ๋นํ์ฑํ: ๋ฐํฌ๋ช ์ค๋ธ์ ํธ์ ๋ผ์ดํ ๊ณ์ฐ์ด ์ถ๊ฐ๋ก ๋ฐ์ํฉ๋๋ค- ๋ผ์ดํธ ๊ฐ์ ๋
Light Exponent๊ฐ์ผ๋ก ์กฐ์ ํ ์ ์์ต๋๋ค.
4) Material ์ต์ ํ
Blend Mode์ Shading Model ์ค์
๊ธฐ๋ณธ ์ดํํธ ์ค์
- Blend Mode: Translucent ๋๋ Masked
- Shading Model: Unlit (์กฐ๋ช ๊ณ์ฐ ์์)
- Render Depth of Field: ๋นํ์ฑํ (ํผ์ฌ๊ณ ์ฌ๋ ํจ๊ณผ ์ ์ธ)
Base Color๊ฐ ํ์ํ ์ดํํธ ์ค์
- Blend Mode: Translucent ๋๋ Masked
- Shading Model: Default Lit (์กฐ๋ช ๊ณ์ฐ ํฌํจ)
- Render Depth of Field: ๋นํ์ฑํ
- Lighting Mode: Volumetric PerVertex NonDirectional
- ๋ฒํ ์ค ๋จ์ ์กฐ๋ช ๊ณ์ฐ์ผ๋ก ์ฑ๋ฅ๊ณผ ํ์ง์ ๊ท ํ์ ๋ง์ถฅ๋๋ค
Material ๋ณต์ก๋ ๊ด๋ฆฌ
- ๋จธํฐ๋ฆฌ์ผ์ Instructions ์๊ฐ ์ ์์๋ก ๋ ๋๋ง ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
- ๋ทฐํฌํธ์์ โShader Complexityโ ๋ชจ๋๋ฅผ ํ์ฑํํ์ฌ ๋ณต์ก๋๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ๐ข ๋ น์ : ์ต์ ํ ์พ์ ์ํ
- ๐ด ๋นจ๊ฐ์: ์ต์ ํ ํฌํ ์ํ
ํ๋ผ๋ฏธํฐ ์ด๋ฆ์ ์ผ๊ด๋ ๊ท์น์ผ๋ก ์์ฑํ์ฌ ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
5) Texture ์ต์ ํ
POT(Power of Two) ์ฌ์ด์ฆ ์ฌ์ฉ
- ํ
์ค์ฒ ํด์๋๋ 2์ ๊ฑฐ๋ญ์ ๊ณฑ(64, 128, 256, 512, 1024 ๋ฑ)์ผ๋ก ์ ์ํด์ผ ํฉ๋๋ค.
- GPU๋ POT ๊ท๊ฒฉ์ ํ ์ค์ฒ๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ๊ณผ ๋ฐ๋งต ์์ฑ์ด ์ต์ ํ๋ฉ๋๋ค.
- ๋ง์ฝ POT ๊ท๊ฒฉ์ ๋ง์ง ์๋ ํ ์ค์ฒ๋ ์ธ๋ฆฌ์ผ ์์ง์์ ์๋์ผ๋ก ๋ฆฌ์ฌ์ด์ง๋์ด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
Alpha ์ฑ๋ ๊ด๋ฆฌ
- ์ํ ์ฑ๋ ์ฌ์ฉ ์ฌ๋ถ์ ๋ฐ๋ผ ํ
์ค์ฒ ์ฉ๋์ด 1.5~2๋ฐฐ๊น์ง ์ฐจ์ด๊ฐ ๋ ์ ์์ต๋๋ค
- ์ํ๊ฐ ํ์ ์๋ ๊ฒฝ์ฐ
Compress Without Alpha์ต์ ์ ํ์ฑํํ์ธ์. - ์ํ์ฑ๋ ์ฌ๋ถ์ ๋ฐ๋ฅธ ์์ถ์ ์ธํ
- ์ํ ์ฑ๋์ด ์์ ๋: DXT1 ์์ถ ์ฌ์ฉ (RGB๋ง ์ ์ฅ)
- ์ํ ์ฑ๋์ด ์์ ๋: DXT5 ์์ถ ์ฌ์ฉ (๋ถ๋๋ฌ์ด ์ํ ๋ณด์ ์ ์ํด ์ถ๊ฐ ๋ฐ์ดํฐ ์ ์ฅ)
- ์ํ๊ฐ ํ์ ์๋ ๊ฒฝ์ฐ
Texture Group ์ค์
์ฉ๋๋ณ๋ก ํ ์ค์ฒ ๊ทธ๋ฃน์ ์ ์ ํ ์ง์ ํ๋ฉด ์์ง์ด ์๋์ผ๋ก ์ต์ ์ LOD์ ์คํธ๋ฆฌ๋ฐ์ ์ ์ฉํฉ๋๋ค.
โ์ดํํธ์ฉ ํ
์ค์ฒ๋ ๋ณดํต Effects ๊ทธ๋ฃน์ผ๋ก ์ค์ ํฉ๋๋ค.
6) Mesh ์ต์ ํ
Collision ์ค์
- ๋ฉ์๋ฅผ ์ํฌํธํ ๋ Auto Generate Collision ์ต์ ์ ๋นํ์ฑํํฉ๋๋ค.
- ํ์ํ ๊ฒฝ์ฐ ๊ฐ๋ฅํ ํ ๋จ์ํ ํํ์ ์ฝ๋ฆฌ์ (Box, Sphere)์ ์๋์ผ๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค
- ๋ณต์กํ ํด๋ฆฌ๊ณค ์ฝ๋ฆฌ์ ์ ๋ฌผ๋ฆฌ ์ฐ์ฐ ๋น์ฉ์ ํฌ๊ฒ ์ฆ๊ฐ์ํต๋๋ค
LOD ๋ฐ Shadow ์ค์

- LOD0 ์ธํ : ์ต๊ณ ํ์ง LOD์์๋ ๋ถํ์ํ ๋ํ ์ผ์ ์ ๊ฑฐํฉ๋๋ค.
- Cast Shadow ๋นํ์ฑํ: ๋๋ถ๋ถ์ ํํฐํด ์ดํํธ๋ ๊ทธ๋ฆผ์๊ฐ ํ์ ์์ผ๋ฏ๋ก ๋นํ์ฑํํ์ฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
ํผํฌ๋จผ์ค ๊ฒ์ฆ ๋ฐฉ๋ฒ
์ดํํธ ์ต์ ํ ์์ ํ์๋ ์ค์ ๊ฒ์ ํ๊ฒฝ์์ ์ฑ๋ฅ์ ์ธก์ ํ๊ณ ๊ฒ์ฆํ๋ ๊ณผ์ ์ด ํ์์ ์ ๋๋ค.
Shader Complexity ๋ชจ๋
- ๋ทฐํฌํธ ์๋จ์ View Mode์์ โShader Complexityโ๋ฅผ ์ ํํ์ฌ ํ๋ฉด์ ์ ฐ์ด๋ ๋ณต์ก๋๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ์์ ์ฝ๋
- ๐ข ์ด๋ก์: ์ต์ ํ๊ฐ ์พ์ ํ ์ํ
- ๐ก ๐ ๋ ธ๋์/์ฃผํฉ์: ์ฃผ์๊ฐ ํ์ํ ์์ค
- ๐ด ๋นจ๊ฐ์: ์ฆ์ ์ต์ ํ๊ฐ ํ์ํ ์ํ
Frame Rate ํ์ธ
์ฝ์ ์ฐฝ(~ ํค)์์ stat unit ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ฉด ์ค์๊ฐ ํ๋ ์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค
ํ์๋๋ ์ ๋ณด
Frame: ์ ์ฒด ํ๋ ์ ์๊ฐ Game: ๊ฒ์ ๋ก์ง ์ฒ๋ฆฌ ์๊ฐ (CPU) Draw: ๋ ๋๋ง ์ฒ๋ฆฌ ์๊ฐ (GPU) GPU: GPU ์ด ์ฒ๋ฆฌ ์๊ฐ
Profile GPU
์ฝ์ ์ฐฝ์์ ProfileGPU ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ฉด GPU ํ๋กํ์ผ๋ง ์ฐฝ์ด ๋ํ๋ฉ๋๋ค
- ํ์ฌ ํ๋ฉด์ 1ํ๋ ์์ ์บก์ฒํ์ฌ ๊ฐ ๋ ๋๋ง ๋จ๊ณ๋ณ ์์ ์๊ฐ์ ์์ธํ ๋ถ์ํด์ค๋๋ค
- ์ดํํธ ์ฑ๋ฅ์ Translucency ํญ๋ชฉ์์ ์ธก์ ๋ฉ๋๋ค.
- 1.0ms ์ดํ: ์ํธํ ์์ค
- 1.0ms ์ด์: ์ต์ ํ๊ฐ ํ์ํ ์์ค
- 2.0ms ์ด์: ์ฆ์ ์ต์ ํ๊ฐ ํ์ํ ์ฌ๊ฐํ ์์ค
ํ๋ฉด ์ฐจ์ง ๋น์จ ํ ์คํธ
stat unit์ ํ์ฑํํ ์ํ์์ ์นด๋ฉ๋ผ๋ฅผ ์ด๋ํ์ฌ ์ดํํธ๊ฐ ํ๋ฉด์ ์ฐจ์งํ๋ ๋น์จ์ ๋ณํ์ํต๋๋ค
์ดํํธ๊ฐ ํ๋ฉด์ ๋ง์ด ์ฐจ์งํ ์๋ก ํ๋ ์ ์๋๊ฐ ๊ธ๊ฒฉํ ๋จ์ด์ง๋ค๋ฉด Fillrate ์ต์ ํ๊ฐ ํ์ํฉ๋๋ค
๊ฐ์ ๋ฐฉ๋ฒ
- ํํฐํด ๊ฐ์ ๊ฐ์
- ๋จธํฐ๋ฆฌ์ผ ์ธ์คํธ๋ญ์ ์ ๊ฐ์
- ํ ์ค์ฒ ํด์๋ ์กฐ์
- Overdraw(๊ฒน์ณ ๊ทธ๋ฆฌ๊ธฐ) ์ต์ํ
์ฐธ๊ณ ์๋ฃ
