๋ฐ๋ฐ๋ฅ ์ฝ๋ฉ์ ๋๋ฌ๊ณ ์ด์ ์ปจํ ์ธ ์ ์์ ์ง์คํ ์ ์๊ฒ ๋์ด์
๊ฐ๋ ์ผ์ง ๊ฐ์๊ฑฐ ์ฌ๋ฆผ
๊ทธ๋ฆฌ๊ณ ๋ง ์์ํ ๋ธ๋ก๊ทธ ํ๋ณด๋ ์ข
https://devanzblog.wordpress.com/
๋ง์ธํฌ๋ํํธ๊ฐ์ด ์ ํด์ง ๊ท์น์ผ๋ก ๊ฒ์ ๋ด์ ์ปจํ
์ธ ๋ฅผ ์๋ ์์ฑํ๋ ๊ฒ์
โ์ ์ฐจ์ ์ปจํ
์ธ ์์ฑ(Procedural Content Generation)โ์ด๋ผ๊ณ ํจ..
๋ง์ธํฌ๋ํํธ๊ฐ ์ด๋ป๊ฒ ์งํ์ ๋ง๋๋์ง ์กฐ์ฌํ๋ค๋ณด๋ฉด ์์ ๋ค ๋ง์ด ๋์ค๋๋ฐ ์์ฝํ๋ฉด
2์ฐจ์ย ์ขํ๊ฐ์ ๋
ธ์ด์ฆ ํจ์์ ๋ฃ์ด์ ๊ฐ์ ์ป๊ณ ์ด๊ฒ์ ๋์ด๋ก ์ผ์ ๊ทธ ์๋ซ๋ถ๋ถ์ ๋ธ๋ก์ผ๋ก ๋ฉ์ฐ๋ ๊ฑฐ์.
๋
ธ์ด์ฆ ํจ์๋ย ์์ ๋ฌด์์๊ฐ ์๋๋ผ ์ด๋ค ํจํด์ด ์๋ ๋๋ค ๊ฐ์ ๋ด๋๋ ํจ์์. ํ๋ฆฐ์ด๋ ๋ญ๋ ๋ง์.
์ ๋ํฐ์๋ Mathf.PerlinNoise ๋ผ๋๊ฑฐ ์์ผ๋๊น ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด ๋ณผ ์ ์์.
์ด๋ฐ ๊ฐ๋จํ ๊ท์น์ผ๋ก๋ ๊ทธ๋ด๋ฏํ ์งํ์ ๋ง๋ค ์ ์์.
ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ๋์ด๋ฅผ ๊ฒฐ์ ํ๊ณ ๊ทธ ์๋๋ฅผ ์ ๋ถ ๋ฉ์ฐ๊ธฐ ๋๋ฌธ์ย ๋๊ตด์ด๋ ์ ๋ฒฝ๊ณผ ๊ฐ์ ์งํ์ ํํํ ์๊ฐ ์์.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด
3์ฐจ์ ์ขํ๋ฅผ ๋ชจ๋ ์ํํ๋ฉด์ย ๋
ธ์ด์ฆ ๊ฐ์ด 0๋ณด๋ค ํด ๊ฒฝ์ฐ ๋ธ๋ก์ ๋๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋น์ ๋๋ ๋ฐฉ๋ฒ
์ ์ฌ์ฉํ๋ฉด ๋จ. ๋
ธ์น๋ ์ด๊ฒ์ โ๋ฐ๋โ๋ผ๊ณ ํํํจ.
๋
ธ์ด์ฆ์ ์ด๋ค ๊ฐ๊ณต๋ ๊ฑฐ์น์ง ์๊ณ ๊ทธ๋๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด
๋์ด์ ์๊ด์์ด ๋
ธ์ด์ฆ ํจ์์ ๊ฐ์ด ๋ฌด์์๋ก ๋ถํฌํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก๋ ๋ฏธ๋ก๊ฐ์ 3์ฐจ์ ๋๊ตด์ด ๋ง๋ค์ด์ง.
๊ทธ๋์ ๋์ด๊ฐ ๋์์ง ์๋ก ๊ฐ์ด 0์ ๋์ง ๋ชปํ๋๋ก ์ ํ์ ์ฃผ์ด์ผ ํจ.
๋ ํํธ์ผ๋ก๋ ๋ฐ๋ฅ์ ๊ตฌ๋ฉ์ด ๋ซ๋ฆฌ์ง ์๋๋ก ์ผ์ ๋์ด๊น์ง๋ ๊ฐ์ด 0 ์ด์์ด ๋๋๋ก ํด์ผ ํจ.
๋ ๋
ธ์ด์ฆ ๊ฐ๊ณต ํจ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํด์ย ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ.
์กฐ๊ธ๋ง ์๊ฐํด ๋ณด๋ฉด ์ง๊ด์ ์ผ๋ก ์ดํดํ ์ ์๋ ํจ์์. ์๋ ๋ง๊ณ .
y ์ขํ๋ฅผ ๋นผ๋ ๋ฐฉ๋ฒ์ด ์ ๋จนํ
height map ๋ฐฉ์์ผ๋ก๋ ํํํ ์ ์๋ ์งํ๋ ๋ํ๋จ
๊ฒฐ๋ก :
๋
ธ์ด์ฆ ํจ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋๋ ธ์ผ๋ ์ ๋นํ ๊ฐ์ ธ๋ค ์ฐ๋ฉด ๋๊ณ ,
์ค์ํ ๊ฒ์ ๋
ธ์ด์ฆ๋ฅผ ๊ฐ๊ณตํ๋ ํจ์๋ฅผ ์ด๋ป๊ฒ ์ ์ํ ๊ฒ์ด๋ ํ๋ ๊ฑฐ์.
๊ทธ๋ฆฌ๊ณ 3์ฐจ์ ๋
ธ์ด์ฆ๋ฅผ ๋ฐ๋๋ก ํ์ฉํ๊ธฐ ์ํ ๊ธฐ์ด์ ์ธ ๊ฐ๊ณต ํจ์๋ ๋ค์๊ณผ ๊ฐ์.
density = noiseย *ย scaleย +ย offsetย โย y
- noise : ๋ ธ์ด์ฆ ํจ์์ ํจ์๊ฐ [-1, 1]
- scale : ์งํ์ ๊ตด๊ณก์ ์ ๋๋ฅผ ๊ฒฐ์ ํ๋ ์คํ๊ฐ
- offset : ์งํ์ ์ต์ ๋์ด
- y : ๋์ด๊ฐ ๋์์ง ์๋ก ๋ธ๋ก์ ๋ฑ์ฅ ํ๋ฅ ์ ๋ฎ์ถ๊ธฐ ์ํด y ์ขํ ๊ฐ์ ๋นผ ์ค.
๊ฐ์ถ์ผ
์ค์ฃ ์ ์นด์ถ