Network Transform - cheona-thousand-man/Unity-myBasics-Wiki GitHub Wiki

๊ฐœ์š”

NetworkTransform ์ปดํฌ๋„ŒํŠธ๋Š” NetworkTRSP์—์„œ ํŒŒ์ƒ

  • Unity์˜ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜์—ฌ Transform์˜ ์œ„์น˜, ํšŒ์ „ ์ƒํƒœ๋ฅผ ์ž๋™ ๋™๊ธฐํ™”
  • ์„ ํƒ์ ์œผ๋กœ ์Šค์ผ€์ผ๊ณผ ๋ถ€๋ชจ ์ƒํƒœ ๋™๊ธฐํ™” ๊ฐ€๋Šฅ

์‚ฌ์šฉ๋ฒ•

NetworkTransform ์ปดํฌ๋„ŒํŠธ๋ฅผ Network Object์˜ ๋ฃจํŠธ ๋˜๋Š” ์ž์‹์— ์ถ”๊ฐ€ํ•˜์—ฌ ๊ทธ Transform์˜ ์ƒํƒœ ๋ณ€ํ™” ๋ณต์ œ

์ฃผ์˜: ๋ถ€๋ชจ ๋™๊ธฐํ™”๋Š” Network Object์˜ ๋ฃจํŠธ์— ์žˆ๋Š” NetworkTransform ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” MainTRSP๋ฅผ ๋‚˜ํƒ€๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์Šค์ผ€์ผ ๋™๊ธฐํ™” (Sync Scale)

์ด ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด transform.localScale ๊ฐ’ ๋™๊ธฐํ™”

๋ถ€๋ชจ ๋™๊ธฐํ™” (Sync Parent)

์ด ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด transform.parent ๋™๊ธฐํ™”

  • ๋ถ€๋ชจ ๋™๊ธฐํ™”์™€ ๊ด€๋ จ๋œ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์˜์‚ฌํ•ญ
    • ๋ถ€๋ชจ Transform์—๋Š” ๋ฐ˜๋“œ์‹œ NetworkBehaviour ์ปดํฌ๋„ŒํŠธ ์กด์žฌ(๋ถ€๋ชจ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ NetworkBehaviourId๋ฅผ ์‚ฌ์šฉ)
    • NetworkTransform์€ Network Object์˜ ๋ฃจํŠธ์— ์กด์žฌ(๋ถ€๋ชจ ๋™๊ธฐํ™”๋Š” ์ค‘์ฒฉ๋œ Network Objects์—๋งŒ ์ ์šฉ / ๋‹จ์ผ Network Object์˜ ์ž์‹ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€)
    • ๋ถ€๋ชจ Transform์€ Network Object์˜ ์ž์‹ Transform์ผ ์ˆ˜ ์žˆ์Œ(ex) ํ”Œ๋ ˆ์ด์–ด์˜ ์†, ๋ฐœ ๋“ฑ)

AutoAOIOverride

์ด ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด, ๋ถ€๋ชจ Transform์ด ์ž๋™์œผ๋กœ ํ•ด๋‹น ๋ถ€๋ชจ Network Object์— ๋Œ€ํ•œ AreaOfInterestOverride๋ฅผ ์„ค์ •

  • ์ž์‹ ๊ฐ์ฒด๊ฐ€ ๋ถ€๋ชจ Network Object์™€ ๋™์ผํ•œ ํ”Œ๋ ˆ์ด์–ด ๊ด€์‹ฌ ์˜์—ญ์„ ๊ฐ–๋„๋ก ๋ณด์žฅ
  • ex) ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋“ค๊ณ  ์žˆ์„ ๊ฒฝ์šฐ, ๊ทธ ์˜ค๋ธŒ์ ํŠธ๋Š” ๊ทธ ํ”Œ๋ ˆ์ด์–ด์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๋“ค์—๊ฒŒ๋งŒ ์—…๋ฐ์ดํŠธ

Teleport()

์ด ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด Transform์˜ ์œ„์น˜์™€ ํšŒ์ „์ด ์ง€์ •๋œ ๊ฐ’์œผ๋กœ ์„ค์ •๋˜๋ฉฐ, Teleport ์ด๋ฒคํŠธ๊ฐ€ ๋„คํŠธ์›Œํฌ๋กœ ์ „์†ก

  • ์ด๋กœ ์ธํ•ด ์ด์ „ Tick ์ƒํƒœ์™€ ํ˜„์žฌ Tick ์ƒํƒœ ์‚ฌ์ด์˜ ๋ณด๊ฐ„์ด Render()์—์„œ ์ค‘์ง€๋˜๊ณ , Teleport ์ƒํƒœ๋กœ ์ฆ‰์‹œ ์ „ํ™˜