1 minute read

  • 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 ์ด๋ฏธ์ง€ ํฌ๊ธฐ image

SuGaR์—์„œ exportํ•œ MTL ํŒŒ์ผ์ด ์žฌ์งˆ์„ ์ •์˜ํ•˜๊ณ , ์žฌ์งˆ์— texture ์ด๋ฏธ์ง€๋ฅผ ๋งคํ•‘ํ•˜๋„๋ก ์ž‘์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ OBJ ํŒŒ์ผ์„ ์—ด์—ˆ์„ ๋•Œ, ์ž๋™์œผ๋กœ mesh์— ๋Œ€ํ•œ ์žฌ์งˆ์„ ์ •์˜ํ•˜๊ณ  UV map์œผ๋กœ ์‚ฌ์šฉํ•  ์ด๋ฏธ์ง€๊ฐ€ ์žฌ์งˆ์— ๋งคํ•‘๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. image

  • 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๊ณผ ๊ฐ™์€ ํด๋” ์•ˆ์— ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค. image

  • MTL ํŒŒ์ผ๋กœ ์ธํ•ด OBJ ํŒŒ์ผ์„ textured mesh๋กœ Rendered ๋ชจ๋“œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. image

  • ํ•˜์ง€๋งŒ UV map์„ mesh์™€ ํ•จ๊ป˜ ์žˆ๋˜ ํด๋”์—์„œ ์ œ๊ฑฐํ•ด์ฃผ๊ฒŒ ๋˜๋ฉด, Blender์—์„œ ์ž๋™์œผ๋กœ ๊ฐ™์ด ๋ถˆ๋Ÿฌ์˜ค๋˜ UV map์ด ์‚ฌ๋ผ์ ธ Rendered mode์—์„œ texture๊ฐ€ ์‚ฌ๋ผ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. image
  • ์ด ๊ฒฝ์šฐ, Rendered ๋ชจ๋“œ์—์„œ texture๊ฐ€ ์‚ฌ๋ผ์ ธ์„œ ๋ณด๋ผ์ƒ‰์œผ๋กœ ํ‘œํ˜„์ด ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. image

Texture Paint๋ฅผ UV map์„ ํ†ตํ•ด ํ•ด๋ด…์‹œ๋‹ค.

  • ๋จผ์ € Texture Paint ๋ชจ๋“œ๋กœ ํŒจ๋„์„ ๋ฐ”๊ฟ”์ฃผ๊ณ , Rendered ๋ชจ๋“œ์—์„œ ์ž‘์—…ํ•ด์ค๋‹ˆ๋‹ค. (Material Preview ๋ชจ๋“œ์—์„œ ํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.)
  • Material -> Surface -> Base Color๋ฅผ ๋ณด๋ฉด ์ด๋ฏธ UV map์ด ๊ฐ™์ด ๋ถˆ๋Ÿฌ์™€์ ธ์„œ Image Texture๋กœ ์ง€์ •๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. image

  • UV map์˜ drop down์—์„œ๋„ UV map์œผ๋กœ SuGaR์—์„œ outputํ•ด์„œ ๋‚˜์˜จ UV map ์ด๋ฏธ์ง€๋กœ ์ง€์ •๋˜์–ด ์žˆ์Šต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. image

  • ์ด์ œ 2D ํ˜น์€ 3D์—์„œ Paint์„ ํ•ด์ฃผ๋ฉด UV unwarpping (3D โ€“> 2D) ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŽ˜์ธํŒ…์ด ์ž˜ ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. image

Leave a comment