GetComponent() ๊ฐ€ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€๋ฅผ bool๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜์ž–์•„?


์˜ค๋Š˜ ๊ณต์‹๋ฌธ์„œ์—์„œ GetComponent๊บฝ์‡  ๋ง๊ณ  ๊ด„ํ˜ธ๋กœ ์“ฐ๋Š”๊ฒƒ๋„ ์žˆ๊ธธ๋ž˜ ์ด๊ฑฐ ์œ ์šฉํ• ๊ฑฐ ๊ฐ™์•„์„œ ์ ์šฉํ•ด๋ดค๋Š”๋ฐ

GetComponent(์›ํ•˜๋Š”์ปดํฌ๋„ŒํŠธ)๋กœ ์˜ค๋ธŒ์ ํŠธ๋งˆ๋‹ค ์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ์ฐ์–ด๋ณด๋‹ˆ๊นŒ

์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ๋ถ€์ฐฉ๋˜์–ด ์žˆ๋Š” ์• ๋“ค์€ true๋กœ ๋œจ๊ณ  ์—†๋Š” ์• ๋“ค์€ false๋กœ ์ž˜ ๋œจ๋”๋ผ๊ณ 


๊ทธ๋ž˜์„œ ์ด๊ฑธ ์“ฐ๋ฉด ์˜ค๋ธŒ์ ํŠธ๋ž‘ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ• ๋•Œ

๊ตณ์ด ๋ ˆ์ด์–ด๋‚˜ ํƒœ๊ทธ๋กœ ๋‚˜๋ˆ„์ง€ ์•Š์•„๋„ ์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€ ์ฐพ๊ณ 

์žˆ์œผ๋ฉด ๊ฑฐ๊ธฐ์— ํ•ด๋‹น๋˜๋Š” ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์˜ค๋ธŒ์ ํŠธ๋ณ„๋กœ ํ”ฝ์—…, ์ˆ˜์ง‘, ๋Œ€ํ™”, ์ƒ์ž ๋“ฑ๋“ฑ ํƒœ๊ทธ ํ•˜๋‚˜์”ฉ ๋งŒ๋“ค ํ•„์š” ์—†์ด

'์ƒ์ž' ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€๋งŒ ํ™•์ธํ•˜๊ณ  ์žˆ์œผ๋ฉด ์ƒ์ž๋กœ ํŒ๋ณ„ํ•ด์„œ ์ƒ์ž์—ด๊ธฐ, ์—†์œผ๋ฉด ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ ๊ฒ€์ƒ‰ํ•ด์„œ ํ•ด๋‹น๋˜๋Š” ๋™์ž‘ํ•˜๊ฒŒ๋งŒ ํ•ด์„œ

๊ฐ„ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋†จ๊ฑฐ๋“ .


๊ทผ๋ฐ GetComponent()๊ฐ€ ๊ทธ๋ƒฅ if ((GetComponent(์Šคํฌ๋ฆฝํŠธ)) ๋กœ ํ•˜๋ฉด ์ž˜ ๋˜๋Š”๋ฐ

๋ ˆ์ด์บ์ŠคํŠธ๋ž‘ ํ•ฉ์ณ์„œ if (ray.collider || GetComponent(์Šคํฌ๋ฆฝํŠธ))๋กœ ํ•˜๋ฉด ํ•ญ์ƒ true๊ฐ€ ๋œธ.

||์ด๋ฉด ๋‘˜์ค‘์— ํ•˜๋‚˜๋งŒ false์—ฌ๋„ if ๋Š” false๊ฐ€ ๋˜์–ด์•ผ ํ•˜์ง€ ์•Š์Œ??


์–ด ์ด๊ฒŒ ์™œ ์ด๋ ‡๊ฒŒ ๋˜์ง€ ์‹ถ์–ด์„œ ๊ทธ๋ƒฅ

if (ray.collider) return;ย  ย  ย //๋ ˆ์ด์— ๋งž์€ ๋Œ€์ƒ์ด ์žˆ๋Š”์ง€ ํ•œ๋ฒˆ ๊ฑธ๋Ÿฌ์ฃผ๊ณ 

if (ray.collider.gameobject.GetComponent(์Šคํฌ๋ฆฝํŠธ)) return;ย  ย  ย  //๋ ˆ์ด์— ๋งž์€ ์• ๋“ค ์ค‘์— ์Šคํฌ๋ฆฝํŠธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€ ํ™•์ธ


์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ„๋‹ˆ๊นŒ ์ด๋ฒˆ์—” ์ž˜ ์ž‘๋™ํ•จ.


์›๋ž˜ ๋น„๊ต์‹์ด ๋งฅ๋ฝ์—๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ํ•ด์„๋˜๋Š”๊ฑฐ์ž„?