TIL 25.05.01

์กฐ์„ฑ์›ยท2025๋…„ 5์›” 1์ผ

๐Ÿ˜€์œ ๋‹ˆํ‹ฐ ์ž…๋ฌธ Flapbird


๐Ÿ“—์Šคํฌ๋ฆฝํŠธ ๋Œ€์‹  ์œ ๋‹ˆํ‹ฐ ์ž์ฒด ๊ธฐ๋Šฅ์œผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ

  1. Animator Controller -> Parameters


  1. ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์—์„œ make Transition์œผ๋กœ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์—ฐ๊ฒฐํ•œ๋‹ค.


  1. Parameters์˜ +๋ฅผ ๋ˆ„๋ฅด๋ฉด bool, int, float, Trigger ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.


  1. Parameters์˜ ์ธ์ŠคํŽ™ํ„ฐ์—์„œ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์„ค์ •ํ•œ๋‹ค.
    Conditions์—์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋„˜์–ด๊ฐ€๋Š” ์กฐ๊ฑด์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ 
    Has Exit Time์€ ํ˜„์žฌ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋‹ค ๋๋‚ด๊ณ  ๋‹ค์Œ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ๋„˜์–ด๊ฐˆ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.


  1. ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ณ€๊ฒฝ์‹œ์ผœ์•ผ ํ•  ๊ณณ์—์„œ ์กฐ๊ฑด์„ ๋‹ด์€ SetInteger ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ๋ณ„๊ฐœ๋กœ return ์ฒ˜๋ฆฌ๋Š” ๋‹น์—ฐํžˆ ๋”ฐ๋กœ ํ•ด์ค˜์•ผ ํ•จ



๐Ÿ“— GetComponent, AddComponent


๐Ÿ€GetComponent

  • ์˜ค๋ธŒ์ ํŠธ์— ์žˆ๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ

  • ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์— ์‚ฌ์šฉ


๐Ÿ€AddComponent

  • ์˜ค๋ธŒ์ ํŠธ์— ์—†๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค.

  • ๋ฏธ๋ฆฌ ์„ค์ •ํ•  ํ•„์š” ์—†๋Š” ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ(ํšจ๊ณผ์Œ, ์‚ฌ๋ง ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋“ฑ)์— ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•จ

  • ์˜ค๋ธŒ์ ํŠธ์— ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์— Destory ๋“ฑ์œผ๋กœ ์ œ๊ฑฐํ•ด์ค˜์•ผ ํ•จ
    (์ผํšŒ์šฉ์œผ๋กœ ์“ฐ๋Š” ๊ฑด๋ฐ ๊ณ„์† ๋‚จ์•„์žˆ์œผ๋ฉด ๋‚ญ๋น„์ž„)


๐Ÿ€GetComponentInChildren

  • ํ•˜์œ„ ์˜ค๋ธŒ์ ํŠธ์˜ ์ปดํฌ๋„ŒํŠธ๊นŒ์ง€ ์ฐพ์•„์„œ ๋ฐ˜ํ™˜ํ•ด์คŒ

๐Ÿ€์ „์—ญ & ์ง€์—ญ

ํƒ€์ž…๋„ ๋ณ€์ˆ˜์˜ ์ž๋ฃŒํ˜•๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ „์—ญ, ์ง€์—ญ์œผ๋กœ ์„ ์–ธ ๊ฐ€๋Šฅ

โ“์•„๋‹ˆ ์™œ transform์€ ์„ ์–ธ ์•ˆํ•˜๊ณ  ๋ฐ”๋กœ ์จ์š”?

๊ธฐ๋ณธ์ ์ธ "์˜ค๋ธŒ์ ํŠธ"๋ฅผ ๋œปํ•˜๋Š” gameObject์™€ ์˜ค๋ธŒ์ ํŠธ์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์ธ transform์€ ์œ ๋‹ˆํ‹ฐ ์ž์ฒด์— ๋‚ด์žฅ๋œ ๊ธฐ๋Šฅ์ด์–ด์„œ ๋”ฐ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.
์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ ์ œ์ผ ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„์ด๋‹ค



๐Ÿ“—FixedUpdate, LateUpdate

๐Ÿ€FixedUpdate

  • ์‹ค์ œ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ํ˜ธ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ์— ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹๋‹ค

  • Update์— ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ์„ ๋„ฃ์–ด๋ฒ„๋ฆฌ๋ฉด ํ”„๋ ˆ์ž„ ์˜ค์ฐจ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ

๐Ÿ€LateUpdate

  • Update ๋’ค์— ๋”ฐ๋ผ์„œ ์‹คํ–‰๋จ

  • ์นด๋ฉ”๋ผ ์ถ”์  ๋“ฑ์— ์‚ฌ์šฉ



๐Ÿ“—localPosition, worldPosition

๐Ÿ€localPosition

  • ๋ถ€๋ชจ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์œ„์น˜

๐Ÿ€worldPosition

  • ์ „์—ญ ๊ณต๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์œ„์น˜


๐Ÿ“—Transform ํด๋ž˜์Šค

  • ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ๋“ค์˜ ์œ„์น˜,ํšŒ์ „,ํฌ๊ธฐ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด Transform์„ ์ž๋ฃŒํ˜•์œผ๋กœ ์‚ฌ์šฉ
  • ์ธ์ŠคํŽ™ํ„ฐ์—์„œ ์ง์ ‘ ์—ฐ๊ฒฐ = ์ตœ์ ํ™”์— ์ข‹์Œ
public Transform target;


๐Ÿ“—๋ณต๊ธฐ

๐Ÿ€Player


๐Ÿ€Obstacles


๐Ÿ€FollowCamera


๐Ÿ€BGLooper(์˜ค๋ธŒ์ ํŠธ ์ˆœํ™˜์šฉ)

profile
direction *= -1;

0๊ฐœ์˜ ๋Œ“๊ธ€