๐ก ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ ฅ๊ณผ, ํธ๋ ์ด์ค๋ฅผ ์ด์ฉํ ์กํฐ์์ ์ํธ์์ฉ์ ๋ํด์ ์์ฑํ๊ฒ ๋ค.
์ํธ์์ฉ์ ์ํด์ ์ ๋ง ๊ฐ๋จํ๊ฒ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ํด์ ์ตํ์ผ๋ ์ง์ ํ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ๋ฌธ์ ์ด์ด ๋ณด๊ฒ ์ต๋๋ค.
1. ์ํธ์์ฉ์ ์ํ ๊ธฐ์ด
2. Line Trace๋ฅผ ์ฌ์ฉํ ์ํธ์์ฉ
3. Overlap Event๋ฅผ ์ฌ์ฉํ ์ํธ์์ฉ
4. ์์ฉ
Overlap Event๋ฅผ ์ด์ฉํ ์ํธ ์์ฉ์ ํตํด ๋ฌธ์ ์ฌ๋ ๋ก์ง์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ๐
ํค ๋งคํ์ ์ด์ ํฌ์คํ ์์ ๋ฑ๋กํ Eํค๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
BP_Player์๊ฒ ํ๊ทธ๋ฅผ ์ค์ ํด์ฃผ๊ฒ ์ต๋๋ค.
์ด์ ๋ฌธ์ ๋ง๋ค์ด ๋ด
์๋ค.
Actor๋ก BP_Door ๋ง๋ค์ด ์ค์๋ค.
Static Mesh ์ปดํฌ๋ํธ ์ถ๊ฐํด์ฃผ๊ณ ๋ฌธ Mesh๋ฅผ ๋ฃ์ด์ค์๋ค.
Door์ ํ์์ Box Collision์ ์ถ๊ฐํด์ค์๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ ํ ์นธ์ ์ค์ ํฉ๋๋ค.
Component์์ Box๋ฅผ ์ ํํฉ๋๋ค.
Details์์ Events๋ฅผ ๊ฒ์ํด์ฃผ์๊ณ ์๋ 2๊ฐ์ง ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํด์ฃผ์ธ์.
๊ฐ Overlap ์ด๋ฒคํธ๋ฅผ ์ค๋ช ํ๋ฉด Begin์ ๊ฒน์น๊ฒ ๋ ์๊ฐ, End๋ ๊ฒน์น์ง ์๊ฒ ๋ ์๊ฐ์ ๋ฐ์ํฉ๋๋ค.
๊ฐ Other Actor์์ Actor Has Tag๋ฅผ ๊ฐ์ ธ์์ Player๋ก ์ค์ ํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ Branch๋ฅผ ์ด์ด์ ์ถ๋ ฅํด์ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
โ์ปดํ์ผ ์ ์ฅโํ ํ๋ ์ด ํด๋ณด๋ฉด ์บ๋ฆญํฐ๊ฐ ์ฒ์ ๋ฟ์ ๋ Begin, ๋๊ฐ ๋ End๊ฐ ์ถ๋ ฅ๋๋๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
ํ๋ ์ด์ด๋ฅผ ๊ฐ์งํ์ผ๋ ์ํ๋ฅผ ์ ์ฅํ ๋ณ์๋ฅผ ํ๋ ์ฃผ๊ฒ ์ต๋๋ค.
isPlayer๋ผ๋ Bool๋ณ์๋ฅผ ๋ง๋ค์ด Begin์ผ ๋ True, End์ผ ๋ False๊ฐ ๋๋๋ก ์ค์ ํด์ฃผ์์ต๋๋ค.
BP_Player์ Event Graph๋ก ๊ฐ๋๋ค.
IA_Interact์์ Get Actor Of Class ๋
ธ๋๋ฅผ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋์ Actor Class๋ฅผ BP_Door๋ก ๋ณ๊ฒฝํฉ๋๋ค.
Return Value๋ฅผ ๋์ด์ Get isPlayer๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
isPlayer๊ฐ True์ผ ๋ ๋ฌธ์ด ์ด๋ฆฌ๋ฉด ๋๊ฒ ์ฃ ?
Branch๋ฅผ ์ด์ด์ Line Trace๋์ ๋์ผํ ๋ก์ง์ ํด์ค๋๋ค.
โ์ปดํ์ผ ์ ์ฅโํ ํ๋ ์ดํด๋ณด๋ฉด ๋ฌธ์ด ์ด๋ฆฌ๋๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ค์ ํ Box์ ๋ฒ์ ๋ฐ์ ๋ฒ์ด๋๋ฉด ์๋ฌด๋ฆฌ Eํค๋ฅผ ๋๋ฌ๋ ๋ฌธ์ด ์ด๋ฆฌ์ง ์์ต๋๋ค.
๋ฒ์ปฅ ์ด๋ฆฌ๋ค์.
False์ผ ๋๋ ๋ค์ 0์ผ๋ก Set ํด์ฃผ๋ฉด ๋ฌธ์ด ๋ค์ ๋ซํ๊ฒ ๋ค์
์ด๊ฒ์ผ๋ก Overlap Event๋ฅผ ์ฌ์ฉํ ์ํธ์์ฉ๊น์ง ๊ตฌํํ์ต๋๋ค.
Line Trace์ Overlap Event ๋ชจ๋ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์ง๋ง ๊ฐ์์ ๋ก์ง์ ์์ฑํด์ ์์ฃผ ๊ฐ๋ ฅํ๊ฒ ๊ธฐ๋ฅํ๋๋ก๋ง๋ค ์ ์๊ฒ ์ฃ .
์ด ๊ธฐ๋ฅ๋ค์ ์์ฉํด์ ๋ค์ ํฌ์คํ ์๋ ์๋ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค.
- ์ด์ผ๋ก ์ ์๊ฒ ํผํด์ฃผ๊ธฐ
- ์์ดํ ํ๋
1. ์ํธ์์ฉ์ ์ํ ๊ธฐ์ด
2. Line Trace๋ฅผ ์ฌ์ฉํ ์ํธ์์ฉ
3. Overlap Event๋ฅผ ์ฌ์ฉํ ์ํธ์์ฉ
4. ์์ฉ