๐ง Unreal์ Replication ๊ฐ๋ ์ ์์๋ณด๊ณ ๋ฉํฐํ๋ ์ด๋ฅผ ๋ง๋ค์ด๋ณด์.
์๋ง์ ๊ฒ์ ์ฅ๋ฅด๊ฐ ์์ง๋ง ๊ทธ ์ค์์๋ ํผ์์๋ ํ๋ ์ดํ ์ ์๊ฑฐ๋, ์ฌ๋ฟ์ด์ ํ๋ฉด ๋ ์ฌ๋ฏธ์๋ ์ฅ๋ฅด๊ฐ ์๋ค.
์ด๋, ์ฌ๋ฌ ์ฌ๋์ด ๋ชจ์ฌ ํจ๊ป ํ๋ ์ดํ๋ ๊ฒ์ ๋ฉํฐํ๋ ์ด๋ผ๊ณ ํ๋ค.
์ด๋ฒ ์๋ฆฌ์ฆ์์๋ ์ค์ํ ๊ฐ๋
์ธ Replication์ ๋ํด์ ์์๋ณด๊ณ
๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ฆฌ์ผ ์์ง์์ ๋ฉํฐํ๋ ์ด ๊ฒ์ ์์ ๋ฅผ ๊ฐ๋จํ๊ฒ ์ ์ํด๋ณด์.
Replication ๊ฐ๋
Replication ์๋ฆฌ์ฆ
Replication ๊ฐ๋จ ์์
Session ๊ธฐ๋ฐ ๋ฉํฐํ๋ ์ด ์์
์ด๋ฒ ํฌ์คํ ์๋ ์ ๋๋ฉ์ด์ ์ฒ๋ฆฌ์ ๋ํด์ ์์ ๋ณด๊ฒ ์ต๋๋ค.
"์ฅ, ์ ํฌ ์ง๊ธ ์บ๋ฆญํฐ ์ ๋๋ฉ์ด์ ์ ๋์ค์์์"
ํ์ฌ Third Person Character
๋ฅผ ๋ณด๋ฉด ๋ฌ๋ฆฌ๊ธฐ, ์ ํ ์ ๋๋ฉ์ด์
์ด ์ด๋ฏธ ๋๊ธฐํ ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ Character
ํด๋์ค๊ฐ ๊ฐ์ง๊ณ ์๋ Character Movement Component
๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ณธ ์์น๋ค์ด
์ธ๋ฆฌ์ผ ์์ฒด์ ์ผ๋ก ๋ณต์ (Replication)์ด ๋๋๋ก ์ฒ๋ฆฌ๋์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค.
ABP๋ Character Movement Component
์ ๊ฐ์ ๊ฐ์งํ์ฌ ์๋ง์ ์ ๋๋ฉ์ด์
์ ์ ์ฉํ๋ฉฐ,
์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์๋์ผ๋ก ๋๊ธฐํ๋ฉ๋๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ด์ ๋ค๊ณ , ์๊ณ , ์ถค์ ์ถ๋ ๋ค๋ฅธ ์ ๋๋ฉ์ด์
์ Character Movement Component
์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์์ฃ .
๊ทธ๋์ ๊ทธ ์ธ์ ๋์์ ๋ณต์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
Zํค๋ฅผ ์
๋ ฅํ๋ฉด ์บ๋ฆญํฐ๊ฐ ์๋๋ฆฌ๋๋ก ๋ง๋ค์ด ์์ต๋๋ค.
์ ๋๋ฉ์ด์
์ ์ ๋๋ฉ์ด์
์คํํฐํฉ์ Prone์ ๋ฆฌํ๊ฒํด์ ์ฌ์ฉํ์ต๋๋ค.
Zํค ์
๋ ฅ ์ IsProne
์ด ๋ณ๊ฒฝ๋๊ณ , ์ํ ์ ํ Montage๊ฐ ์คํ๋ฉ๋๋ค.
Event Graph์์ IsProne
์ ๋ณ๊ฒฝ์ ๋ฐ์ ์ ์๋๋ก ์ฒ๋ฆฌํ๊ณ ,
Anim Graph์์ Blend Pose by Bool
์ ์ฌ์ฉํด IsProne
์ ๋ฐ๋ผ ์ถ๋ ฅ ์ ๋๋ฉ์ด์
์ ๋ฐ๊ฟ์ฃผ์์ต๋๋ค.
๊ฐ๊ฐ์ Client
์์๋ ์ ์คํ๋์ง๋ง ๋ฐ๋ก ๋๊ณ ์์ฃ .
์ด์ ๋๊ธฐํ๋ฅผ ์งํํด๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ ๋ณต์ ๋ ๋ณ์๋ Run On Server
๋ฅผ ํตํ์ฌ ๋ฐ๋์ ์๋ฒ์์ ์คํ๋์ด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ์ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ๊ฐ Client
๋ค์๊ฒ ์ ํํ๋ ๋ฐฉ๋ฒ์ด 2๊ฐ์ง๊ฐ ์์ต๋๋ค.
- Multicast RPC ํธ์ถ
- RepNotify ์ฌ์ฉ
๊ฐ๊ฐ ์ง์ ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
์์ ์์ ๋ค์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
Run On Server
ํธ์ถ ํ Multicast
๋ฅผ ํธ์ถํ์ฌ์ผ ํฉ๋๋ค.
์คํํ์ฌ ๋์์ ํ์ธํด๋ณด๋ฉด ์ ์์ ์ผ๋ก ๋๋๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
RepNotify
๋ ํด๋น ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ์ ๋์์ ์์ฑ๋ OnRep ํจ์๊ฐ ์๋์ผ๋ก ํธ์ถ๋ฉ๋๋ค.
Details
ํจ๋์์ IsProne
๋ณ์๋ฅผ RepNotify
๋ก ์ค์ ํด์ฃผ๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ์๋์ผ๋ก OnRep_๋ณ์๋ช
ํจ์๊ฐ ์์ฑ๋ฉ๋๋ค.
IsProne
๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋ ๋ง๋ค ํด๋น ํจ์๊ฐ ํธ์ถ๋ฉ๋๋ค.
ํจ์์์์ ์ ๋๋ฉ์ด์
์ ์คํํ๋๋ก ๋ก์ง์ ์ฃผ๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ์, ๋ณ์์ ์์ ์ ์๋ฒ์์ ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค๋ ์ ์ ๊ธฐ์ตํด์ฃผ์ธ์.
๊ทธ๋ฆฌ๊ณ Run On Server
๋ฅผ ์ฌ์ฉํด IsProne
๋ณ์๊ฐ์ ์์ ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์คํํ๋ฉด ์ ๋์๋ฉ๋๋ค.
์ ๋๋ฉ์ด์
์ด ๋๊ธฐ๋ ๊ฒ์ Montage ์คํ ์ ๋๋ ์ด ๋๋ฌธ์ด๋ ๋์ด ๊ฐ์ฃผ์ธ์.
Multicast
์ RepNotify
๊ฐ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์ ๋ ์ ๋ชฐ๋ผ์ ํฌ๋ผ์ ์ง๋ฌธ์ ํ์ต๋๋ค.
Multicast
๋ฅผ ์ฌ์ฉํ ์ ๋์ค์ ์ ์ํ๋ Client
๋ Multicast
RPC๋ฅผ ๋ฐ์ง ๋ชปํ์๊ธฐ ๋๋ฌธ์ ์๋๋ ค ์์ด์ผํ ์บ๋ฆญํฐ๊ฐ ์์๊ฒ ๋ฉ๋๋ค.
RepNotify
๋ฅผ ์ฌ์ฉํ์ฌ Replicate๋ฅผ ์งํํ๋ฉด ์์ง์ด ์์ฒด์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์๋ก ์ ์ํ ์ ์ ์๊ฒ๋ ์ฆ์ ๋ณต์ ํ๊ฒ ๋๋ค๊ณ ํฉ๋๋ค.
๋ํ Multicast
๋ณด๋ค RepNotify
๋ฅผ ๋ณด๋ค ์ ํธํ๊ณ ๊ถ์ฅํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด์ ๋ํด์๋ 3๊ฐ์ง ์ด์ ๋ฅผ ๋ต๋ณ๋ฐ์์ต๋๋ค.
Multicast
๋ ๋๋ฝ๋ ์ ์์ผ๋ฉฐClient
์์ ๊ฐ์ด ๋์ํ์ง ์๋๋ค.- Replication์ ์๋ฒ์ ๊ถํ์ ๋ถ์ฌํ์ฌ
Client
์ ๋ถ์ ํ์๋ฅผ ๋ง๋๋ค.- ๋คํธ์ํฌ์์ ์ข ๋ ํจ์จ์ ์ด๋ค.
๊ทธ๋์ ์์๋ก ์ธ์ ์ ์์ฑํ์ฌ ์ ์ํ ํ ๋์์ ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ดํ์ ๋ค์ด์จ ํ๋ ์ด์ด๋ค์ ์ฌ์ ์ ์ ์๋์ด ์๋ ํ๋ ์ด์ด๊ฐ ์๋๋ฆฌ์ง ์๊ณ , ์์๋ ๋ชจ์ต์
๋๋ค.
์ดํ์ ๋ค์ด์จ ํ๋ ์ด์ด๋ ์ฌ์ ์ ์ ์ํ ํ๋ ์ด์ด์ ์๋๋ฆฐ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
์ฌ๊ธฐ๊น์ง ์ ๋๋ฉ์ด์
์ ๋๊ธฐํ์ Multicast
์ RepNotify
์ ์ฐจ์ด๋ฅผ ์์ ๋ณด์์ต๋๋ค.
์์ฑํ๋ค๋ณด๋ ์ ๋๋ฉ์ด์ ๋๊ธฐํ๋ณด๋ค Replication์ ๋์์ ๋ ์ค์ ์ ๋๊ณ ์ด ๊ฒ ๊ฐ์ง๋ง...
์๋ฌดํผ ์ ๋๋ฉ์ด์
์ ์คํ์ ๊ฐ Client
์๊ฒ ์ ๋๋ฉ์ด์
ํจ์๋ฅผ ์คํํ๋ผ๊ณ ์ ํ๋ฅผ ํ๋ ๊ฒ์ด ํต์ฌ์
๋๋ค.
ํ๋ ์ด์ด์ ๋ฌ๋ฆฌ๊ธฐ, Pitch ๊ฐ์ ๋ฐ๋ฅธ Aim Offset ๋ชจ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋์ํ๋ ํด๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.