[BLENDER] 3DGS SuGaR UV map texturing with Blender
- OBJ ํ์ผ
- OBJ๋ 3D ๋ชจ๋ธ์ด ์ ์ฅ๋๋ ํ์ผ์ ํฌ๋งท ์ค ํ๋์ ๋๋ค.
- Vertex, texture ์ขํ, normal, face ์ ๋ณด(ํ ๋ฉด์ ๊ตฌ์ฑํ๋ vertex, texture, normal) ๋ฑ์ด ๋ด๊ฒจ ์์ต๋๋ค.
- 3D ๋ชจ๋ธ๋ง ํด(3dmax, ์ค์ผ์น์ , maya ๋ฑ๋ฑ)์์ .obj๋ก Export๋ฅผ ํ๊ฒ ๋๋ฉด .obj ํ์ผ์ ์์ฑํ ์ ์์ต๋๋ค.
- MTL ํ์ผ
- .mtl ํ์ผ์ Material Library File์ ๋๋ค.
- .mtl ํ์ผ์ .obj์์ ์ฌ์ฉ๋๋ ์ฌ์ง ์์ฑ๋ค์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด, ํ ์ค์ฒ ๋งต, ๋ฐ์ฌ์จ, ํฌ๋ช ๋ ๋ฑ์ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค.
- OBJ์ MTL ํ์ผ์ ๊ด๊ณ
- ๋ฐ๋ผ์ .obj ํ์ผ๊ณผ .mtl ํ์ผ์ ์ธํธ๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
- MTL์ด๋ผ๋ ๋ณ๋์ material ํ์ผ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ 3D ๋ชจ๋ธ์ ํ์ ์ธ์ texture, material ์ ๋ณด๋ฅผ ํจ๊ป ์ฎ๊ธธ ๋๋ MTL ํ์ผ๊ณผ ํจ๊ป ์ฎ๊ฒจ์ผ ํฉ๋๋ค.
SuGaR๋ก original 3dgs์ผ๋ก 7,000 iters ํ์ต์์ผ ๋์จ coarse mesh๋ฅผ refineํ๋ฉด refined_mesh๋ฅผ ์ป์ ์ ์์ต๋๋ค.
SuGaR์์ exportํ๋ ํ์ผ 3๊ฐ
- OBJ ํ์ผ: 3D mesh (without texture)
- MTL ํ์ผ: OBJ ํ์ผ์ ์ ์ฉ๋๋ ์ฌ์ง ์์ฑ์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจ
-
png ํ์ผ: UV map (3D mesh์ ์ ํ์ง๋ 2D texture)
- playroom scene์ SuGaR๋ก ํ์ตํ์ฌ ์ป๊ฒ๋ UV map ์ด๋ฏธ์ง ํฌ๊ธฐ
SuGaR์์ exportํ MTL ํ์ผ์ด ์ฌ์ง์ ์ ์ํ๊ณ , ์ฌ์ง์ texture ์ด๋ฏธ์ง๋ฅผ ๋งคํํ๋๋ก ์์ฑ๋์ด ์์ต๋๋ค.
๋ฐ๋ผ์ OBJ ํ์ผ์ ์ด์์ ๋, ์๋์ผ๋ก mesh์ ๋ํ ์ฌ์ง์ ์ ์ํ๊ณ UV map์ผ๋ก ์ฌ์ฉํ ์ด๋ฏธ์ง๊ฐ ์ฌ์ง์ ๋งคํ๋๋ ๊ฒ์ ๋๋ค.
- newmtl mesh
- newmtl์ ์๋ก์ด ์ฌ์ง(Material)์ ์ ์ํ๋ ํค์๋์ ๋๋ค.
- mesh๋ ์ด ์ฌ์ง์ ์ด๋ฆ์ ๋๋ค.
- ์ด ๋ผ์ธ์ โmeshโ๋ผ๋ ์ด๋ฆ์ ์๋ก์ด ์ฌ์ง์ ์ ์ํ๊ณ ์์์ ๋ํ๋ ๋๋ค.
- map_Kd sugarfine_3Dgs7000_sdfestim02_sdfnorm02_level03_decim1000000_normalconsistency01_gaussperface1.png
- map_Kd๋ ํ ์ค์ฒ ๋งต์ ์ ์ฉํ๋ ํค์๋์ ๋๋ค. ์ฌ๊ธฐ์ Kd๋ Diffuse ์์, ์ฆ ํ์ฐ๊ด์ ์๋ฏธํฉ๋๋ค. ์ด ์ฌ์ง์ ํ์ฐ๊ด์ ํ ์ค์ฒ๋ฅผ ์ ์ฉํฉ๋๋ค.
- sugarfine_3Dgs7000_sdfestim02_sdfnorm02_level03_decim1000000_normalconsistency01_gaussperface1.png๋ ํ ์ค์ฒ ์ด๋ฏธ์ง ํ์ผ์ ์ด๋ฆ์ ๋๋ค.
- ์ด ๋ผ์ธ์ โmeshโ ์ฌ์ง์ ํ์ฐ ํ ์ค์ฒ๋ก ์ฃผ์ด์ง PNG ํ์ผ์ ์ ์ฉํ๊ณ ์์์ ๋ํ๋ ๋๋ค.
i.e. ์ด ์๋ฆฌ๋ก ์ธํด SuGaR๋ก recon๋ playroom scene๊ฐ textured mesh๋ก ๋ํ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
-
SuGaR์์ ์ป์ refined_mesh์ธ OBJ ํ์ผ์ MTLํ์ผ & UV map๊ณผ ๊ฐ์ ํด๋ ์์ ๋ค์ด์์ต๋๋ค.
-
MTL ํ์ผ๋ก ์ธํด OBJ ํ์ผ์ textured mesh๋ก Rendered ๋ชจ๋์์ ๋ณผ ์ ์์ต๋๋ค.
- ํ์ง๋ง UV map์ mesh์ ํจ๊ป ์๋ ํด๋์์ ์ ๊ฑฐํด์ฃผ๊ฒ ๋๋ฉด, Blender์์ ์๋์ผ๋ก ๊ฐ์ด ๋ถ๋ฌ์ค๋ UV map์ด ์ฌ๋ผ์ ธ Rendered mode์์ texture๊ฐ ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
- ์ด ๊ฒฝ์ฐ, Rendered ๋ชจ๋์์ texture๊ฐ ์ฌ๋ผ์ ธ์ ๋ณด๋ผ์์ผ๋ก ํํ์ด ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
Texture Paint๋ฅผ UV map์ ํตํด ํด๋ด ์๋ค.
- ๋จผ์ Texture Paint ๋ชจ๋๋ก ํจ๋์ ๋ฐ๊ฟ์ฃผ๊ณ , Rendered ๋ชจ๋์์ ์์ ํด์ค๋๋ค. (Material Preview ๋ชจ๋์์ ํด๋ ๋ฉ๋๋ค.)
-
Material -> Surface -> Base Color๋ฅผ ๋ณด๋ฉด ์ด๋ฏธ UV map์ด ๊ฐ์ด ๋ถ๋ฌ์์ ธ์ Image Texture๋ก ์ง์ ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
-
UV map์ drop down์์๋ UV map์ผ๋ก SuGaR์์ outputํด์ ๋์จ UV map ์ด๋ฏธ์ง๋ก ์ง์ ๋์ด ์์ต์ ํ์ธํ ์ ์์ต๋๋ค.
- ์ด์ 2D ํน์ 3D์์ Paint์ ํด์ฃผ๋ฉด UV unwarpping (3D โ> 2D) ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ์ธํ ์ด ์ ๋๋ ๊ฒ์ ํ์ธ ํ ์ ์์ต๋๋ค.
Leave a comment