viewimage.php?id=2abcdd23dad63db0&no=29bcc427b38b77a16fb3dab004c86b6f113d37b1bcb96f755b6c07cc6c418d680def347e8bf6ae4c40fbc9d9a8d7df9d29a7945ffac8ee71


์–ผ๋งˆ์ „์— ์ด๊ฑฐ ๋ญ”์ง€ ๋ชฐ๋ผ์„œ ๋ฌผ์–ด๋ดค์—ˆ๋Š”๋ฐ

Line of Sight๋ผ๊ณ  ํ•œ๋‹ค๋“œ๋ผ..


์—ฌํŠผ ์šฐ๋ฆฌ ๊ฒŒ์ž„ ๋ฏธ๋‹ˆ๊ฒŒ์ž„์ค‘์—์„œ npc๋“ค์ด ๋กœ๋ฐํ•˜๊ณ  ๊ทธ ์‚ฌ์ด๋ฅผ ์ž˜ ์ˆจ๊ณ  ํ”ผํ•ด์„œ ์ž ์ž…ํ•˜๋Š” ํƒ€์ž…์ด ์žˆ๋Š”๋ฐ

๊ทธ๋ƒฅ ๋ถ€๋”ชํžˆ๋ฉด ์ฃฝ๋Š”๋‹ค๋Š”๊ฑด ์—ญ์‹œ ์ข€ ์™€๋‹ฟ์ง€๊ฐ€ ์•Š๊ธธ๋ž˜ ์‹œ์•ผ๋ฅผ ์‹œ๊ฐํ™” ํ•˜๋ ค๊ณ  ํ–ˆ์—ˆ์Œ.


์–ด์บ ๋งŒ๋“ค์ง€ ๊ฐ์ด ์•ˆ์žกํ˜€์„œ ๊ตฌ๊ธ€๋ง์„ ์ข€ ํ–ˆ๋Š”๋ฐ


1. ๊ฐ์ฒด๊ฐ€ ๋ฐ”๋ผ๋ณด๊ณ ์žˆ๋Š” ๋ฐฉํ–ฅ, ์‹œ์•ผ์˜ ์‹œ์ž‘์ ์„ ๊ฒฐ์ •

2. ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์„ ์ค‘์‹ฌ์œผ๋กœ ์ผ์ •ํ•œ ๊ฐ๋„๋กœ Raycast๋กœ ๋ ˆ์ด์ ธ๋ฅผ ๋ฐœ์‹ธ(๊ฐ๋„์™€ ๋ ˆ์ด์ ธ ๋ฐœ์‹ธ ํšŸ์ˆ˜๊ฐ€ ์‹œ์•ผ ๋„ˆ๋น„๋ฅผ, Raycast ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ ์‹œ์•ผ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฒฐ์ •)

3. ์‹œ์•ผ์˜ ์‹œ์ž‘์ ๊ณผ ๊ฐ Raycast์˜ hit point์˜ vector( ์•„๋ฌด๊ฒƒ๋„ hitํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐย ์ตœ๋Œ€๊ฑฐ๋ฆฌ ๋งŒํผ์˜ vector)๋ฅผ ๋ฒกํ„ฐ๋ฆฌ์ŠคํŠธ์— ๋„ฃ์Œ

4. ์–ป์€ ๋ฒกํ„ฐ๋“ค์„ vertex๋กœ ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ด ์ •๋ณด๋ฅผย ๋ฉ”์‰ฌ๋ Œ๋”๋Ÿฌ์˜ mesh์— ๋„˜๊ฒจ์„œย ๋ฉ”์‰ฌ๋ฅผ ๊ทธ๋ฆผ.



๋Œ€์ถฉ ์ด๋Ÿฐ์‹์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๊ธธ๋ž˜ ๋งŒ๋“ค์–ด๋ดค์Œ.. ๋จธํ…Œ๋ฆฌ์–ผ์„ ์ข€ ๋” ์ด์œ๊ฑธ ๋ฐ•์œผ๋ฉด ์›ํ•˜๋Š” ๋А๋‚Œ์€ ์ค„ ์ˆ˜ ์žˆ์„๋“ฏ ํ•˜๋‹ค.

๋‚˜๋Š” ํšŒ์ „์ด๋ž‘ ์ด๋™๊นŒ์ง€ ํ•ด์•ผํ•˜๊ณ , sprite renderer๋„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ๋งŒ์ง€๋А๋ผ ์ข€ ์˜ค๋ž˜๊ฑธ๋ ธ์ง€๋งŒ

์นœ์ ˆํ•œ ์–‘ํ˜•์ด gif๊นŒ์ง€ ๋™์›ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๊ณต๊ฐœํ•ด๋‘ฌ์„œ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.


๋‚ด๊ฐ€ ๋ณ‘๋ง›๊ฐ™์ด ๋ฒˆ์—ญ,์š”์•ฝํ•ด๋‘” ํฌ์ŠคํŠธ(์˜์–ด)ย ๋งํฌ๋ฅผ ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ธ€์„ ๋งˆ์นจ.ย ๋น„์Šทํ•œ ๊ฑธ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋„์›€์ด ๋˜๋ฉด์ข‹๊ฒƒ๋‹ค.

https://www.linkedin.com/pulse/using-raycasts-dynamically-generated-geometry-create-line-thomas