2์ผ๋์ ํ๋ฃจ์ข ์ผ ํจ.
์ต์ ํ ํ๊ฒ ๋ค๊ณ ์ฝ๋ ๋ค์ง์ด ์์๋๋ฐ ์์ฒญ๋ ์ฐจ์ด๋ ์์์ง๋ง, ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ง์กฑํจ.
์๋ ๋ณต์ ์ด๋๊ฒ, ์์ธํ ํํํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด, ๊ทธ๋ฆฌ๋๋ฅผ ๋ ์ ๋ฐํ๊ฒ ๋ง๋ค์ด์ผ ํจ.
์ ๋ง ์ด์ด ์ข๊ฒ๋, ๋ด๊ฐ ์ ํํ ์๊ณ ๋ฆฌ์ฆ์ ์ฅํธ๋ฆฌ ๊ตฌ์กฐ๋ก ์ง์ฌ์๊ธฐ๋ง ํ๋ฉด, ์๋ฌด๋ฆฌ ๋ถ๊ท์น์ ์ด๋ผ๋ ๋ฉ์ฌ๋ฅผ ๋ง๋ค์ด๋ผ ์๊ฐ ์์.
๊ทธ๋์ ๋ด๊ฐ ์์ ๋ํ์ ์ค์นํ๋ฉด, ํด๋น ์์น์ ๋ ธ๋๋ฅผ ์ ๋นํ ๋ถํ ์์ผ์ฃผ๊ณ ์์.
๋ฉ์ฌ๋ฅผ ๋ง๋๋ ๊ณผ์ ์ด ๋ญ๋๋ฉด,
1. ์ฒญํฌ ๋ ธ๋ ๋ฐ์ ๋ชจ๋ ๋ฐ์ดํฐ ๋ ธ๋์ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ฐํด์ ์ฑ์๋ฃ๋๋ค.
2. ์งํ์ ํ๋ฉด์ด ์ง๋๋ ๋ชจ์๋ฆฌ ์ฃผ๋ณ์ 4๊ฐ์ ๋ ธ๋๋ฅผ ์ด์ด์ ์ฟผ๋๋ฅผ ๋ง๋ค์ด์ค๋ค.
์ธ๋ฐ, 1๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์ฑ์๋ฃ๋๊ฒ ๊น๋ค๋ก์ ์.
์ด๋ค ๋ฐ์ดํฐ๊ฐ ํ์ํ๋๋ฉด, ๊ฐ ์นธ๋ง๋ค 8๊ฐ์ ๊ผญ์ง์ ์์ ์งํ์ ์์ธ์ง ๋ฐ์ธ์ง๋ฅผ ๊ตฌํ ํ,12๊ฐ์ ๋ชจ์๋ฆฌ๋ฅผ ์ฒดํฌํด์,
๋ง์ฝ ๋ชจ์๋ฆฌ์ ํ์ชฝ์ด ์งํ ๋ด๋ถ์ด๊ณ ๋ฐ๋์ชฝ์ด ์ธ๋ถ์ด๋ฉด, ์งํ์ด ํด๋น ๋ชจ์๋ฆฌ๋ฅผ ์ง๋๋ ์ ํํ ์ง์ ๊ณผ, ๊ทธ ์์น์์์ ๋ ธ๋ง๊ฐ์ด ํ์ํจ.
์ฒญํฌ๋ ธ๋ ๋ฐ์ ๋ฐ์ดํฐ๋ ธ๋๊ฐ ๊ธฐ๋ณธ์ผ๋ก 32x32x32ํด์ 32768๊ฐ ์กด์ฌํ๋๋ฐ, ์ฌ๊ธฐ์ 32768 x 8๋ฒ ๊ฐ์ ์ฒดํฌํ๊ณ ์ถ์ง ์์์.
์ฌ์ค ๋ชจ์๋ฆฌ๋ ๊ทธ๋ฆฌ๋ ์์ ์นธ๋ผ๋ฆฌ ๊ณต์ ๋๊ธฐ ๋๋ฌธ์, ๊ฐ ์นธ๋ง๋ค 3๊ฐ์ ๋ชจ์๋ฆฌ๋ฅผ ์ฒดํฌํด์ฃผ๋ฉด ์ฒญํฌ ๋ด์ ๋๋ถ๋ถ์ ๋ชจ์๋ฆฌ๋ฅผ ํ์ธํ ์๊ฐ ์์.
๊ทธ๋์ 32768๊ฐ์ ๋ ธ๋๋ฅผ ์ํํ๋ฉด์ 12๊ฐ์ ๋ชจ์๋ฆฌ๋ฅผ ์ฒดํฌํด์ ๋ฐ์ดํฐ๋ฅผ ์ฑ์๋ฃ์ด์ฃผ๋๊ฒ ์๋๋ผ, 32x32x32 ๊ทธ๋ฆฌ๋ ์์์๋ ๋ชจ์๋ฆฌ๋ง ์ํํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ฑ์๋ฃ์ด์ฃผ๊ณ ์์.
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ๋ชจ์๋ฆฌ๋ค์ ๋จ์ํ ์ํํ๋ฉด์ ๊ณ์ฐํ๋ฉด ๊ฐ ๊ผญ์ง์ ์ ๊ฐ์ ์ฌ๋ฌ๋ฒ ๊ณ์ฐํ๊ฒ ๋จ.
๊ทธ๋์ ์ต์ข ์ ์ผ๋ก๋, 32x32x32๊ทธ๋ฆฌ๋ ์์ ๋ชจ๋ ๊ผญ์ง์ ์์์ ๊ฐ์ ๋ฏธ๋ฆฌ ๊ตฌํ ํ, ๊ทธ๋ฆฌ๋ ์์ ๋ชจ์๋ฆฌ ์ค ์งํ์ด ์ง๋๋ ๋ชจ์๋ฆฌ๋ฅผ ์ฐพ์์,
ํด๋น ๋ชจ์๋ฆฌ๋ฅผ ๋๋ฌ์ผ 4๊ฐ์ ์ฅํธ๋ฆฌ ๋ ธ๋๋ฅผ ์์ฑํ๊ณ ๊ทธ ๋ ธ๋๋ค ์์ ๋ชจ์๋ฆฌ ์ ๋ณด๋ฅผ ์ฑ์๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ์.
๊ทธ๋ฐ๋ฐ ์ด์ ์์ ๋ํ์ ์ค์นํ๋ฉด ์ฅํธ๋ฆฌ ๋ ธ๋(๊ทธ๋ฆฌ๋ ํ์นธ)๊ฐ ์ต๋ 2๋ฒ, 4x4x4ํฌ๊ธฐ๋ก ๋ถํ ๋๋ ๊ธฐ๋ฅ์ ๋ฃ์ด์ผ ํ๋๋ฐ, ์ด๋ฌ๋ฉด 32x32x32์ ๊ท ๋ฑํ ๊ทธ๋ฆฌ๋๊ฐ ์๋๊ฒ ๋จ.
์ด์ ์๋ ๋๋ค๋ฅธ ์ฅํธ๋ฆฌ๋ฅผ ์์ฑํด์ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ์.
์ด๋ฐ์์ผ๋ก 8๊ฐ์ ๋ ธ๋๊ฐ ๊ฐ๊ฐ 2๋ฒ ๋ถํ ๋์ด์ผ ํ๋ค๊ณ ์ค์ ๋์ด์์ผ๋ฉด, ์ด 8๊ฐ๋ฅผ ํฉ์ณ์ ํ๋๋ก ๋ณด๊ณ 3๋ฒ ๋ถํ ์ํค๋ ๋ฐฉ์์ผ๋ก ํํธ์ฒ๋ผ ๋๋ ๋ ธ๋๋ค์ ๋ฌถ์ด์คฌ์.
๋ฌถ์ธ ๋ ธ๋ ๋ด์์๋ ์๊น ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฑ์๋ฃ๋ ํจ์๋ฅผ ๊ทธ๋๋ก ์ด์ฉํ๋ฉด ๋์ ํธํ์.
๊ตฌํ๋ฐฉ๋ฒ์
๋๋ค๋ฅธ ์ฅํธ๋ฆฌ๋ฅผ ์์ฑํด์ ์ฅํธ๋ฆฌ์ ์ถ๊ฐ๋ก ๋๋ ๋ ธ๋๋ค์ ๋ฃ์ด์ฃผ๋ฉด, ์ฅํธ๋ฆฌ ์์์ ๋ ธ๋์ ์์ 8๊ฐ๊ฐ ๊ฐ์ ํ์๋ก ๋๋๋ฉด ํฉ์ณ์ง๋ ๋ฐฉ์์ผ๋ก ์ ๋ฆฌํด์ค.
๋ด๊ฐ ์ ์ด ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๋์ง ๋ชจ๋ฅด๊ฒ ์. ์ด ๋ฐฉ์์ผ๋ก๋ ๋ฌด์กฐ๊ฑด ์ ์ก๋ฉด์ฒด, ๊ทธ๊ฒ๋ ์ฅํธ๋ฆฌ ๊ตฌ์กฐ์ ์ํ๋ ์์น์ ํฌ๊ธฐ์ ์ ์ก๋ฉด์ฒด๋ก๋ง ํฉ์ณ์ฃผ๊ธฐ ๋๋ฌธ์,
์ฌํ๋ฉด ์ฒญํฌ๋ ธ๋๋ฅผ ์ฒ๊ฐ ์ด์์ ๋ฒ์๋ก ๋๋. ๊ทธ๋์ ๊ณ์ ๊ณ ์ณ์ผ์ง ์๊ฐํ๋ค๊ฐ ์ค๋ ๋๋์ด ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ฏ์ด ๊ณ ์ณค์.
๋ง์ธํฌ๋ํํธ ๋ชจ์์ ํด๋ณธ์ฌ๋์ ์์๋ ์๋๋ฐ Greedy meshing์ด๋๊ฒ ์์.
๋ฉ์ฌ๋ฅผ ์ํด ๋ฉด์ ๋ง๋ค๋, ์ฒ์์ x๋ฐฉํฅ์ผ๋ก ๊ณ์ ์ฒดํฌํด์ x๋ฐฉํฅ์ ๋ฉด์ด ์๋ค๋ฉด ํด๋น ๋ฉด์ ํฉ์น๊ณ , ๋ค์์ y๋ฐฉํฅ์ผ๋ก ์ฒดํฌํด์ ํฉ์ณ๋๊ฐ.
์ต๋ํ ๋ง์ ๋ฉด์ ๋ญ์ณ์ ํ๋์ ๋ฉ์ฌ๋ก ๋ง๋๋ ์๊ณ ๋ฆฌ์ฆ์.
๊ฐ์ ์๋ฆฌ๋ก, ์ด๋ฒ์ x,y,z๋ฐฉํฅ ์ผ๋ก ์ต๋ํ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ทธ๋ฆฌ๋ ์ ๋ค์ ํฉ์ณ์ค์ ์ฒญํฌ๋ ธ๋๋ฅผ ์ฌ๋ฌ๊ฐ์ ์ง์ก๋ฉด์ฒด ๋ฒ์๋ก ๋๋ ์คฌ์.
๊ทผ๋ฐ ์ด๋ฌ๋๊น ์ด์ ์ ํจ์๋ค์ ์ ๋ถ ๋ฏ์ด๊ณ ์ณ์ผํ๋ ๋ฌธ์ ๊ฐ ์๊น.
์ ์ ํจ์๋ค์, ์ฅํธ๋ฆฌ ๋ ธ๋์ ๋ฐ์ดํฐ๋ ธ๋ํฌ๊ธฐ๋ฅผ ๋ฐ์์, ์ฅํธ๋ฆฌ ๋ ธ๋๋ฅผ ๋ฐ์ดํฐ๋ ธ๋ํฌ๊ธฐ์ ๊ทธ๋ฆฌ๋๋ก ๋๋๋ค์, ๊ทธ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฑ์๋ฃ์ด์ฃผ๋ ๊ตฌ์กฐ์์.
์ด๋ฌ๋ฉด ์ ์ก๋ฉด์ฒด์ ๋ฒ์๋ง ์ฒ๋ฆฌํ ์ ์์ด์, ์ง์ก๋ฉด์ฒด์ ๋ฒ์๋ ์ฒ๋ฆฌ๊ฐ ์๋จ.
๊ฐ ํจ์๊ฐ ์ฒญํฌ๋ ธ๋๋ฅผ ๋ฐ๊ณ , ์ง์ก๋ฉด์ฒด ๋ฒ์ ์์ ์ธ๋ฑ์ค, ์ข ๋ฃ ์ธ๋ฑ์ค, ์๊ฒ ๋๋๋ ํ์๋ฅผ ๋ฐ๋๋ก ํด์ ๋ด๋ถ์ ์ผ๋ก ์ง์ก๋ฉด์ฒด ๋ฒ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด์คฌ์.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์์์ ๋๋๋ ํ์๋งํผ ๋ฒ์๋ฅผ ๋๋ ์ค ํ ๋ชจ์๋ฆฌ๋ค์ ์ํํด์ ์ง์ก๋ฉด์ฒด ๋ฒ์ ๋ด์ ๋ ธ๋๋ค์ ํํด ๋ฐ์ดํฐ๋ฅผ ์ฑ์๋ฃ์ด์ค.
์ฅํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋๋๋ 800๊ฐ์ ๋ฒ์๋ก ๋๋๋๊ฒ 100๊ฐ์ ๋๋ก ์ค์ด๋ค์๋๋ฐ, ์คํ์๊ฐ์๋ ๋ณ๋ฐ ์ฐจ์ด๊ฐ ์๋๋ผ.
๋๋ ๋ฒ์์ ์๊ฐ ์ ์์๋ก, ์ฒ๋ฆฌ๋์ด ์ค์ด๋๋๊ฑด ์ฌ์ค์. ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ๋กย 32x32x32๊ทธ๋ฆฌ๋ ์์ ๋ชจ์๋ฆฌ๋ฅผ ์ํํ๋, ๋๋ 32768๊ฐ์ ์ ์์ 12๊ฐ์ ๋ชจ์๋ฆฌ๋ฅผ ์ฒดํฌํ๋๋ฅผ ์๊ฐํด๋ณด๋ฉด ๋จ.
๊ทธ๋ฐ๋ฐ, ๋๋ ๊ฐ์๊ฐ 8๋ฐฐ ์ค์๋ค๊ณ ์๊ฐ์ด 8๋ฐฐ๋ก ์ค์ด๋๋๊ฒ ์๋๋ผ, ์ค์ด๋ ์ฒ๋ฆฌ๋์ ๋น์จ๋๋ก ๋์ด๋จ.
์ง๊ธ ์ฒดํฌํ๋๋ก๋ ์๋ง ์ํด๋ด์ผ 10%๋จ์ถ๋๊ฒ ๊ฐ์. ๊ทผ๋ฐ ์ด๊ฑด ๋๋๋๊ฒ ๊ทธ๋ ๊ฒ๊น์ง ๋ง์ง ์์ ๊ฒฝ์ฐ์ด๊ณ , ์๋ง ์ฒญํฌ๋ด์ ๋ถํ ๋์ด์ผ ํ๋ ๋
ธ๋๋ค์ด ๋ง์์ง์๋ก ๋จ์ถ๋์ด ๋์ด๋ ๋ฏ.
์ด ์ธ์๋ ์์ํ ์ต์ ํ๋ค ์ง์ง ๋ง์ด ํ์.
์๊ณ ๋ฆฌ์ฆ์ ์์ ํ๋ฉด์ ์ฝ๋๋ ๊น๋ํด์ก๋๋ฐ, ์ด๊ฑด ํ์คํ ๋ง์กฑํจ.
๋ ํ๋ ๋ฌธ์ ๊ฐ ์์์
๊ณผ๊ฑฐ์ ์ด๋ด๋๋ง๋ค ์์ฒญ ๊ณ ์ํ๋ ๊ธฐ์ต์ ํจ๋์์ ์ค๋์์ ์ด๋ป๊ฒ๋ ๊ณ ์ณ์ผ์ง ํ๊ณ ๋๋ฒ๊น ํ์.
์ผ๊ฐํ์ ์ด๋ฃจ๋ ๊ผญ์ง์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ฒดํฌํ์๋, ๊ฑฐ๋ฆฌ๊ฐ ๋ ธ๋ ์ฌ์ด์ฆ๋ณด๋ค ํฐ ๊ฒฝ์ฐ๊ฐ ํ๋๋ ์์๋๋ฐ, ์ ์ ๋ฉ์ฌ๋ฅผ ๋ง๋ค๋ฉด ์ ๋ฐ ์ผ๊ฐํ๋ค์ด ๋ง๋ค์ด์ง๋๋ผ.
์๊ณ ๋ณด๋ ๊ธฐ๋ณธ ์ธํ ์์๋ ํ๋์ ๋ฉ์ฌ ์์ ๋ฒํ ์ค 65535๊ฐ๊น์ง๋ง ํ์ฉ๋๋๋ฐ ๊ณผํ๊ฒ ๋ถํ ํ๋ค๋ณด๋ ๋์ด๊ฐ๋๊ฑฐ์์. Mesh.indexFormat์ ๋ฐ๊ฟ์ฃผ๊ณ ํด๊ฒฐํจ.
๋ฌด์์ 2๋ฒ ๋ถํ ํ๋๊ฑด ๋๋ฌด ๊ณผํ๊ฑฐ ๊ฐ์์, 1๋ฒ ๋ถํ ์์ผฐ๋๋ 2๋ง๊ฐ์ ๋ ๋์ด.
์ข ์ ๊ฒฝ์จ์ ๋ถํ ํ์๋ฅผ ์ ๋นํ ์๋์ผ๋ก ์ ํ๋๋ก ๋ง๋ค์ด์ผ๊ฒ ์.
๋ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๊ฐ ์๋๋ฐ, ์ด๊ฑด ๋ค์์ ํ์ธํ๋ ค๊ณ .
๋ด ์ถ์ธก์ผ๋ก๋ ์ฒญํฌ๋ณ๋ก ๋ฒํ ์ค ๊ฐ์ ์ฐจ์ด๊ฐ ๋ง์ด ๋๊ณ , ํ๋ง์ผ๋ก ๋๋ ค์ฐ๋ค๋ณด๋ ๋ฒํ ์ค ๋ฑ์ ๋ด์๋๋ ๋ฆฌ์คํธ์ ์ฉ๋์ด ์ํฅํ์คํ๊ฐ ๋๋๊ฒ ๊ฐ์.
์์ ์ ๋ณด๊ฐ ์๋ ์ฒญํฌ๋ ์ ์ฉ ํ์ ์ด์ฉํ๊ฑฐ๋, ์๋๋ฉด
๋ฆฌ์คํธ๊ฐ ์๋๋ผ ์์ฒญ๋๊ฒ ํฐ ๊ธธ์ด์ ๋ฐฐ์ด์ ํ ๋นํด์ ๊ทธ ์์์ ์ฒญํฌ๋ณ๋ก ์ง์ ๋ฒ์๋ฅผ ํ ๋นํด์ค๋ ๋ ๊ฒ ๊ฐ์.
์ฒญํฌ ์ด๋์ lod๋ณํ๊ฐ ์ผ์ด๋๋ ์ฒญํฌ ๊ฐ์๊ฐ 400๊ฐ์ธ๋ฐ, ์ง์ง ๋ง์ ์ํฉ์. ๋ณดํต 80๊ฐ์ ๋ ๋์ค๋๋ฐ, Lod๋ก ๋๋๋ค๋ณด๋ ๊ฐ๋ ์ ๋ ๊ฒ ๋ง์ด ์ ๋ฐ์ดํธ๊ฐ ์ผ์ด๋จ.
Lod๊ณ์ฐ๊ณผ Mesh์์ฑ์ ์ฝ๋ฃจํด์์ ๊ณ์ yield return null์ ํด์ค์ ๋๋ ์ด๋ฅผ ์ฃผ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ๋์ด๋๊ฑฐ๊ณ ,
Updating์ด ๋ฌด๊ฑฐ์ด ์์ ์.
ํ์ฌ ์ค๋ ๋์ ๊ทธ๋ฅ ๋ฌด์์๋ก ์์ ์ ํ ๋นํด์ค์ ์ค๋ ๋ ์ผ๋ถ๊ฐ ๋๋ ๋์ ๋๋จธ์ง๋ ๋๊ณ ์๋๋ฐ, ๊ทธ๊ฑฐ ํด๊ฒฐํ๋ฉด ์กฐ๊ธ์ ๋นจ๋ผ์ง ๋ฏ.
๋ด ๋ชฉํ๋, ์ผ๋ฐ์ ์ธ ํ๋ ์ด์ํฉ์์, ๊ทธ๋ฌ๋๊น ์ ๋ง ์ผ๋ถ๋ก ๋ธ๋ก์ ์๊ฒ ํ๋จ๋ ค๋์ง ์๋ ๊ฒฝ์ฐ์, 2000ms๋ฅผ ๋๊ธฐ์ง ์๋๊ฒ ๋ชฉํ์. ๋ถํ ์ด ๋๋ฉด ๋ ์๋ก ์์์๊ฐ์ด ์ง์ง ๋ง์ด ๋์ด๋จ.
2ํ ๋ถํ ์ ๋ฐ์ดํฐ๋์ด 64๋ฐฐ๋ก ๋์ด๋๋๊ฒ ๋๋ฌด ํผ.
์ฒญํฌ ํฌ๊ธฐ๊ฐ 32m๊ณ ์ด๋์๋๊ฐ ๋นจ๋ผ๋ดค์ 8m/s๋ก ๋ ์์ ์ด๋ 2000ms์ ๋๋ฉด ์ฌ์ ๋ก์ธ ๋ฏ. Lod๊ฐ ์ ์ฉ๋์ ์์ผ๊ฑฐ๋ฆฌ๊ฐ ๋๋ค๋ณด๋ ์กฐ๊ธ ์ง์ฐ๋๋ ๋ณ๋ก ํฐ ์๋๋๋ผ.
์ ๋ฒ์ ์ฐ ์์ ์ ์ฉํ๊ธฐ ์ ์ ๋จธํ ๋ฆฌ์ผ์ ์ ์ฉ๋์ด์๋ ์๊น๋ง ํ์ณ์๋๋ฐ ์ง์ง ์ด์๋ฏ.
๊ธ ํ๋ํ๋ ๋ฐฐ์ธ๊ฒ ๋ง๋ค ใณใณ
์ดํด๋ ์๊ฐ๋ค