[TIL] 250822

๊น€์„ธํฌยท2025๋…„ 8์›” 22์ผ

โœ๏ธToday I Learned

๐Ÿ“… 2025-08-22

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์‚ผ๊ฐ๋‹ฌํŒฝ์ด
  • RPC (Remote Procedure Call)
  • Property Replication

RPC (Remote Procedure Call)

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” PC์™€ ์‹คํ–‰ํ•˜๋Š” PC๊ฐ€ ๋‹ฌ๋ผ๋„ ๋˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ†ต์‹  ๊ธฐ๋ฒ•

์–ธ๋ฆฌ์–ผ์—์„œ ์šฉ๋„
- ๊ฒŒ์ž„์— ํฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ์ผ์‹œ์ ์ธ ํšจ๊ณผ์— ์‚ฌ์šฉ
- ๊ฒŒ์ž„์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒƒ๋“ค์€ ํ”„๋กœํผํ‹ฐ ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์•กํ„ฐ ๋„คํŠธ์›Œํฌ ๋ณต์ œ ๊ทœ์น™

  1. ๋ฐ˜๋“œ์‹œ ์„œ๋ฒ„์—์„œ ์Šคํฐํ•ด์•ผํ•œ๋‹ค.
  2. bReplicated = true์—ฌ์•ผ NetDriver๊ฐ€ ๋ณต์ œ๋Œ€์ƒ์œผ๋กœ ์ธ์‹ํ•œ๋‹ค.
  3. SetOwner(PlayerController)๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ๋œ๋‹ค.
  4. GameState: ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ ์ปค๋„ฅ์…˜์— ์ž๋™ ๋ณต์ œ๋œ๋‹ค. (์†Œ์œ ์ž ๋ถˆํ•„์š”)
  5. PlayerState: ํŠน์ • ํ”Œ๋ ˆ์ด์–ด ์†Œ์œ ์ง€๋งŒ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์— ์ž๋™ ๋ณต์ œ๋œ๋‹ค.

UFUNCTION() ํ‚ค์›Œ๋“œ

  1. NetMulticast: ์„œ๋ฒ„๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์—์„œ ํ•ด๋‹น RPC ์‹คํ–‰ ์š”์ฒญ
  2. Server: ์„œ๋ฒ„์—์„œ ์‹คํ–‰ ์š”์ฒญ
  3. Client: ํด๋ผ์ด์–ธํŠธ์—์„œ ์‹คํ–‰ ์š”์ฒญ

Property Replication

์›ํ•˜๋Š” ์†์„ฑ๋งŒ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณต์ œํ•œ๋‹ค.

Property Replication ์„ค์ • ๋ฐฉ๋ฒ•
1. bReplicated = true
2. ๋ณต์ œํ•  ์•กํ„ฐ์˜ ์†์„ฑ์˜ UPROPERTY(Replicated)
3. GetLifetimeReplicatedProps()์— DOREPLIFETIME ๋งคํฌ๋กœ๋กœ ๋ณต์ œํ•  ์†์„ฑ ๋ช…์‹œ


๐Ÿ’ก ๋А๋‚€ ์  (What I Felt)

์„œ๋ฒ„๋Š” ์‹ค์Šต์„ ํ•ด๋ด์•ผ ๊ฐ์ด ์žกํž ๊ฒƒ ๊ฐ™๋‹ค.


์ถœ์ฒ˜: ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

0๊ฐœ์˜ ๋Œ“๊ธ€