ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์ง€์•Š๋‹ค๊ฐ€ ์œ ๋‹ˆํ‹ฐ๋ฅผ ์ฒ˜์Œ ์ž…๋ฌธํ•˜๋ฉด ํ—ท๊ฐˆ๋ฆฌ๊ฑฐ๋‚˜ ๋ง‰ํžˆ๋Š”๊ฒŒ ๋งŽ์„๊บผ์•ผ


๋ง‰ํžˆ๋ฉด ๊ตฌ๊ธ€๋งํ•ด์„œย ์ฝ”๋“œ๋ณด๊ณ  ์ดํ•ด๊ฐ€ ์•ˆ๋˜๋Š”๋ฐย ๊ธ์–ด์„œ ์ง„ํ–‰ํ•˜๊ณ  ์ด๋Ÿฌ๋‹ค๋ณด๋ฉด ๋‚˜์ค‘์— ๋ฒ„๊ทธ๋‚˜๋ฉด ํ—ฌํŒŒํ‹ฐ์•ผ ใ…‹ใ…‹ใ…‹


๊ทธ๋ž˜์„œ ์›๋ฆฌ๋ฅผ ์•Œ๊ณ ๊ฐ€๋ฉด ์ข‹์€๋ฐ ์‹œ๊ฐ„๋„ ์—†๊ณ  ์›๋ฆฌ๋ฅผ ์นœ์ ˆํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๋Š” ์‚ฌ๋žŒ๋„ ๋ณ„๋กœ ์—†๊ณ  ๊ทธ๋Ÿฌ๋”๋ผ๊ณ 


๊ทธ๋ž˜์„œ ์ธ๋”” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๊ฐค๋Ÿฌ๋ฆฌ ๋ณด๋‹ค๊ฐ€ ๋‚ด๊ฐ€ ๋‹ต๋ณ€ ํ•ด ์ค„ ์ˆ˜ ์žˆ๋Š”๊ฑด ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๋ ค๊ณ ํ•ด


์˜ค๋Š˜ ๋ถ€๋ชจ ์ž์‹๊ด€๊ณ„์— ๋Œ€ํ•œ ๊ธ€์ด ์˜ฌ๋ผ์˜ค๋”๋ผ๊ณ  ์นœ์ ˆํ•œ ๊ฐค๋Ÿฌ๋“ค์ด ๋‹ต๋ณ€์„ ๋‹ฌ์•„์คฌ๋Š”๋ฐ ์งˆ๋ฌธํ•œ ๊ฐค๋Ÿฌ๊ฐ€ ์ดํ•ด๋ฅผ ๋ชปํ•˜๋”๋ผ


๊ทธ๋ž˜์„œ ๋ถ€๋ชจ(๊ณ„์ธต๊ตฌ์กฐ)์— ๋Œ€ํ•ด์„œ ์“ฐ๊ธฐ๋กœ ํ–ˆ์–ด


์ผ๋‹จ ๋ถ€๋ชจ(๊ณ„์ธต) ๊ด€๊ณ„๋ฅผ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์€

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

Hierarchy (๊ณ„์ธต๊ตฌ์กฐ) ์ฐฝ์—์„œ ์ž์‹์œผ๋กœ ๋„ฃ์„ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์žก์•„์„œ ๋ถ€๋ชจ๋กœ ๋‘˜ ์˜ค๋ธŒ์ ํŠธ ์œ„์— ๋†“์œผ๋ฉด ๋ถ€๋ชจ ๊ด€๊ณ„๊ฐ€ ํ˜•์„ฑ๋˜



๊ทธ๋ฆฌ๊ณ  ๋ถ€๋ชจ๊ฐ€ ์›€์ง์ผ๋•Œ ์ž์‹์€ ๋ฌด์Šจ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๋Š”์ง€ ์‚ดํŽด๋ณด์ž

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

์›€์ง์ผ๋•Œ ๋ถ€๋ชจ์ธ Player์˜ Position๊ฐ’์„ ๋ณด๋ฉด ์›€์ง์ด๋Š” ๋งŒํผ ๋ณ€ํ™”ํ•˜๋Š” ๊ฒŒ ๋ณด์ด์ง€?



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

์ด๊ฑด ์›€์งˆ์ผ๋•Œ ์ž์‹์˜ Transform์„ ๋ณด๋ผ๊ณ  ์ฐ์€๊ฑด๋ฐ Position์„ ๋ด๋ด ๋ณ€ํ™”๊ฐ€ ์—†์ง€?

์ด๊ฑฐ๊นŒ์ง€๋งŒ ๋ณด๊ณ  ๋‚ด๊ฐ€ ๋ญ˜ ๋งํ•˜๋ ค๋Š”์ง€ย ์•Œ์•„ ์ฑ˜์œผ๋ฉด ์ด ๊ฐ•์˜๋Š” ๊ทธ๋งŒ๋ด๋„ ๋Œ



์ž ๋„ˆ๋„ค๊ฐ€ ๊ฒŒ์ž„์„ ๋งŒ๋“ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž

Player ์บ๋ฆญํ„ฐ๊ฐ€ ์žˆ๋Š”๋ฐ ์•„์ดํ…œ ์ฐฉ์šฉ์— ๋”ฐ๋ผ ๋ชจ์Šต์ด ๋ณ€ํ•ด

๊ทธ๋ž˜์„œ ๋””์ž์ด๋„ˆ๊ฐ€ ์–ผ๊ตด, ๋ชธํ†ต์„ ์ชผ๊ฐœ์„œ ์—ฌ๋Ÿฌ๊ฐœ์”ฉ ์คฌ์–ด

๊ทธ๋Ÿผ ๋„ˆ๋„ค๋Š” ์บ๋ฆญํ„ฐ๋ฅผ ์›€์ง์ผ๋•Œ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

์˜ˆ๋ฅผ ๋“ค์–ด ์˜ค๋ฅธ์ชฝ์œผ๋กœ 10 ๋งŒํผ ์›€์ง์—ฌ์•ผํ•˜๋ฉด ์–ผ๊ตด์€ ์–ผ๊ตด ์ขŒํ‘œ์—์„œ 10๋งŒํผ ์›€์ง์ด๊ณ  ๋ชธํ†ต์€ ๋ชธํ†ต ์ขŒํ‘œ์—์„œ 10๋งŒํผ ์›€์ง์ด๊ณ  ํ•˜๊ฒ ์ง€

2๊ฐœ๋ฉด ํ• ๋งŒํ•˜์ง€ ๊ทธ๋Ÿฐ๋ฐ ๊ทธ๊ฒŒ ๋จธ๋ฆฌ์นด๋ฝ ๋ˆˆ ์ฝ” ์ž… ๋ชฉ ๋ชธํ†ต ํŒ” ์† ๋‹ค๋ฆฌ ๋“ฑ๋“ฑ ์ด๋ ‡๊ฒŒ ์ชผ๊ฐœ๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊บผ์•ผ? ๋‹ค ์ผ์ผ์ด ์›€์ง์ผ๊บผ์•ผ?


๊ทธ๋Ÿฐ๋ฐ ๊ทธ๊ฒŒ ๋ถ€๋ชจ(๊ณ„์ธต) ๊ด€๊ณ„๋ฅผ ๋งŒ๋“ค๋ฉด ํ•œ๋ฒˆ์— ๋œ๋‹ค ์ด๊ฑฐ์ง€

Player๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์žˆ์–ด ๊ฑฐ๊ธฐ์— ๋จธ๋ฆฌ์นด๋ฝ, ๋ˆˆ, ์ฝ”, ์ž…, ๋ชฉ ๋“ฑ๋“ฑ ๋‹ค ๋„ฃ์—ˆ์–ด

๊ทธ๋ฆฌ๊ณ  Player๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 10๋งŒํผ ์›€์ง์ด๋ฉด?

๋‹ค ๊ฐ™์ด 10๋งŒํผ ์›€์ง์ด๋Š”๊ฒŒ ๋˜๋Š”๊ฑฐ์•ผ



๊ทธ๋ฆฌ๊ณ  ์œ„์— ๋ณด๋ฉด ์ž์‹์˜ position์ด ๋ณ€ํ™”ํ•˜์ง€ ์•Š๋Š” ๊ฒŒ ๋ณด์ด๋Š”๋ฐ

์‹ค์ œ๋กœ๋Š” ์•ˆ์›€์ง์ด๋Š”๊ฒŒ ์•„๋‹ˆ์•ผ

์ €๊ธฐ์— ํ‘œ์‹œ๋œ๊ฑด ๋กœ์ปฌ ํฌ์ง€์…˜์ด๋ผ๊ณ  ๋ถ€๋ชจ์™€์˜ ์ฐจ์ด๋งŒํผ์˜ ํฌ์ง€์…˜์ด์•ผ

์˜ˆ๋ฅผ๋“ค์–ด ๋ถ€๋ชจ๊ฐ€ (10, 5) ์œ„์น˜์— ์žˆ์–ดย 

๊ทธ๋Ÿฐ๋ฐ ์ž์‹์œผ๋กœ ๋„ฃ์€ ์˜ค๋ธŒ์ ํŠธ๋Š”ย ํŽซ์ด๋ผ ๋‚ด ๋’ค์— ๋”ฐ๋ผ์™€์•ผํ•ด์„œ ๋ถ€๋ชจ์˜ ์œ„์น˜๋ณด๋‹ค x๋กœ 3๋งŒํผ ๋’ค์—์„œ ๋”ฐ๋ผ์™€์•ผํ•ด

๊ทธ๋Ÿฌ๋ฉด ๋กœ์ปฌํฌ์ง€์…˜์œผ๋กœ (-3, 0)์ธ๊ฑฐ๊ณ ย 

์‹ค์ œ ํฌ์ง€์…˜์ธ ์›”๋“œํฌ์ง€์…˜์€ย // ๋ถ€๋ชจ ์œ„์น˜ + ์ž์‹ ์œ„์น˜ // ์ธ๊ฑฐ์•ผ

์ฆ‰ (10, 5) + (-3, 0) = (7, 5) ์œ„์น˜์— ์žˆ๋Š”๊ฑฐ์•ผ

์šฐ๋ฆฌ๊ฐ€ ๊ท€์ฐฎ๊ฒŒ ๊ณ„์‚ฐ์„ ํ•˜์ง€์•Š์•„๋„ ์ž๋™์œผ๋กœ ๊ณ„์‚ฐ์„ ํ•ด์ฃผ๋Š”๊ฑฐ์ง€

์šฐ๋ฆฌ๋Š” ์˜ค๋ธŒ์ ํŠธ๋“ค์˜ ๋ฐฐ์น˜๋งŒ ํ•˜๋ฉด๋˜๋Š”๊ฑฐ์•ผย 

์ดํ›„์˜ ์ด๋™์—์„œ์˜ ๊ณ„์‚ฐ์€ ์ปดํ“จํ„ฐ๊ฐ€ ํ•ด์ค€๋‹ค๋Š”๊ฑฐ์•ผ

์ด๊ฑด position ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์†์„ฑ๋“ค (rotation, scale๋„ ๊ฐ™์•„)



์งˆ๋ฌธํ•œ์• ๊ฐ€ ๋งŒ๋“ค๋ ค๋Š” ๋‚ด ์บ๋ฆญํ„ฐ๊ฐ€ ํšŒ์ „ํ•˜๋ฉด ๋ฌด๊ธฐ๋„ ๋”ฐ๋ผ์™€์•ผํ•ด์š” ใ… ใ… ใ… ์˜ ํ•ด๊ฒฐ๋ฒ•์€


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

ํšŒ์ „์‹œ ๋ถ€๋ชจ์˜ Transform



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

ํšŒ์ „์‹œ ์ž์‹์˜ Transform


์œ„์˜ ์„ค๋ช…์ด๋ž‘ ๊ฐ™์•„

์ฆ‰ ๋‹ˆ๊ฐ€ ๋งŒ๋“ค๋ ค๋Š”๊ฑดย 

๋ถ€๋ชจ์ž์‹๊ด€๊ณ„ (๊ณ„์ธต๊ด€๊ณ„)๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋ถ€๋ชจ๋ฅผ ํšŒ์ „์‹œํ‚ค๋ฉด ํ•ด๊ฒฐ์ด์•ผ

์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ ์ž์‹์˜ ๋กœ์ปฌํฌ์ง€์…˜์„ ๋ณ€๊ฒฝํ•˜๋ฉด๋˜๊ณ 

๋งŒ์•ฝ ์ž์‹์˜ ๋กœ์ปฌํฌ์ง€์…˜์ด (1,0)์ด๋ฉด ๋ถ€๋ชจ๋ณด๋‹ค x๋กœ 1๋งŒํผ ์•ž์— ์žˆ๋Š”๊ฑฐ๋‹ˆ๊นŒ * -1 ํ•ด์ฃผ๋ฉด ๋ฐ˜๋Œ€๋กœ ๊ฐ€๊ฒ ์ง€?



// Scale์€ ์œ„์˜ย Player๋Š” Scale์ด 2๊ณ  Bomb๋Š” Scale์ด 0.5์ธ๋ฐ

์‹ค์ œ๋กœ๋Š” Player๋Š” 2, Bomb๋Š” 1์ด์•ผ

Player๊ฐ€ ๋ถ€๋ชจ๋‹ˆ๊นŒ ๊ธฐ์ค€์ด๋ผ ๋‹ค 2๋ฐฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๊ฑฐ์ง€ ๊ทธ๋ž˜์„œ ์›๋ž˜ Bomb๋Š” 1์ด๋‹ˆ๊นŒ ๋งž์ถฐ์ฃผ๊ธฐ ์œ„ํ•ด์„œ 1 / 2 = 0.5๊ฐ€ ๋œ๊ฑฐ์•ผ

ex) Player๊ฐ€ 5๊ณ  Bomb์ด ์›๋ž˜ 1์ธ๋ฐ Player ์ž์‹์œผ๋กœ Bomb์ด ๋“ค์–ด๊ฐ€๋ฉด Bomb์˜ ๋กœ์ปฌ์Šค์ผ€์ผ์ด 1 / 5 = 0.2๊ฐ€ ๋˜๋Š”๊ฑฐ์ง€ย 


+ย 

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


๋งˆ์ง€๋ง‰์œผ๋กœ ์ฝ”๋“œ๋กœ ๋ถ€๋ชจ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•๋“ค์ด์•ผ


1๋ฒˆ this.transform.parent

๋ถ€๋ชจ์˜ transform์„ ๊ฐ€์ง€๊ณ  ์˜ค๋Š”๊ฑฐ์•ผย 


2๋ฒˆ this.GetComponentInParent<Transform>();

๋ถ€๋ชจ์˜ Component ์ค‘ Transform์„ ๊ฐ€์ง€๊ณ  ์˜ค๋Š”๊ฑฐ์•ผ


1, 2๋ฒˆ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š”๋ฐ

๋ถ€๋ชจ์˜ transform์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด 1๋ฒˆ์œผ๋กœ ํ•˜๋Š”๊ฒŒ ์ข‹๊ณ  (๋ถ€ํ•˜๊ฐ€ ์ ์–ด)

๋ถ€๋ชจ์˜ Component๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๊ณ ์‹ถ์œผ๋ฉด 2๋ฒˆ์—์„œ Transform์œ„์น˜์— ๋‹ค๋ฅธ Component ์ด๋ฆ„์„ ์ ์–ด์„œ ๊ฐ€์ง€๊ณ  ์™€์„œ ์“ฐ๋ฉด๋˜


ex) ๋ถ€๋ชจ์˜ ํžˆํŠธ๋ฐ•์Šค๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด

this.GetComponentInParent<BoxCollider2D>().size = new Vector2(2.0f, 3.0f);

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํžˆํŠธ๋ฐ•์Šค๊ฐ€ (2.0f, 3.0f)๋กœ ์ˆ˜์ •๋˜๋Š”๊ฑฐ์•ผ


๊ทธ ์•„๋ž˜ 9์ค„์˜ ์ฝ”๋“œ๋Š” ๋‹ค ๊ฐ™์€ ๋‚ด์šฉ์ด์•ผ

parent.position์€ ์œ„์—์„œ parent =ย this.transform.parent๋กœ ๊ฐ’์„ ๋„ฃ์–ด์คฌ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฑฐ๊ณ 

this.transform.parent,ย this.GetComponentInParent<Transform>() ๋‘˜ ๋‹ค ๋ถ€๋ชจ์˜ transform์„ ๋ถˆ๋Ÿฌ์˜ค๋Š”๊ฑฐ๊ณ 


๋งŒ์•ฝ ๋‹ˆ๊ฐ€ ์ž์ฃผ ํ˜น์€ ๋งŽ์ด ๋ถ€๋ชจ์˜ component ๋ฐ transform์ด ํ•„์š”ํ•˜๋ฉดย 

๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•ด์„œย Start, Awake์—์„œย ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๊ณ  ๊ทธ ์ดํ›„์— Update์—์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹์•„

GetComponent ๊ฐ™์€๊ฑด ์ž์ฃผ ํ˜ธ์ถœ๋˜์„œ ์ข‹์„๊ฑด ์—†์œผ๋‹ˆ๊นŒ ๋ถ€ํ•˜๋งŒ ์‹ฌํ•˜์ง€ ใ…Žใ…Ž


3์ค„ ์š”์•ฝ

1. ์ดํ•ด ์•ˆ๊ฐ€๋Š”๋ฐ ๋ณต๋ถ™ํ•˜๋ฉด ๋‚˜์ค‘์— ํ—ฌํŒŒํ‹ฐ

2. ๊ณ„์ธต๊ตฌ์กฐ๋Š” ํŽธ๋ฆฌํ•˜๋‹ค.

3. ์งˆ๋ฌธํ•œ์• ๋Š” ๋ถ€๋ชจ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํšŒ์ „์‹œํ‚ค๋ฉด๋œ๋‹ค.