2์ฃผ๋งŒ์˜ ๊ฐœ๋ฐœ์ผ์ง€๋„ค

๊ทธ๋™์•ˆ ๋ฐ”์˜๊ธฐ๋„ ํ–ˆ๊ณ  ๋ฆฌํŒฉํ† ๋ง๋งŒ ์กด๋‚˜ ํ•˜๋А๋ผ ๋ชป์˜ฌ๋ ธ์Œ


์ด๋ฒˆ์—๋Š” ์บ๋ฆญํ„ฐ ๋จธ๋ฆฌ ์œ„์— ๋œจ๋Š” ์ •๋ณด UI๋ฅผ ๊ตฌํ˜„ํ•จ

๊ฐœ๋ฐœ์ผ์ง€ ์“ธ ์ •๋„๋กœ ๋Œ€๋‹จํ•œ ๊ธฐ๋Šฅ์€ ์•„๋‹ˆ์ง€๋งŒ ์•ˆ์“ด์ง€ ๋„ˆ๋ฌด ์˜ค๋ž˜๋ผ์„œ ๊ฑ ์˜ฌ๋ฆผ


05b2de23fcd139ab2eed86e7449c746f55a2eaf1a20f3025f3527c278cdb220577989daaa299bf15587b6a03c45d



๋ฆฌํŒฉํ† ๋ง์— ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ

์ž‘์—…์ด ๋งŽ์•„์„œ ์˜ค๋ž˜๊ฑธ๋ฆฐ๊ฑด ์•„๋‹ˆ๊ณ  ์–ด๋–ค ๊ตฌ์กฐ๊ฐ€ย ์ตœ์„ ์ผ๊นŒ ๊ณ ๋ฏผํ•˜๋А๋ผ ์‹œ๊ฐ„ ๋งŽ์ด ์ผ์Œ


์ „์— ์˜ฌ๋ ธ๋˜ [๋ฏธ์นœ ์–ธ๋ฆฌ์–ผ...]ย ๊ธ€์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜

๋ธ”๋ฃจํ”„๋ฆฐํŠธ์—์„œ ๋Ÿฐํƒ€์ž„์— ์ถ”๊ฐ€ํ•œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์—๋””ํ„ฐ์—์„œ ํŽธ์ง‘ํ•˜๋ฉด ์‚ญ์ œ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋„ˆ๋ฌด ๋ถˆํŽธํ•ด์„œ

๊ฒฐ๊ตญ ๋ฆฌํ”Œ๋ ‰์…˜์„ ์ด์šฉํ•œ ์˜์กด์„ฑ ์ฃผ์ž…์€ ํฌ๊ธฐํ•˜๊ณ  ํ‰๋ฒ”ํ•˜๊ฒŒ CreateDefaultSubobject ์ผ์Œ


์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ ์„ค๊ณ„์›์น™ ๋‘๊ฐ€์ง€

  • ๋…๋ฆฝ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ/๋ฐ์ดํ„ฐ๋Š” Autorun ์‹œ์Šคํ…œ์„ ์ด์šฉํ•ด ๋ณ„๊ฐœ์˜ ์•กํ„ฐ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค
  • PlayerController/Character ๋“ฑ ํŠน์ • ์•กํ„ฐ์— ๋ฐ˜๋“œ์‹œ ์ข…์†๋˜์–ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ/๋ฐ์ดํ„ฐ๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค์–ด์„œ ๋ถ™์ธ๋‹ค

์˜ˆ๋ฅผ ๋“ค๋ฉด, ์ฑ„ํŒ… ์‹œ์Šคํ…œ์€ ์ด ์›์น™์— ๋”ฐ๋ผ ์„ธ ๊ฐ€์ง€ ๊ฐ์ฒด๋กœ ๋‚˜๋‰จ
  • AChatSystem - Autorun ์‹œ์Šคํ…œ์— ์˜ํ•ด ์ž๋™ ์ƒ์„ฑ๋˜์–ด ์ฑ„ํŒ…๊ณผ ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ ๋ฐย ๊ด€๋ จ ์ „์—ญ ๋ฐ์ดํ„ฐ ์ €์žฅย ๋‹ด๋‹น
  • UChatControllerComponent - PlayerController์— ๋ถ™์–ด์„œ ์ฑ„ํŒ… ์†ก์ˆ˜์‹  ๋“ฑ์˜ RPC ๋‹ด๋‹น
  • UChatStateComponent - PlayerState์— ๋ถ™์–ด์„œ ํ•ด๋‹น ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ฑ„ํŒ…์„ ์น˜๊ณ ์žˆ๋Š”์ง€ ๋“ฑ์˜ ์ƒํƒœ์ •๋ณด ๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‹ด๋‹น


์ด๋ฒˆ์— ๋งŒ๋“  ์ด UI๋„

  • UPlayerInfoWidgetComponent - Character์— ๋ถ™์–ด์„œ ์œ„์ ฏ์˜ย ํ‘œ์‹œ์—ฌ๋ถ€ ๊ฒฐ์ •๊ณผย ๋ Œ๋”๋ง์„ ๋‹ด๋‹น
  • ULookingAtComponent - PlayerController์— ๋ถ™์–ด์„œ LineTrace๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์–ด๋–ค ์บ๋ฆญํ„ฐ๋ฅผ ๋ฐ”๋ผ๋ณด๋Š”์ง€ ํŒ๋‹จ


์ด๋Ÿฐ์‹์ž„

๊ธฐ๋Šฅ๊ฐ„์˜ ์ปคํ”Œ๋ง์„ ๊ทน๋‹จ์ ์œผ๋กœ ์ค„์—ฌ๋ณด๋ ค๋Š” ๋…ธ๋ ฅ์˜ ๊ฒฐ๊ณผ๋ผ๊ณ  ๋ณผ์ˆ˜์ด๋”ฐ

์ฐธ๊ณ ๋กœย ULookingAtComponent๋Š” ์ด UI ์ „์šฉ์ด ์•„๋‹ˆ๊ณ  ๋ฒ”์šฉ์ž„


ํ•˜์ง€๋งŒ ์‚ฌ์†Œํ•œ ๋ฐ์ดํ„ฐย ์ €์žฅ์„ ์œ„ํ•ด ์ผ์ผํžˆ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“œ๋Š”๊ฑดย ๊ท€์ฐฎ๊ธฐย ๋•Œ๋ฌธ์—

Lua์˜ table ๊ฐœ๋…์—์„œ ์˜๊ฐ์„ย ์–ป์–ด์„œ VariantTable์ด๋ผ๋Š”๊ฑธ ๋งŒ๋“ค์—ˆ์Œ


a04424ad2c06782ab47e5a67ee91766dc289f1ecd1acc7cabf11d0c752d0de219be73df75270d48d60ff4d887e68


๋ฌธ์ž์—ด Key๋กœ ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๊ฐ’์„ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž„

๋ง‰ ๋Œ€๋‹จํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ฐœ๋…์€ ์•„๋‹ˆ์ง€๋งŒ ์žˆ์œผ๋ฉด ํŽธํ•จ


๋ธ”๋ฃจํ”„๋ฆฐ์—์„œ๋„ ์“ธ์ˆ˜์žˆ๊ฒŒ API ๋งŒ๋“ฆ


a04424ad2c06782ab47e5a67ee91766dc289f1ecd1acc7cabf11d0c659d0d221b05a7dab40560e6bead333bd253a76


a04424ad2c06782ab47e5a67ee91766dc289f1ecd1acc7cabf11d0c658d1d2210d26e64679d46d22749193118550



์ด ๊ธฐ๋Šฅ์„ย ULookingAtComponentย ๊ตฌํ˜„์— ์‘์šฉํ–ˆ์Œ

์›๋ž˜๋ผ๋ฉด Character์— ์ƒˆ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ ๋•๋ถ„์— ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†๋‹ค


a04424ad2c06782ab47e5a67ee91766dc289f1ecd1acc7cabf11d0c65dd4df2149eb879c3a52623b752e448e292f

a04424ad2c06782ab47e5a67ee91766dc289f1ecd1acc7cabf11d0c65dd4d621d9dd3f89da744dfa1140c971da3b


์‹ค์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ํ…œํ”Œ๋ฆฟ ์ธ์ž๋Š” ๋ช…์‹œ์ ์œผ๋กœ ๋„˜๊ฒจ์•ผ๋งŒย ์ปดํŒŒ์ผ ๋˜๋„๋ก ๋งŒ๋“ค์—ˆ์Œ



์ด์ƒ์ด๋‹ค

์ด๋Ÿฐ ๊ฐœ๋ฐœ์†๋„๋ผ๋ฉด ๋‚ด๋…„์—๋‚˜ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์„๋“ฏ ํ•˜๋‹ค ์‹œ๋ฐœ


๋‹ค๋“ค ํž˜๋‚ด์ž