1. ์˜๋„ํ•œ ๊ฒŒ์ž„

a05239aa033eb2748233285158d62d3ba05bb729ffd46217cc07cce8




2. ๋ฌธ์ œ์ƒํ™ฉ


a67108aa252eb4458f322f7c58d62d3bd9abe6dd355ade8ffe87e7e4




1. ๊ณต๊ณผ ํ”Œ๋ ˆ์ด์–ด ํŒ์—๋Š” ๋ชจ๋‘ ๋ฆฌ์ง€๋“œ๋ฐ”๋””์™€ ์ฝœ๋ผ์ด๋”๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๊ณ  ์œ ๋‹ˆํ‹ฐ์˜ ๋ฌผ๋ฆฌ์—”์ง„ ๋„์›€์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

2. ์œ„์•„๋ž˜ ๋ฒฝ์—๋Š” ์ฝœ๋ผ์ด๋”๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Speed๋Š” ์ œ๊ฐ€ ์„ค์ •ํ•œ ์ˆซ์ž์ด๊ณ ย ย _rigidbody2D.velocity = _direction * _speed;ย ์ด๋ ‡๊ฒŒ ํ•ด์„œ velocity๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.ย  (๋””๋ ‰์…˜์€ normalized๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.)


4. ๊ณต์˜ ๋ฐฉํ–ฅ์ด ์ˆ˜ํ‰์— ๊ฐ€๊นŒ์šฐ๋ฉด์„œ ๋ฒฝ์— ๋ถ™์„๋•Œย  velocity๊ฐ€ ๋ˆˆ์˜ ๋„๊ฒŒ ๋–จ์–ด์ง€๋Š” ํ˜„์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ย  ๋ฐฉํ–ฅ์ด์•ผ..ย  ์ œ๊ฐ€ ์ฝœ๋ผ์ด๋”๋ฅผ ๊ทธ์ง€๊ฐ™์ด ์„ค์ •ํ•ด์„œ ๊ฐ€๋” ๋ฒฝ์— ๋ถ™์–ด์„œ ์•ˆ๋‚˜์˜ค๋Š” ๊ตฌ๊ฐ„์ด ์žˆ๋‚˜๋ณด๋‹ค ์ƒ๊ฐํ•˜๋ ค ํ–ˆ๋Š”๋ฐย 

ย  ์†๋„๊ฐ€ ๋ˆˆ์— ๋„๊ฒŒ ์ค„์–ด๋“œ๋Š”๊ฒƒ์€ ์ดํ•ด๊ฐ€ ์•ˆ๋ฉ๋‹ˆ๋‹ค ใ… ใ… ใ… 


5. ํ”Œ๋ ˆ์ด์–ด ํŒ์˜ ์ฝœ๋ผ์ด๋”๋Š” ํด๋ฆฌ๊ณค์ฝœ๋ผ์ด๋”2D๋กœย  ์ € ๋‹ค๊ฐํ˜• ๋ชจ์–‘์ฒ˜๋Ÿผ ๊ทธ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.ย 

ย  ๊ณต์ด ํŒ์„ ๋งŒ๋‚˜๋ฉด contacts[] ๋ฐฐ์—ด์˜ ํ‰๊ท  ๋ฐ˜์‚ฌ๋ฐฉํ–ฅ์„ ์›๋ž˜ ์ด๋™๋ฐ˜์‚ฌ๋ฐฉํ–ฅ์— ๋”ํ•ฉ๋‹ˆ๋‹ค.ย 




ย  ์Šคํ”ผ๋“œ๊ฐ€ ๊ณ ๋Œ€๋กœ velocity์— ๋“ค์–ด๊ฐ€๊ฒŒ ํ•ด๋†จ๋Š”๋ฐย  ์ฐจ์ด๊ฐ€ ๋งŽ์ด๋‚ ๋•Œ๋Š”ย  2๋ฐฐ๊นŒ์ง€ ๋‚ฉ๋‹ˆ๋‹ค..ย  ์ด๊ฑด ๋„๋Œ€์ฒด ์™œ์ด๋Ÿด๊นŒ์š”


(์ฐธ๊ณ : ์บก์ณ์˜ velocity๋Š” x๊ฐ’๋งŒ ๊ฐ€์ ธ์˜จ๊ฑฐ๋ผ์„œ ๋Œ€๊ฐ์„ ๋ฐฉํ–ฅ์ผ๋•Œ๋Š” speed์™€ ์ข€ ์ฐจ์ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)



๋ณผ์˜ ์ฝ”๋“œ๋Š” ์ด๋ ‡๊ฒŒ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค..

while (!IsBallDie)
{
_timeTemp += Time.deltaTime;

if (_timeTemp > 5์ดˆ)
{
_speed++;
_timeTemp = 0.0f;
}
_rigidbody2D.velocity = _direction * _speed;
yield return null;
}





๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€์งˆ๋ฌธ์œผ๋กœ..ย  ๊ฐ€๋”์”ฉ ๊ณต์ด ๋ฒฝ์„ ๋šซ๊ณ  ๋‚˜๊ฐ‘๋‹ˆ๋‹ค ใ… ใ… ย  ย  OnCollision์œผ๋กœ ๋ฒฝ์„ ๋งŒ๋‚˜๋ฉด ๋ฌด์กฐ๊ฑด ๋ฐฉํ–ฅ์„ ๋ฐ”๊พธ๊ฒŒ ํ•ด๋†จ๋Š”๋ฐ

์žฌํ˜„๋„ ์–ด๋ ต๊ณ  ์ •๋ง ๊ฐ€๋”๋งŒ ๋šซ๊ณ  ๋‚˜๊ฐ€์š”ย  ย  ย ์ด๋Ÿฐ๊ฑด ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ ํ•˜์‹œ๋Š”์ง€์š”ย ย 


๋ฒฝ์„ ํ‚ค์šฐ๋ฉด??ย  ๋ ๊นŒ์š”ย