Ver3.5 ๐ฅ๏ธ ์ปดํจํฐ ๊ทธ๋ํฝ์ค์ 3D ๋ชจ๋ธ๋ง์ฌ์ค์ ๋ ๋๋ง ๊ตฌํ์ ๋ชจ๋ ๊ฒ

๐ฅ๏ธ ์ปดํจํฐ ๊ทธ๋ํฝ์ค์ 3D ๋ชจ๋ธ๋ง
์ฌ์ค์ ๋ ๋๋ง ๊ตฌํ์ ๋ชจ๋ ๊ฒ
3D ๋ชจ๋ธ๋ง์ ์ปดํจํฐ ์์์ 3์ฐจ์ ๋ฌผ์ฒด๋ฅผ ์ํ์ ์ผ๋ก ํํํ๋ ๊ณผ์ ์ด์ผ. ๊ทผ๋ฐ ์ด๊ฒ ๊ทธ๋ฅ "์ ์ฐ๊ณ ์ ๊ธ๋ ๊ฑฐ ์๋์ผ?" ๋ผ๊ณ ์๊ฐํ๋ฉด ์ค์ฐใ ใ ์์ฒญ๋๊ฒ ์ ๊ตํ ์ํ๊ณผ ์๊ณ ๋ฆฌ์ฆ์ด ์จ์ด์๊ฑฐ๋ .
๊ฐ์ฅ ๊ธฐ๋ณธ์ด์ ํ์ฌ๋ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ฐฉ์์ด์ผ. ํด๋ฆฌ๊ณค(Polygon)์ด๋ ์ผ๊ฐํ์ด๋ ์ฌ๊ฐํ ๊ฐ์ ๋ค๊ฐํ ๋ฉด๋ค์ ์งํฉ์ธ๋ฐ, ์ด ๋ฉด๋ค์ ์์ฒญ๋๊ฒ ๋ง์ด ๋ถ์ฌ์ 3D ํํ๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ฑฐ์ผ.
์๋ฅผ ๋ค์ด ๊ฒ์ ์บ๋ฆญํฐ ํ๋์ ์๋ง ๊ฐ์ ์ผ๊ฐํ ํด๋ฆฌ๊ณค์ด ๋ค์ด๊ฐ๊ณ , ์ํ VFX์ฉ ์บ๋ฆญํฐ๋ ์๋ฐฑ๋ง ๊ฐ๊น์ง ์ฌ๋ผ๊ฐ๊ธฐ๋ ํด. ํ๋
ธ์ค ์ผ๊ตด ํ๋์ ํด๋ฆฌ๊ณค์ด ๋ช ๊ฐ์ธ์ง ์์? ์ฝ 300๋ง ๊ฐ ์ด์์ด๋ผ๊ณ ์๋ ค์ ธ ์์ด ๐ฑ
์ฃ์ง(Edge) : ๋ ๋ฒํ ์ค๋ฅผ ์ฐ๊ฒฐํ๋ ์ ๋ถ
ํ์ด์ค(Face) : ์ธ ๊ฐ ์ด์์ ์ฃ์ง๋ก ์ด๋ฃจ์ด์ง ๋ฉด
๋ฉ์(Mesh) : ๋ฒํ ์ค, ์ฃ์ง, ํ์ด์ค์ ์ ์ฒด ์งํฉ
์ด ๊ตฌ์กฐ๋ฅผ ๋ฐ๊ฐ ์ฃ์ง ์๋ฃ๊ตฌ์กฐ(Half-Edge Data Structure)๋ก ๊ด๋ฆฌํ๋ฉด ์ธ์ ๊ด๊ณ ํ์์ด O(1)์ ๊ฐ๋ฅํด์ ธ์ ๋ชจ๋ธ๋ง ์ํํธ์จ์ด๊ฐ ๋น ๋ฅด๊ฒ ๋์ํ ์ ์์ด.
ํด๋ฆฌ๊ณค๋ง ์๋ ๊ฒ ์๋์ผ! NURBS(Non-Uniform Rational B-Spline)๋ ์ํ์ ๊ณก์ ๋ฐฉ์ ์์ผ๋ก ํ๋ฉด์ ์ ์ํ๋ ๋ฐฉ์์ธ๋ฐ, ์๋์ฐจ ๋์์ธ์ด๋ ์ฐ์
๋์์ธ์์ ๋ง์ด ์จ. ๊ณก๋ฉด์ด ์ํ์ ์ผ๋ก ์๋ฒฝํ๊ฒ ๋ถ๋๋ฝ๊ฑฐ๋ .
๊ทธ๋ฆฌ๊ณ ์๋ธ๋๋น์ ์ํผ์ค(Subdivision Surface)๋ ํด๋ฆฌ๊ณค์ ๋จ์ (๊ฐ์ง ํ๋ฉด)์ ๋ณด์ํ๋ ๊ธฐ์ ์ด์ผ. ๊ฑฐ์น ํด๋ฆฌ๊ณค ๋ฉ์๋ฅผ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ณ์ ์ธ๋ถํํด์ ๋ถ๋๋ฌ์ด ๊ณก๋ฉด์ ๋ง๋ค์ด๋ด๋ ๊ฑฐ์ง. Catmull-Clark ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ์ฅ ์ ๋ช
ํ๋ฐ, ํฝ์ฌ์์ ๊ฐ๋ฐํ ๊ฑฐ์ผ ๐ฌ
์ต๊ทผ์๋ ๋ณผ๋ฅ๋ฉํธ๋ฆญ(Volumetric) ๋ชจ๋ธ๋ง๋ ์์ฒญ ์ค์ํด์ก์ด. ์ฐ๊ธฐ, ๊ตฌ๋ฆ, ๋ถ๊ฝ ๊ฐ์ ๊ฑธ ํํํ ๋ ์ฐ๋๋ฐ, 3D ๊ณต๊ฐ์ ์์ ๋ณต์
(Voxel, 3D ํฝ์
)๋ก ๋๋ ์ ๋ฐ๋๊ฐ์ ์ ์ฅํ๋ ๋ฐฉ์์ด์ผ.
ํฌ์ธํธ ํด๋ผ์ฐ๋(Point Cloud)๋ LiDAR ์ค์บ๋๋ก ์ค์ ๋ฌผ์ฒด๋ฅผ ์ค์บํด์ ์ป์ ์๋ฐฑ๋ง ๊ฐ์ 3D ์ ๋ฐ์ดํฐ์ผ. ์์จ์ฃผํ์ฐจ๋ ๊ฑด์ถ ์ค์บ์์ ๋ง์ด ์ฐ์ด๊ณ , ์ต๊ทผ์ ์ด๊ฑธ 3D ๋ชจ๋ธ๋ก ๋ณํํ๋ ๊ธฐ์ ๋ ๋ฐ์ ํ๊ณ ์์ด.
๋ ๋๋ง์ ํต์ฌ์ "๋น์ด ์ด๋ป๊ฒ ์์ง์ด๋๊ฐ"๋ฅผ ์ปดํจํฐ๋ก ์๋ฎฌ๋ ์ด์ ํ๋ ๊ฑฐ์ผ. ํ์ค์์ ๋น์ ๊ด์์์ ๋์์ ๋ฌผ์ฒด์ ๋ฐ์ฌ๋๊ณ , ๊ตด์ ๋๊ณ , ํก์๋๋ฉด์ ์ฐ๋ฆฌ ๋์ ๋ค์ด์ค์์? ์ด๊ฑธ ์ํ์ ์ผ๋ก ํํํ ๊ฒ ๋ฐ๋ก ๋ ๋๋ง ๋ฐฉ์ ์(Rendering Equation)์ด์ผ.
1986๋ ์ ์์ค ์นด์ง์ผ(James Kajiya)๊ฐ ๋ฐํํ ์ด ๋ฐฉ์ ์์ ํ๋ ๋ ๋๋ง์ ์ฑ๊ฒฝ์ด์ผ:
Lo(x, ฯo) = Le(x, ฯo) + โซฮฉ Li(x, ฯi) ยท fr(x, ฯi, ฯo) ยท (ฯi ยท n) dฯi์ฝ๊ฒ ๋งํ๋ฉด: "์ด๋ค ์ ์์ ๋์ค๋ ๋น = ์์ฒด ๋ฐ๊ด + ๋ชจ๋ ๋ฐฉํฅ์์ ๋ค์ด์ค๋ ๋น์ ํฉ"
์ด ์ ๋ถ์ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ๊ณ์ฐํ๋๋๊ฐ ๋ ๋๋ง ๊ธฐ์ ์ ํต์ฌ์ด์ผ!
๋ ์ด ํธ๋ ์ด์ฑ์ ์นด๋ฉ๋ผ์์ ์ญ๋ฐฉํฅ์ผ๋ก ๊ด์ (Ray)์ ์ด์ ๋น์ ๊ฒฝ๋ก๋ฅผ ์ถ์ ํ๋ ๋ฐฉ์์ด์ผ. ๊ฐ ํฝ์
๋ง๋ค ๊ด์ ์ ์๊ณ , ๊ทธ ๊ด์ ์ด ์ด๋ค ๋ฌผ์ฒด์ ๋ฟ๋์ง, ๊ฑฐ๊ธฐ์ ์ด๋ป๊ฒ ๋ฐ์ฌ/๊ตด์ ๋๋์ง ๊ณ์ฐํ๋ ๊ฑฐ์ง.
์ฅ์ ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ํํ ๊ทธ๋ฆผ์, ๋ฐ์ฌ, ๊ตด์ ์ ํํํ ์ ์๋ค๋ ๊ฑฐ๊ณ , ๋จ์ ์ ๊ณ์ฐ๋์ด ์์ฒญ๋๋ค๋ ๊ฑฐ์ผ. ํฝ์
ํ๋๋น ์๋ฐฑ ๊ฐ์ ๊ด์ ์ ์ถ์ ํด์ผ ํ๋๊นใ
ใ
๋ ์ด ํธ๋ ์ด์ฑ์ ๋ฐ์ ํ์ด์ผ. ๋ชฌํ
์นด๋ฅผ๋ก(Monte Carlo) ์ํ๋ง์ ์ด์ฉํด์ ๋น์ ๊ฒฝ๋ก๋ฅผ ๋ฌด์์๋ก ์ฌ๋ฌ ๋ฒ ์ํ๋งํ๊ณ ํ๊ท ์ ๋ด๋ ๋ฐฉ์์ด์ผ.
์ด ๋ฐฉ์์ผ๋ก ๊ธ๋ก๋ฒ ์ผ๋ฃจ๋ฏธ๋ค์ด์
(Global Illumination)์ ๊ตฌํํ ์ ์์ด. ๊ธ๋ก๋ฒ ์ผ๋ฃจ๋ฏธ๋ค์ด์
์ด๋ ์ง์ ๊ด์์์ ์ค๋ ๋น๋ฟ๋ง ์๋๋ผ, ๋ค๋ฅธ ๋ฌผ์ฒด์์ ๋ฐ์ฌ๋์ด ์ค๋ ๊ฐ์ ๊ด๊น์ง ๊ณ์ฐํ๋ ๊ฑฐ์ผ. ๋ฐฉ ์์์ ๋นจ๊ฐ ๋ฒฝ ์์ ์์ผ๋ฉด ์ผ๊ตด์ด ์ด์ง ๋นจ๊ฐ๊ฒ ๋ณด์ด๋ ๊ทธ ํ์ ์์์? ๊ทธ๊ฒ ๋ฐ๋ก ๊ฐ์ ๊ด ํจ๊ณผ์ผ!
ํฝ์ฌ, ILM, Weta Digital ๊ฐ์ VFX ์คํ๋์ค๋ค์ด ์ด ๋ฐฉ์์ ์จ. ๋ ๋๋ง ์๊ฐ์ด ํ๋ ์๋น ์์ญ ๋ถ์์ ์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ธฐ๋ ํด ๐
๊ฒ์์์ ์ค์๊ฐ์ผ๋ก ๋ ๋๋งํ ๋ ์ฐ๋ ๋ฐฉ์์ด์ผ. 3D ํด๋ฆฌ๊ณค์ 2D ํ๋ฉด์ ํฝ์
๋ก ๋ณํํ๋ ๊ณผ์ ์ธ๋ฐ, GPU๊ฐ ์ด๊ฑธ ๋ณ๋ ฌ๋ก ์์ฒญ๋๊ฒ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํด.
ํจ์ค ํธ๋ ์ด์ฑ๋ณด๋ค ๋ฌผ๋ฆฌ์ ์ ํ๋๋ ๋จ์ด์ง์ง๋ง, ์ด๋น 60~120ํ๋ ์์ ์ค์๊ฐ์ผ๋ก ๋ฝ์๋ผ ์ ์์ด. ์ฌ๊ธฐ์ ์
ฐ๋์ฐ ๋งต, SSAO, ์คํฌ๋ฆฐ ์คํ์ด์ค ๋ฆฌํ๋ ์
๊ฐ์ ํธ๋ฆญ๋ค์ ์ถ๊ฐํด์ ์ฌ์ค๊ฐ์ ๋์ด๋ ๊ฑฐ์ผ.
| ๋ ๋๋ง ๋ฐฉ์ | ์๋ | ํ์ง | ์ฃผ์ ์ฌ์ฉ์ฒ |
|---|---|---|---|
| ๋์คํฐ๋ผ์ด์ ์ด์ | โก ์ค์๊ฐ | โ โ โ โโ | ๊ฒ์, ์ค์๊ฐ ์ฑ |
| ๋ ์ด ํธ๋ ์ด์ฑ | ๐ข ๋๋ฆผ | โ โ โ โ โ | ๊ฑด์ถ ์๊ฐํ, ์ ํ ๋ ๋ |
| ํจ์ค ํธ๋ ์ด์ฑ | ๐ ๋งค์ฐ ๋๋ฆผ | โ โ โ โ โ | ์ํ VFX, ์ ๋๋ฉ์ด์ |
| ํ์ด๋ธ๋ฆฌ๋ RT | โก ์ค์ค์๊ฐ | โ โ โ โ โ | ์ฐจ์ธ๋ ๊ฒ์ (RTX) |
PBR(Physically Based Rendering, ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ๋ ๋๋ง)์ 2010๋ ๋ ์ด๋ฐ๋ถํฐ ๊ฒ์๊ณผ ์ํ ์ฐ์ ์ ์์ ํ ๋ฐ๊ฟ๋์ ๊ธฐ์ ์ด์ผ. ์ด์ ์๋ ์ํฐ์คํธ๊ฐ ๊ฐ์ผ๋ก ์ฌ์ง์ ํํํ๋ค๋ฉด, PBR์ ์ค์ ๋ฌผ๋ฆฌ ๋ฒ์น์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ง์ ์ ์ํด.
๋ฉํ๋ฆญ(Metallic) : 0~1 ๊ฐ์ผ๋ก ๊ธ์/๋น๊ธ์ ์ฌ๋ถ ๊ฒฐ์ . ๊ธ์์ด๋ฉด 1, ํ๋ผ์คํฑ์ด๋ฉด 0
๋ฌํ๋์ค(Roughness) : ํ๋ฉด์ ๊ฑฐ์น ๊ธฐ. 0์ด๋ฉด ๊ฑฐ์ธ์ฒ๋ผ ๋งค๋, 1์ด๋ฉด ์์ ๋ฌด๊ด
๋ ธ๋ฉ ๋งต(Normal Map) : ํ๋ฉด์ ๋ฏธ์ธํ ๊ตด๊ณก์ RGB๋ก ์ธ์ฝ๋ฉ. ์ค์ ํด๋ฆฌ๊ณค ์์ด ๋ํ ์ผ ํํ
AO(Ambient Occlusion) : ๊ตฌ์์ง ๊ณณ์ ๊ฐ์ ๊ด ์ฐจํ ์ ๋
์ด๋ฏธ์๋ธ(Emissive) : ์์ฒด ๋ฐ๊ด ์์๊ณผ ๊ฐ๋
ํ์ดํธ ๋งต(Height Map) : ํ๋ฉด ๋๋ฎ์ด ์ ๋ณด. ํจ๋ด๋์ค ๋งคํ์ ํ์ฉ
PBR์ ํต์ฌ์๋ BRDF(Bidirectional Reflectance Distribution Function, ์๋ฐฉํฅ ๋ฐ์ฌ์จ ๋ถํฌ ํจ์)๊ฐ ์์ด. ์ด๊ฒ ๋ญ๋๋ฉด, ํน์ ๋ฐฉํฅ์์ ๋ค์ด์จ ๋น์ด ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ์ผ๋ง๋ ๋ฐ์ฌ๋๋์ง๋ฅผ ์ํ์ ์ผ๋ก ์ ์ํ ํจ์์ผ.
ํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๊ฑด Cook-Torrance BRDF์ธ๋ฐ, ์ธ ๊ฐ์ง ํญ์ผ๋ก ๊ตฌ์ฑ๋ผ:
G (Geometry Function) : ๋ฏธ์ธ๋ฉด ๊ฐ์ ์๊ธฐ ๊ทธ๋ฆผ์/์ฐจํ ํจ๊ณผ. Smith ํจ์ ์ฌ์ฉ
F (Fresnel Equation) : ๋น์ด ํ๋ฉด์ ๋ฟ๋ ๊ฐ๋์ ๋ฐ๋ฅธ ๋ฐ์ฌ์จ ๋ณํ. Schlick ๊ทผ์ฌ์ ์ฌ์ฉ
fr = (D ยท G ยท F) / (4 ยท (nยทฯi) ยท (nยทฯo))์ด ๊ณต์ ๋๋ถ์ ๊ธ์ ํ๋ฉด์ด ๊ฐ๋์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋น๋๋ ํ์(ํ๋ ๋ฌ ํจ๊ณผ)์ ์ ํํ๊ฒ ํํํ ์ ์์ด!
๊ธ๋ก๋ฒ ์ผ๋ฃจ๋ฏธ๋ค์ด์ (GI, Global Illumination)์ ํ๋ ์ฌ์ค์ ๋ ๋๋ง์ ๊ฝ์ด์ผ. ์ง์ ๊ด์์์ ์ค๋ ๋น๋ง ๊ณ์ฐํ๋ ๊ฒ ์๋๋ผ, ๋น์ด ์ฌ๋ฌ ๋ฌผ์ฒด์ ๋ฐ์ฌ๋๋ฉด์ ์๊ธฐ๋ ๊ฐ์ ๊ด๊น์ง ๋ชจ๋ ๊ณ์ฐํ๋ ๊ฑฐ์ผ. ์ด๊ฒ ์๊ณ ์๊ณ ์ ์ฐจ์ด๊ฐ ์์ฒญ๋๊ฑฐ๋ !
HDRI(High Dynamic Range Image)๋ฅผ ์ด์ฉํ ์ด๋ฏธ์ง ๊ธฐ๋ฐ ์กฐ๋ช
(Image-Based Lighting, IBL)์ ์ค์ ํ๊ฒฝ์ ์กฐ๋ช
์ ๋ณด๋ฅผ 360๋ ํ๋
ธ๋ผ๋ง ์ด๋ฏธ์ง๋ก ์บก์ฒํด์ ์ฌ์ ์กฐ๋ช
์ผ๋ก ์ฌ์ฉํ๋ ๊ธฐ์ ์ด์ผ.
์ค์ ์คํ๋์ค๋ ์ผ์ธ์์ ์ฐ์ HDRI๋ฅผ ์ฐ๋ฉด ๊ทธ ํ๊ฒฝ์ ์กฐ๋ช
์ด ๊ทธ๋๋ก 3D ์ฌ์ ์ ์ฉ๋ผ. ์ ํ ๋ ๋๋ง์์ ๋ง์ด ์ฐ์ด๋๋ฐ, ์๋์ฐจ ๊ด๊ณ ์์ ์ฐจ์ฒด์ ์ฃผ๋ณ ํ๊ฒฝ์ด ๋ฐ์ฌ๋๋ ๊ทธ ๋๋์ด ๋ฐ๋ก IBL ๋๋ถ์ด์ผ!
๋ ๋๋ง์ ์ค์ ๊ณ์ฐ์ ์ ฐ์ด๋(Shader)๋ผ๋ ํ๋ก๊ทธ๋จ์ด ๋ด๋นํด. ์ ฐ์ด๋๋ GPU์์ ์คํ๋๋ ์์ ํ๋ก๊ทธ๋จ์ธ๋ฐ, ๊ฐ ๋ฒํ ์ค๋ ํฝ์ ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ์ ์ํ๋ ๊ฑฐ์ผ.
ํ๋๊ทธ๋จผํธ/ํฝ์ ์ ฐ์ด๋ (Fragment Shader)
๊ฐ ํฝ์ ์ ์ต์ข ์์์ ๊ณ์ฐ. ํ ์ค์ฒ ์ํ๋ง, ์กฐ๋ช ๊ณ์ฐ, PBR ๊ณต์ ์ ์ฉ ๋ฑ์ด ์ฌ๊ธฐ์ ์ด๋ฃจ์ด์ ธ.
์ง์ค๋ฉํธ๋ฆฌ ์ ฐ์ด๋ (Geometry Shader)
ํด๋ฆฌ๊ณค ๋จ์๋ก ์ฒ๋ฆฌ. ์๋ก์ด ํด๋ฆฌ๊ณค์ ์์ฑํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ด. ํํฐํด ์์คํ ์ ๋ง์ด ํ์ฉ.
์ปดํจํธ ์ ฐ์ด๋ (Compute Shader)
๋ ๋๋ง ํ์ดํ๋ผ์ธ ์ธ๋ถ์์ ๋ฒ์ฉ GPU ๊ณ์ฐ. ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ , AI ์ถ๋ก , ํฌ์คํธ ํ๋ก์ธ์ฑ์ ํ์ฉ.
NVIDIA์ RTX ์๋ฆฌ์ฆ๋ ์ ์ฉ RT ์ฝ์ด(Ray Tracing Core)์ ํ
์ ์ฝ์ด(Tensor Core)๋ฅผ ํ์ฌํด์ ํ๋์จ์ด ๊ฐ์ ๋ ์ด ํธ๋ ์ด์ฑ๊ณผ AI ๊ธฐ๋ฐ ๊ธฐ๋ฅ์ ์ง์ํด.
RTX 4090 ๊ธฐ์ค์ผ๋ก RT ์ฝ์ด๊ฐ ์ด๋น ์ฝ 191๊ธฐ๊ฐ ๋ ์ด(191 Grays/s)๋ฅผ ์ฒ๋ฆฌํ ์ ์์ด. ์ด๊ฒ ์ผ๋ง๋ ๋๋จํ ๊ฑฐ๋๋ฉด, ์ด์ ์ธ๋ ์ํํธ์จ์ด ๋ ์ด ํธ๋ ์ด์ฑ ๋๋น ์์ญ ๋ฐฐ ๋น ๋ฅธ ๊ฑฐ์ผ!
DLSS(Deep Learning Super Sampling)๋ NVIDIA๊ฐ ๊ฐ๋ฐํ AI ๊ธฐ๋ฐ ์
์ค์ผ์ผ๋ง ๊ธฐ์ ์ด์ผ. ๋ฎ์ ํด์๋๋ก ๋ ๋๋งํ ํ ๋ฅ๋ฌ๋ ๋ชจ๋ธ๋ก ๊ณ ํด์๋๋ก ์
์ค์ผ์ผํ๋ ๋ฐฉ์์ธ๋ฐ, ํ์ง ์์ค์ ์ต์ํํ๋ฉด์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์์ผ.
DLSS 3.5์์๋ ๋ ์ด ๋ฆฌ์ปจ์คํธ๋ญ์
(Ray Reconstruction)์ด๋ผ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋๋ฐ, AI๊ฐ ๋ ์ด ํธ๋ ์ด์ฑ ๋
ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํ๋ฉด์ ๋์์ ์ธ๋ถ ๋ํ
์ผ์ ๋ณต์ํด. ์ง์ง AI๊ฐ ๋ ๋๋ง์ ๋์์ฃผ๋ ์๋๊ฐ ์จ ๊ฑฐ์ผใ
ใ
AMD์ FSR(FidelityFX Super Resolution), ์ธํ
์ XeSS๋ ๋น์ทํ ๊ธฐ์ ์ด์ผ.
๋ ๋๋ง์ด ๋๋ ํ์๋ ํ ์ผ์ด ๋จ์์์ด! ํฌ์คํธ ํ๋ก์ธ์ฑ(Post-Processing)์ ์ต์ข ๋ ๋๋ ์ด๋ฏธ์ง์ ์ถ๊ฐ ํจ๊ณผ๋ฅผ ์ ์ฉํ๋ ๋จ๊ณ์ผ. ์ด๊ฒ ์์ผ๋ฉด ์๋ฌด๋ฆฌ ์ข์ ๋ ๋๋ง๋ ๋ญ๊ฐ ๋ฐ๋ฐํด ๋ณด์ฌ.
๋ธ๋ฃธ (Bloom) : ๋ฐ์ ์์ญ์์ ๋น์ด ๋ฒ์ง๋ ํจ๊ณผ. ์ค์ ์นด๋ฉ๋ผ ๋ ์ฆ์ ๊ดํ์ ํน์ฑ์ ๋ชจ๋ฐฉ
ํผ์ฌ๊ณ ์ฌ๋ (Depth of Field) : ์ด์ ๊ฑฐ๋ฆฌ ๋ฐ์ ์์ญ์ ํ๋ฆฌ๊ฒ ์ฒ๋ฆฌ. ๋ณด์ผ(Bokeh) ํจ๊ณผ ํฌํจ
๋ชจ์ ๋ธ๋ฌ (Motion Blur) : ๋น ๋ฅด๊ฒ ์์ง์ด๋ ๋ฌผ์ฒด์ ์์ ํํ
SSAO (Screen Space Ambient Occlusion) : ํ๋ฉด ๊ณต๊ฐ์์ ๊ฐ์ ๊ด ์ฐจํ ๊ทผ์ฌ ๊ณ์ฐ
์์์ฐจ (Chromatic Aberration) : ๋ ์ฆ์ ์ ๋ถ๋ฆฌ ํ์ ๋ชจ๋ฐฉ
ํ๋ฆ ๊ทธ๋ ์ธ (Film Grain) : ํ๋ฆ ์นด๋ฉ๋ผ์ ๋ ธ์ด์ฆ ์ง๊ฐ ์ถ๊ฐ
๋ ์ฆ ํ๋ ์ด (Lens Flare) : ๊ฐํ ๊ด์์ ํฅํ ๋ ์๊ธฐ๋ ๋น ๋ฒ์ง
๋ด๋ด ๋ ๋๋ง์ ๋ฅ๋ฌ๋์ ๋ ๋๋ง ํ์ดํ๋ผ์ธ์ ํตํฉํ๋ ๊ธฐ์ ์ด์ผ. ๊ฐ์ฅ ํซํ ๊ฑด NeRF(Neural Radiance Fields)์ธ๋ฐ, 2020๋
ECCV์์ ๋ฐํ๋ ์ดํ 3D ๊ทธ๋ํฝ์ค ๋ถ์ผ๋ฅผ ์์ ํ ๋คํ๋ค์์ด.
NeRF๋ ์ฌ๋ฌ ๊ฐ๋์์ ์ฐ์ 2D ์ฌ์ง๋ค์ ํ์ตํด์ ์์์ ์์ ์์ ๋ณธ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ด. 3D ๋ชจ๋ธ ์์ด๋ ์ฌ์ง๋ง์ผ๋ก 3D ์ฌ์ ์ฌ๊ตฌ์ฑํ๋ ๊ฑฐ์ผ. ์ง์ง ๋ง์ด ๋ผ?ใ
ใ
์ต๊ทผ์๋ 3D Gaussian Splatting์ด NeRF๋ฅผ ๋์ฒดํ๋ ์ถ์ธ์ผ. 3D ๊ฐ์ฐ์์ ํจ์๋ค๋ก ์ฌ์ ํํํด์ ์ค์๊ฐ ๋ ๋๋ง์ด ๊ฐ๋ฅํ๊ณ , ํ์ง๋ ๋ ์ข์.
2018๋
NVIDIA RTX 20 ์๋ฆฌ์ฆ ์ถ์ ์ดํ ์ค์๊ฐ ๋ ์ด ํธ๋ ์ด์ฑ์ด ๊ฒ์์ ๋์
๋๊ธฐ ์์ํ์ด. ์ฒ์์ ์ฑ๋ฅ ์ ํ๊ฐ ์ฌํด์ "์ด๊ฒ ๋ญ์ผ" ์๋ฆฌ ๋ค์๋๋ฐใ
ใ
, ์ด์ ๋ DLSS์ ๊ฒฐํฉํด์ ์ถฉ๋ถํ ์ค์ฉ์ ์ธ ์์ค์ด ๋์ด.
๋ง์ดํฌ๋ก์ํํธ DirectX Raytracing(DXR)๊ณผ Vulkan Ray Tracing์ด ํ์ค API๋ก ์๋ฆฌ์ก์๊ณ , ์ฝ์ ๊ฒ์๊ธฐ(PS5, Xbox Series X)์๋ ํ๋์จ์ด ๋ ์ด ํธ๋ ์ด์ฑ์ด ํ์ฌ๋์ด.
์ํฝ๊ฒ์์ฆ์ ์ธ๋ฆฌ์ผ ์์ง 5(UE5)๋ ๋ ๊ฐ์ง ํ์ ์ ์ธ ๊ธฐ์ ์ ์ ๋ณด์์ด:
ํ
์คํธ-ํฌ-3D(Text-to-3D) ๊ธฐ์ ๋ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ณ ์์ด. OpenAI์ Shap-E, ๊ตฌ๊ธ์ DreamFusion, ์คํ๋น๋ฆฌํฐ AI์ Stable Zero123 ๋ฑ์ด ํ
์คํธ ์ค๋ช
๋ง์ผ๋ก 3D ๋ชจ๋ธ์ ์์ฑํด.
์์ง ์์ฑ๋๊ฐ ์๋ฒฝํ์ง ์์ง๋ง, ๋ฐ์ ์๋๊ฐ ์์ฒญ๋์ ๋ช ๋
์์ 3D ๋ชจ๋ธ๋ง์ ํจ๋ฌ๋ค์์ ๋ฐ๊ฟ ๊ฑฐ๋ผ๋ ์์ธก์ด ๋ง์. ์ฌ๋ฅ๋ท ๊ฐ์ ํ๋ซํผ์์๋ 3D ๋ชจ๋ธ๋ง ์ฌ๋ฅ์ ๊ฑฐ๋ํ๋ ๋ถ๋ค์ด ๋ง์๋ฐ, AI ๋๊ตฌ๋ฅผ ์ ํ์ฉํ๋ฉด ์์ฐ์ฑ์ ํฌ๊ฒ ๋์ผ ์ ์์ ๊ฑฐ์ผ!
์ด๋ก ์ ์๊ฒ ๋๋ฐ ์ค์ ๋ก ๋ญ ์จ์ผ ํ๋๊ณ ? ํ์ ์์ ์ฐ์ด๋ ์ฃผ์ ์ํํธ์จ์ด๋ค์ ์ ๋ฆฌํด์ค๊ฒ!
| ์ํํธ์จ์ด | ์ฃผ์ ์ฉ๋ | ๋ ๋๋ฌ | ํน์ง |
|---|---|---|---|
| Maya | ์ํยท๊ฒ์ ์ ๋๋ฉ์ด์ | Arnold | ์ ๊ณ ํ์ค, ๋ฆฌ๊น ๊ฐ๋ ฅ |
| Blender | ๋ฒ์ฉ 3D | Cycles/EEVEE | ๋ฌด๋ฃ ์คํ์์ค, ์ปค๋ฎค๋ํฐ ํ๋ฐ |
| 3ds Max | ๊ฑด์ถยท์ ํ ์๊ฐํ | V-Ray/Corona | ๊ฑด์ถ ๋ถ์ผ ๊ฐ์ธ |
| Houdini | VFXยท์๋ฎฌ๋ ์ด์ | Karma/Mantra | ์ ์ฐจ์ ์ํฌํ๋ก์ฐ |
| Cinema 4D | ๋ชจ์ ๊ทธ๋ํฝ | Redshift | After Effects ์ฐ๋ ๊ฐ์ |
| ZBrush | ๋์งํธ ์ค์ปฌํํ | BPR | ๊ณ ํด์๋ ์กฐ๊ฐ ํนํ |
| Substance 3D | ํ ์ค์ฒ ์ ์ | - | PBR ํ ์ค์ฒ ์ ๊ณ ํ์ค |
| Unreal Engine 5 | ๊ฒ์ยท์ค์๊ฐ ๋ ๋๋ง | Lumen/Nanite | ์ค์๊ฐ GI ํ์ |
Arnold : ์ํ VFX ์ ๊ณ ํ์ค. ILM, Weta ๋ฑ ๋ํ ์คํ๋์ค ์ฌ์ฉ
Redshift : GPU ๊ธฐ๋ฐ ๊ณ ์ ๋ ๋๋ง. ๋ชจ์ ๊ทธ๋ํฝ์ ์ต์
Octane : ์์ GPU ๊ธฐ๋ฐ ํจ์ค ํธ๋ ์ด์ฑ. ๋น ๋ฅธ ์๋์ ๋์ ํ์ง
Cycles (Blender) : ๋ฌด๋ฃ ํจ์ค ํธ๋ ์ด์. CPU/GPU ๋ชจ๋ ์ง์
EEVEE (Blender) : ์ค์๊ฐ ๋์คํฐ๋ผ์ด์ ์ด์ . ๋น ๋ฅธ ํ๋ฆฌ๋ทฐ์ ๋ชจ์ ๊ทธ๋ํฝ์ ์ ํฉ
์ด ๊ธ์ด ์ ๋ณด ์ง๋ฅ๊ณตํ ์นดํ ๊ณ ๋ฆฌ์ ์ํ๋ ์ด์ ๊ฐ ์์ด. ํ๋ ๋ ๋๋ง์ ๋จ์ํ ๊ทธ๋ํฝ ๊ธฐ์ ์ ๋์ด์ ์ธ๊ณต์ง๋ฅ, ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์๊ณ ๋ฆฌ์ฆ ์ต์ ํ๊ฐ ํต์ฌ์ด ๋๊ฑฐ๋ .
๊ณต๊ฐ ๋ถํ ์๋ฃ๊ตฌ์กฐ
KD-Tree, Octree, BVH ๋ฑ 3D ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ๋ถํ ํด์ ๋ ์ด ์บ์คํ , ์ถฉ๋ ๊ฐ์ง, ๊ฐ์์ฑ ํ๋จ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํด.
๋ชฌํ ์นด๋ฅผ๋ก ์ ๋ถ
๋ ๋๋ง ๋ฐฉ์ ์์ ์ ๋ถ์ ๋ฌด์์ ์ํ๋ง์ผ๋ก ๊ทผ์ฌํ๋ ๋ฐฉ๋ฒ. ์ํ ์๊ฐ ๋ง์์๋ก ์ ํํด์ง์ง๋ง ๊ณ์ฐ ์๊ฐ๋ ๋์ด๋. ์ค์๋ ์ํ๋ง(Importance Sampling)์ผ๋ก ํจ์จ์ ๋์ฌ.
๋ฅ๋ฌ๋์ด ๋ ๋๋ง์ ์ ์ฉ๋๋ ์ฃผ์ ๋ถ์ผ๋ค:
์ ๊ฒฝ๋ง ๊ธฐ๋ฐ ํ ์ค์ฒ ํฉ์ฑ : GAN์ ์ด์ฉํด ํ ์ค์ฒ๋ฅผ ๋ฌดํํ ํ์ผ๋ง ์์ด ์์ฑ
NeRF์ 3D ์ฌ๊ตฌ์ฑ : 2D ์ด๋ฏธ์ง์์ 3D ์ฌ์ ํ์ตํ๋ ์๋ฌต์ ์ ๊ฒฝ ํํ
์ค์๊ฐ GI ๊ทผ์ฌ : ๋ฅ๋ฌ๋์ผ๋ก GI๋ฅผ ๋น ๋ฅด๊ฒ ๊ทผ์ฌ ๊ณ์ฐ. ์ธ๋ฆฌ์ผ ์์ง์ Lumen๋ ์ผ๋ถ ML ๊ธฐ๋ฒ ํ์ฉ
์๋ LOD ์์ฑ : AI๊ฐ ๊ณ ํด์๋ ๋ฉ์์์ ์๋์ผ๋ก ์ ํด์๋ ๋ฒ์ ์์ฑ
์ด๋ก ์ ์ถฉ๋ถํ ๋ฐฐ์ ์ผ๋, ์ค์ ๋ก ์ฌ์ค์ ์ธ ๋ ๋๋ง์ ๋ง๋ค ๋ ์ฒดํฌํด์ผ ํ ๊ฒ๋ค์ ์ ๋ฆฌํด์ค๊ฒ!
โข ๋ ธ๋ฉ ๋ฐฉํฅ ํต์ผ (๋ค์งํ ํ์ด์ค ์์ ๊ธฐ)
โข UV ์ธ๋ํ ์ ์๊ณก ์ต์ํ, ํ ์ ๋ฐ๋ ๊ท ์ผํ๊ฒ
โข ํ๋/์ํํธ ์ฃ์ง ์ ์ ํ ๊ตฌ๋ถ (์ค๋ฌด๋ฉ ๊ทธ๋ฃน)
โข ํ ์ค์ฒ ํด์๋๋ ์นด๋ฉ๋ผ ๊ฑฐ๋ฆฌ์ ๋ง๊ฒ (๋ฐ๋งต ํ์ฉ)
โข ๋ ธ๋ฉ ๋งต ๋ฐฉํฅ ํ์ธ (DirectX vs OpenGL ๋ฐฉ์ ํผ๋ ์ฃผ์)
โข ์ค์ ๋ฌผ๋ฆฌ ๊ฐ ์ฐธ๊ณ (๊ธ์ ๋ฐ์ฌ์จ, ๊ตด์ ๋ฅ ๋ฑ)
โข HDRI๋ก ํ๊ฒฝ๊ด ์ค์
โข ์์จ๋ ๊ณ ๋ ค (๋ฎ ํ๋น 5500K, ํ ์คํ 3200K ๋ฑ)
โข 3์ ์กฐ๋ช ๊ธฐ๋ณธ ๊ตฌ์ฑ (ํค ๋ผ์ดํธ, ํ ๋ผ์ดํธ, ๋ฐฑ ๋ผ์ดํธ)
โข ์ถฉ๋ถํ ์ํ ์ ์ค์ (๋ ธ์ด์ฆ ์์ ๋๊น์ง)
โข ํฌ์คํธ ํ๋ก์ธ์ฑ์ ์ ์ ๋๊ฒ
โข ์ ๊ณต๊ฐ ๊ด๋ฆฌ (Linear workflow, ACES ์์ญ)
์ง๊ธ๊น์ง ์ปดํจํฐ ๊ทธ๋ํฝ์ค์ 3D ๋ชจ๋ธ๋ง์ ์ฌ์ค์ ๋ ๋๋ง ๊ตฌํ์ ๋ํด ๊น๊ฒ ํ๋ดค์ด. ์ ๋ฆฌํ์๋ฉด:
2๏ธโฃ ๋ ๋๋ง ๋ฐฉ์ ์์ด ๋ชจ๋ ์ฌ์ค์ ๋ ๋๋ง์ ์ํ์ ๊ธฐ๋ฐ์ด์ผ
3๏ธโฃ PBR์ ๋ฌผ๋ฆฌ ๋ฒ์น ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ง์ ์ ์ํด์ ์ฌ์ค๊ฐ์ ๊ทน๋ํํด
4๏ธโฃ ๊ธ๋ก๋ฒ ์ผ๋ฃจ๋ฏธ๋ค์ด์ ์ด ๊ฐ์ ๊ด์ ๊ณ์ฐํด์ ๊ณต๊ฐ๊ฐ์ ๋ง๋ค์ด
5๏ธโฃ AI์ ๋ฅ๋ฌ๋์ด ๋ ๋๋ง์ ์๋์ ํ์ง์ ๋์์ ํฅ์์ํค๊ณ ์์ด
6๏ธโฃ ์ค์๊ฐ ๋ ์ด ํธ๋ ์ด์ฑ์ด ๊ฒ์๊ณผ ์ํ์ ๊ฒฝ๊ณ๋ฅผ ํ๋ฌผ๊ณ ์์ด
๋ ๋๋ง ๊ธฐ์ ์ ์ง๊ธ ์ด ์๊ฐ์๋ ์์ฒญ๋ ์๋๋ก ๋ฐ์ ํ๊ณ ์์ด. 5๋
์ ์ ๋ถ๊ฐ๋ฅํ๋ ๊ฒ๋ค์ด ์ง๊ธ์ ๋
ธํธ๋ถ์์๋ ๋์๊ฐ๋ ์ธ์์ด ๋์์. ์์ผ๋ก 10๋
ํ์๋ ์ด๋ค ์ธ์์ด ๋ ์ง ์ง์ง ๊ธฐ๋๋์ง ์์?ใ
ใ
3D ๊ทธ๋ํฝ์ค์ ๊ด์ฌ์ด ์๊ฒผ๋ค๋ฉด ์ง๊ธ ๋น์ฅ Blender ๋ค์ด๋ฐ์์ ์์ํด๋ด. ์ ํ๋ธ์ ๋ฌด๋ฃ ๊ฐ์๋ ๋์ณ๋๊ณ , ์ปค๋ฎค๋ํฐ๋ ์์ฒญ ํ๋ฐํด. ๊ทธ๋ฆฌ๊ณ ์ค๋ ฅ์ด ์์ด๋ฉด ์ฌ๋ฅ๋ท ๊ฐ์ ํ๋ซํผ์์ 3D ๋ชจ๋ธ๋ง, ๋ ๋๋ง ์๋น์ค๋ก ์์ตํ๋ ํ ์ ์์ผ๋๊น ์ผ์์ด์กฐ์ผ! ๐ฏ
์ด ๋ถ์ผ๋ ๊ณตํ์ ์ง์(์๊ณ ๋ฆฌ์ฆ, ์ํ, ๋ฌผ๋ฆฌ)๊ณผ ์์ ์ ๊ฐ๊ฐ์ด ๋์์ ํ์ํ ์ ๋ง ๋งค๋ ฅ์ ์ธ ๋ถ์ผ์ผ. ์ ๋ณด ์ง๋ฅ๊ณตํ์ ๊ณต๋ถํ๋ ์ฌ๋์ด๋ผ๋ฉด ๋ ๋๋ง ์๊ณ ๋ฆฌ์ฆ ์์ฒด๊ฐ ํ๋ฅญํ ์ฐ๊ตฌ ์ฃผ์ ๊ฐ ๋ ์ ์์ด. ํ์ดํ
! ๐ช
๊ด๋ จ ํค์๋
๋๊ธ ์์ฑ
์ด ๊ธ์ ๋ํ ์ฌ๋ฌ๋ถ์ ์๊ฐ์ ๋ค๋ ค์ฃผ์ธ์
๋ก๊ทธ์ธ์ด ํ์ํฉ๋๋ค
๋๊ธ์ ์์ฑํ๋ ค๋ฉด ๋จผ์ ๋ก๊ทธ์ธํด์ฃผ์ธ์.
๋๊ธ 0
์ง์์ธ์ ์ฒ - ์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
์ง์ ์ฌ์ฐ๊ถ ๋ณดํธ ๊ณ ์ง
- ์ ์๊ถ ๋ฐ ์์ ๊ถ: ๋ณธ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ๋ ์ AI ๊ธฐ์ ๋ก ์์ฑ๋์์ผ๋ฉฐ, ๋ํ๋ฏผ๊ตญ ์ ์๊ถ๋ฒ ๋ฐ ๊ตญ์ ์ ์๊ถ ํ์ฝ์ ์ํด ๋ณดํธ๋ฉ๋๋ค.
- AI ์์ฑ ์ปจํ ์ธ ์ ๋ฒ์ ์ง์: ๋ณธ AI ์์ฑ ์ปจํ ์ธ ๋ ์ฌ๋ฅ๋ท์ ์ง์ ์ฐฝ์๋ฌผ๋ก ์ธ์ ๋๋ฉฐ, ๊ด๋ จ ๋ฒ๊ท์ ๋ฐ๋ผ ์ ์๊ถ ๋ณดํธ๋ฅผ ๋ฐ์ต๋๋ค.
- ์ฌ์ฉ ์ ํ: ์ฌ๋ฅ๋ท์ ๋ช ์์ ์๋ฉด ๋์ ์์ด ๋ณธ ์ปจํ ์ธ ๋ฅผ ๋ณต์ , ์์ , ๋ฐฐํฌ, ๋๋ ์์ ์ ์ผ๋ก ํ์ฉํ๋ ํ์๋ ์๊ฒฉํ ๊ธ์ง๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์์ง ๊ธ์ง: ๋ณธ ์ปจํ ์ธ ์ ๋ํ ๋ฌด๋จ ์คํฌ๋ํ, ํฌ๋กค๋ง, ๋ฐ ์๋ํ๋ ๋ฐ์ดํฐ ์์ง์ ๋ฒ์ ์ ์ฌ์ ๋์์ด ๋ฉ๋๋ค.
- AI ํ์ต ์ ํ: ์ฌ๋ฅ๋ท์ AI ์์ฑ ์ปจํ ์ธ ๋ฅผ ํ AI ๋ชจ๋ธ ํ์ต์ ๋ฌด๋จ ์ฌ์ฉํ๋ ํ์๋ ๊ธ์ง๋๋ฉฐ, ์ด๋ ์ง์ ์ฌ์ฐ๊ถ ์นจํด๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์์ง ๋๊ธ์ด ์์ต๋๋ค.