Hello creators ๐
35. ๋ธ๋ฃจ ํ๋ฆฐํธ, ์ธ๋ฆฌ์ผ ์์ง์ ๊ฝ (Feat. ๋ธ๋ฃจํ๋ฆฐํธ ๊ฐ๋ ๋ฐ ์์, TA, ๋ ๋ฒจ ๋์์ด๋, ๋์์ด๋ ์ปค๋ฆฌ์ด) ๋ณธ๋ฌธ
35. ๋ธ๋ฃจ ํ๋ฆฐํธ, ์ธ๋ฆฌ์ผ ์์ง์ ๊ฝ (Feat. ๋ธ๋ฃจํ๋ฆฐํธ ๊ฐ๋ ๋ฐ ์์, TA, ๋ ๋ฒจ ๋์์ด๋, ๋์์ด๋ ์ปค๋ฆฌ์ด)
๋ถ์๋งค๋_HA 2021. 12. 7. 11:43
[๋ธ๋ฃจ ํ๋ฆฐํธ ๊ฐ๋จ ์ค๋ช ]
[๋ธ๋ฃจ ํ๋ฆฐํธ ๋?]
์ ์๋ ๊ฒ์ ํ๊ฒฝ์์,
๊ฒ์์์ ์ํธ์์ฉ, ๋ณํํ๊ณ ์์ง์ด๋ ๋ชจ๋ ๊ฒ์ ๋ง๋ค ์ ์๋ ์์คํ .
ex) ์์ง์ด๋ ์ค๋ธ์ ํธ ๋ง๋ค๊ธฐ, ์ค๋ธ์ ํธ ๋ฌถ๊ธฐ ๋ฑ์ ํ ์ ์๋ค.
ex) UI ์ฐ๊ณ - ๋ฒํผ ๋๋ฅด๋ฉด - ํ๊ฒฝ ๊ตฌ์ฑ์์ ๋ณํํ๋ ๋ฑ์ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์.
[๋ธ๋ฃจ ํ๋ฆฐํธ๊ฐ ๋์์ด๋์๊ฒ ๋ฏธ์น๋ ์ํฅ]
1. ํ ์ง๋ฌด ์ญํ ์ ์ฅ๋ฒฝ์ ํ๋ฌผ ์ ์๋ค.
ํ๊ฒฝ ๋์์ธ ์ง๊ตฐ = ๋์์ธ ์์ญ > SO, ํน์ ๊ธฐ๋ฅ์ ๋ฃ์ผ๋ ค๋ฉด > ๊ฐ๋ฐ์์๊ฒ ๋ถํํด์ผ๋ง ํ๋ ใ ใ
๋ธ๋ฃจ ํ๋ฆฐํธ๋ฅผ ์ฌ์ฉํ๋ฉด > ๊ฐ๋ฐ์์๊ฒ ๋์์ ์ป์ง ์์๋, ์ด๋ ์ ๋๋ก ๊ธฐ๋ฅ ๊ตฌํ์ด ๊ฐ๋ฅ!
๋์์ด๋, ๊ฐ๋ฐ์์ ๊ฒฝ๊ณ๋ฅผ ์ด๋ ์ ๋ ํ๋ฌผ์๋ค!
2. ๋ฌด์๋ณด๋ค, ํํ์ ์ฅ๋ฒฝ์ ํ๋ฌผ ์ ์๋ค.
๋ด๋ฆฌ๋ ๋, ์์ผ๋ก ์ค๋ ๋, ํจ๋ฐ ๋ ๋ฑ ๋ค์ํ ํํ์ '๊ธฐ๋ฐ' ์ด ๋๋ค.
[๋ธ๋ฃจ ํ๋ฆฐํธ์ ๊ฐ๋จํ ์๋ฆฌ]
๋จธํฐ๋ฆฌ์ผ์์ ์ฌ์ฉํ๋ ๋ ธ๋๋ฅผ ์๋๋ค. > ๊ด๋ฒ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ค.
์ฆ, ๋ฏธ๋ฆฌ ์ค๋น๋ ๋ ธ๋, ํจ์๋ฅผ ์๋๋ค. > ๊ฒ์์ ํ์ํ ๋๋ถ๋ถ์ ๊ตฌํํ ์ ์์. โญโญโญโญโญ
๊ตฌ์ฒด์ ์ผ๋ก๋,
๊ธฐ์กด ๊ฐ๋ฐ ์ธ์ด์์ ์ฌ์ฉ๋๋ '๋ณ์, ํจ์, ๋งคํฌ๋ก, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์ ๊ตฌ์กฐ' ๋ ์ ์งํ๋ฉด์ - ๊ฐ ๊ธฐ๋ฅ์ ์ฐ๊ฒฐ์ '์ฝ๋ ์์ฑ' ์ด ์๋, '๋ ธ๋ ์์คํ ' ์ผ๋ก ํ๋ค. > so, ํธํ๋ฉด์, ๊ธฐ๋ฅ ๊ตฌํ์ ๋ฌธ์ ๋ ์์.
ex)
์ธ๋ฆฌ์ผ ์์ง์ 'ํ๊ฒฝ ๋ด ๋ชจ๋ ์ค๋ธ์ ํธ์ ์์น'๋ฅผ '๋ฐ์ดํฐ' ๋ก ๊ฐ๊ณ ์์. > ๋ธ๋ฃจ ํ๋ฆฐํธ๋ฅผ ์ด์ฉํ๋ฉด, ์ด ๋ชจ๋ '๋ฐ์ดํฐํ๋ ์ค๋ธ์ ํธ' ๋ฅผ ์ํ๋ ๋ฐฉํฅ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์.
Cf. ์ฆ, '๋ชจ๋ ๊ฒ์ ์๋ก ๋ง๋๋ ๊ฒ' ์ด ์๋, '๊ธฐ์กด์ ์๋ ๊ฒ๋ค์ ์ด์ด์ค๋ค.' ๋ ๊ฐ๋ ์ผ๋ก ์ ๊ทผํ ์ ์๋ค.
[๋ธ๋ฃจ ํ๋ฆฐํธ ์ค์ ๊ฐ๋ : Get ๊ณผ Set ์ ๊ตฌ๋ถ]
[get ์ด๋]
'์ด๋ฏธ ํ๊ฒฝ์ ์กด์ฌํ๋ ๋ฌด์ธ๊ฐ' ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ.
[set ์ด๋]
'๋ธ๋ฃจ ํ๋ฆฐํธ๋ฅผ ํตํด' ์ด๋ค ๊ฐ์ ์ ํ , ๋ณ๊ฒฝํ๋ ๊ฒ.
[์บ๋ฆญํฐ ์ ํ ํ์ ๋ > ์์ง์ด๋ ํ๋ธ ๋ง๋ค๊ธฐ]
'get player character ๋ ธ๋' ๊ฐ ์์ผ๋ฉด > 'ํ์ฌ ์บ๋ฆญํฐ๋ฅผ ๋ถ๋ฌ์!' ๋ผ๊ณ ๋ช ๋ นํ๋ ๊ฒ
get actor location > '์บ๋ฆญํฐ' ์ 'ํ์ฌ ์์น' ๋ฅผ ๋ถ๋ฌ์!
[์บ๋ฆญํฐ์ ๋์ด๋ฅผ ๋ถ๋ฌ์์ > ๋์ด์ ๋ฐ๋ผ > ํ๋ธ์ ํ์ ๊ฐ์ ๋ฐ๊พธ๊ธฐ]
๋ธ๋ฃจ ํ๋ฆฐํธ > ๋ ๋ฒจ ๋ธ๋ฃจ ํ๋ฆฐํธ ์ด๊ธฐ
์ฐํด๋ฆญ > 'get player character ์ ๋ ฅ > return value ์์ ๊บผ๋ด๊ณ > get actor location ์ ๋ ฅ
cf. ๊ทธ๋ฌ๋ฉด, ๋ํ ์ผ ํจ๋์์ '์์น' ๊ฐ์ ๋ถ๋ฌ์จ ๊ฒ ์.
break vector ๋ก ์์น ๊ฐ ์ค '๋์ด' ์ ํด๋นํ๋ 'z'๊ฐ ๋ถ๋ฌ์ค๊ธฐ
๋๋๊ทธ ํด์ '๋ธ๋ฃจ ํ๋ฆฐํธ ์๋ํฐ' ๋ก ํ๋ธ ๊ฐ์ ธ์ค๊ธฐ
set actor rotation ์ผ๋ก > ํ๋ธ๋ฅผ ํ์ ์ํฌ ์ ์๋ ๊ฐ์ ๋ถ๋ฌ์ฌ ๊ฒ
cf. '์บ๋ฆญํฐ์ ์ ํ ๋์ด' ๋ฅผ ์์๋ด์ > ๊ทธ๊ฒ์ ๋์ํด์ > ํ๋ธ๊ฐ ๋์๊ฐ๊ฒ ํ ๊ฒ ์.
so, '์บ๋ฆญํฐ ์ ํ ๋์ด' ์์๋ณด๊ธฐ
['์บ๋ฆญํฐ ์ ํ ๋์ด' ์์๋ณด๊ธฐ]
'tick ์ด๋ฒคํธ' ๋ฃ๊ณ > 'print spring' ์ค์ (print spring ์ด๋, 'ํน์ ๊ฐ์ ํ๋ฉด์ผ๋ก ์ถ๋ ฅ' ํ๋ ๊ฒ)
z๊ฐ์ > ํ๋ฆฐํธ ์คํ๋ง์ ์ฐ๊ฒฐ
์ปดํ์ผ > ํ๋ ์ด > '์บ๋ฆญํฐ์ ๋์ด ๊ฐ์ด ์ถ๋ ฅ๋จ' > ๋ฐ๋ฅ์์๋ 258, ํ๊ฒฝ์์ ์ ์ผ ๋์๊ณณ์์๋ 530 ์ ๋ โญโญโญโญโญ (๊ธฐ์ต!!!!!!!!!!!!!!)
ํ๋ฆฐํธ ์คํ๋ง์ ๊ฐ์ ํ์ธํ๊ธฐ ๋๋ฌธ์ > ์ง์์ค
map range unclamped ์ z ๋ฅผ ์ฐ๊ฒฐ
map range unclamped ์ ๊ธฐ๋ฅ : ์ต์๊ฐ 258 ~ ์ต๋๊ฐ 530์ > ์ต์๊ฐ 0 ~ ์ต๋๊ฐ 100 ์ ์ซ์ ๊ตฌ๊ฐ์ผ๋ก ๋ณ๊ฒฝ('๋งตํ') ํด์ค.
ex) ์บ๋ฆญํฐ ๋์ด๊ฐ 258 ์ด๋ฉด > 0์ ๋งตํ(๋ณํ) ํจ. โญโญโญโญโญ
print spring ์ฐ๊ฒฐํด์ > ๋๋ฒ๊น : ๊ฐ์ด ์ด๋ป๊ฒ ๋์ค๋์ง ํ์ธ
์ปดํ์ผ > ํ๋ ์ด ํ๋ฉด > ๊ฐ๋งํ ์์ ๋ ๊ฐ์ด '0' ์ด ๋จ. (๋ณํ ์ ์๋ 258 ์ด์์)
๋ณํ๋ ๊ฐ์ - ํ๋ธ์ y ์ถ ๋กํ ์ด์ ๋๋ฆฌ๋๋ฐ์ ๋ฃ์ด์ฃผ๊ธฐ
1. make rotator ๋ ธ๋ ์์ฑ
2. y ์ถ์ ๋๋ฆฌ๊ธฐ ์ถ๊ธฐ ๋๋ฌธ์ - y ์ ์ฐ๊ฒฐํด์ฃผ๊ธฐ
์ฌ๊ธฐ๊น์ง ํ๋ฉด, ['์ ํ ํ์ ๋ > ๋ณํ๋ ๊ฐ์ด ๋์ค๊ณ > ๊ทธ๊ฐ์ ๋์ํด์, 'y์ถ'์ ์ด๋ ์ ๋๋ก 'ํ์ ' ์ํฌ์ง] ๊ฐ ๋์ด โญโญโญโญโญ
๊ทธ ๋ค์์, '์ด๋ค ์ค๋ธ์ ํธ์ y์ถ์ ๋ณํ์ํฌ๊ฑฐ์ผ?' ๋ฅผ ๊ฒฐ์ ํด์ - ์ฐ๊ฒฐํด์ค์ผ ํจ.
Q. '์ด๋ค ์ค๋ธ์ ํธ์ y์ถ์ ๋ณํ์ํฌ๊ฑฐ์ผ?'
> '์๊น ์ง์ ํ ํ๋ธ' ์ 'set action rotation' ๊ณผ ์ฐ๊ฒฐ
Cf. SetActor๋ ธ๋๊ฐ > ํ๋ธ ๋ ธ๋์ ์ํฅ์ ์ฃผ๋ ๊ฒ ์
[ํฑ ์ด๋ฒคํธ ์ฐ๊ฒฐํ๊ธฐ]
ํฑ ์ด๋ฒคํธ ๊ธฐ๋ฅ
๋งคํ๋ ์๋ง๋ค > ์๋ก์ด ์ด๋ฒคํธ๋ฅผ ๋ฐ์ํ๋ ๊ธฐ๋ฅ.
so, '๋งคํ๋ ์๋ง๋ค > ์๋ก์ด ๋กํ ์ด์ ์ ๋ง๋ค๊ฒ ๋ค.' ๋ ์๋ฏธ
Cf. '๋งค ํ๋ ์' ์ด๋? ๋ญ์งโโโโโโ
์คํํฑ ๋ฉ์ > ๋ฌด๋ฒ๋ธ ๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ
๋ง ๊ทธ๋๋ก, '์ ์ ์ธ, ๊ณ ์ ์ ์ธ' ์ค๋ธ์ ํธ๋ฅผ > '์์ง์ผ ์ ์๋ ์ํ' ๋ก ๋ฐ๊ฟ์ค๋ค๋ ๊ฒ.
[๊ฒฐ๊ตญ]
์ ํ์ > ์์ ํ์ ๊ฐ๋ฅ!
Cf. ๋งตํ(๋ณํ) ๊ฐ ์ฆ๊ฐ > ๋ฐ์ค ๋ ๋ง์ ํ์ ๊ฐ๋ฅ
[C++์ ์ญํ ]
๋ ธ๋ ํ๋, ํ๋๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ. ์ผ ๋ฏ.
[๋ชฉํ ๋ฐ ์ปค๋ฆฌ์ด ๋ฐฉํฅ]
[๋ชฉํ]
๋์์ด๋์๊ฒ ํ์ํ ๋ธ๋ฃจํ๋ฆฐํธ! ์ต๋!
[์ปค๋ฆฌ์ด ๋ฐฉํฅ]
1. ํ๊ฒฝ ๋์์ธ ๊ณ์ ํ๋ฉด > ํ๊ฒฝ ๋์์ด๋
2. ๋ธ๋ฃจ ํ๋ฆฐํธ๋ฅผ ๊ณต๋ถํ๋ฉด > TA
3. ํ๊ฒฝ ๋์์ธ + ๋ฐธ๋ฐ์ค, ๋์ด๋, ์ฅ์ ๋ฌผ ๋ฐฐ์น ๋ฑ ๊ธฐํ ์ชฝ์ ํ๋ฉด > ๋ ๋ฒจ ๋์์ด๋