Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก2021/09 (27)

KoreanFoodie's Study

7. ํ”„๋ฆฌํŒน, ์ถฉ๋Œ ์ฒ˜๋ฆฌ(OnTrigger, OnCollision) ๋“ฑ : ์œ ๋‹ˆํ‹ฐ ํŠœํ† ๋ฆฌ์–ผ

ํ”„๋ฆฌํŒน ๊ฒŒ์ž„ ์˜ค๋ธŒํ…ํŠธ๋Š” ํ”„๋ฆฌํŒน์œผ๋กœ ๋งŒ๋“ค์–ด ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์น˜, ์นผ์„ ์ฐ์–ด๋‚ด๋Š” ์ฃผ๋ฌผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค! ์‚ฌ์šฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค. Hierarchy์— ์žˆ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ”„๋กœ์ ํŠธ ์ฐฝ์— ๋“œ๋ž˜๊ทธ&๋“œ๋ž ํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค! Use Gravity ๋ฆฌ์ง€๋“œ ๋ฐ”๋”” ์ปดํฌ๋„ŒํŠธ์˜ Use Gravity ํ•„๋“œ๋ฅผ ํ•ด์ œํ•˜๋ฉด ์ค‘๋ ฅ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค. transform ๋ณ€์ˆ˜ transform์€ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ž์‹ ์˜ ํŠธ๋žœ์Šคํผ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ”๋กœ ์ ‘๊ทผํ•˜๋Š” ์ง€๋ฆ„๊ธธ์ด๋‹ค! Destroy( ) void Start() { // ์ด๋™์— ์‚ฌ์šฉํ•  ๋ฆฌ์ง€๋“œ๋ฐ”๋”” ์ปดํฌ๋„ŒํŠธ ํ• ๋‹น bulletRigidbody = GetComponent(); // ๋ฆฌ์ง€๋“œ๋ฐ”๋””์˜ ์†๋„ = ์•ž์ชฝ ๋ฐฉํ–ฅ * ์ด๋™ ์†๋ ฅ bulletRigidbody.velocity = transform.forwa..

Game Dev/Unity : Tutorial 2021. 9. 4. 16:40
6. ๋จธํ‹ฐ๋ฆฌ์–ผ, GetAxis, Input.GetKey( ) : ์œ ๋‹ˆํ‹ฐ ํŠœํ† ๋ฆฌ์–ผ

๋จธํ‹ฐ๋ฆฌ์–ผ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์˜ ์ปฌ๋Ÿฌ๋Š” ๋จธํ‹ฐ๋ฆฌ์–ผ(Material)์ด ๊ฒฐ์ •ํ•œ๋‹ค. ๋จธํ‹ฐ๋ฆฌ์–ผ์€ ์…ฐ์ด๋”์™€ ํ…์Šค์ณ๊ฐ€ ํ•ฉ์ณ์ง„ ์—์…‹์œผ๋กœ, ์˜ค๋ธŒ์ ํŠธ์˜ ํ”ฝ์…€ ์ปฌ๋Ÿฌ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค ์…ฐ์ด๋”๋Š” ์ฃผ์–ด์ง„ ์ž…๋ ฅ์— ๋”ฐ๋ผ ํ”ฝ์…€์˜ ์ตœ์ข… ์ปฌ๋Ÿฌ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์…ฐ์ด๋”๋Š” ์งˆ๊ฐ๊ณผ ๋น›์— ์˜ํ•œ ๋ฐ˜์‚ฌ์™€ ๊ตด์ ˆ ๋“ฑ์˜ ํšจ๊ณผ๋ฅผ ๋งŒ๋“ ๋‹ค. ํ…์Šค์ฒ˜๋Š” ํ‘œ๋ฉด์— ์ž…ํžˆ๋Š” ์ด๋ฏธ์ง€ ํŒŒ์ผ์ด๋‹ค. ์…ฐ์ด๋”๋Š” ๋ฌผ๊ฐ์œผ๋กœ, ํ…์Šค์ฒ˜๋Š” ์Šค์ผ€์น˜๋‚˜ ๋ฐ‘๊ทธ๋ฆผ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค. ๋ฐ‘๊ทธ๋ฆผ์ด ๊ฐ™์•„๋„ ๋ฌผ๊ฐ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ํ™”ํ’์ด ๋‹ฌ๋ผ์ง„๋‹ค! ์ด ์ค‘ ์•Œ๋ฒ ๋„(Albedo)๋Š” ๋ฐ˜์‚ฌ์œจ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ๋ฌผ์ฒด๊ฐ€ ์–ด๋–ค ์ƒ‰์„ ๋ฐ˜์‚ฌํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค! C# ์Šคํฌ๋ฆฝํŠธ ์ด์ œ ๊ธฐ์ดˆ์ ์ธ ์ฝ”๋“œ๋“ค์„ ์‚ดํŽด๋ณด์ž. void FixedUpdate() { if (Input.GetKey(KeyCode.UpArrow) == true) { playerRig..

Game Dev/Unity : Tutorial 2021. 9. 3. 22:46
3. ์œ ๋‹ˆํ‹ฐ ์—”์ง„์ด ๋™์ž‘ํ•˜๋Š” ์›๋ฆฌ : ์œ ๋‹ˆํ‹ฐ ํŠœํ† ๋ฆฌ์–ผ

์ƒ์†? ๊ฐ์ฒด ์ง€ํ–ฅ์–ธ์–ด์—์„œ ์ƒ์†์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด์— ๋งŒ๋“ค์–ด๋†“์€ ํ…œํ”Œ๋ฆฟ์„ ํ™•์žฅ/์ˆ˜์ •ํ•จ์œผ๋กœ์จ ๋น„์Šทํ•œ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. (์ƒ์†์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅธ๋‹ค๋ฉด ์—ฌ๊ธฐ๋ฅผ) ๊ทธ๋Ÿฐ๋ฐ ์˜ˆ๋ฅผ ๋“ค์–ด, "HUMAN"์ด๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ํ•˜์ž. ๋งŒ์•ฝ ์ด ํด๋ž˜์Šค๋ฅผ ํ™•์žฅ์‹œ์ผœ ํ”Œ๋ ˆ์ด์–ด, NPC, ์‹ฌ์ง€์–ด ๋ชฌ์Šคํ„ฐ๊นŒ์ง€ ๋งŒ๋“ ๋‹ค๋ฉด ์–ด๋–จ๊นŒ? ๊ฐ๊ฐ์˜ ์˜ค๋ธŒ์ ํŠธ๋Š” ์„ฑ๊ฒฉ์ด ๋งค์šฐ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์˜คํžˆ๋ ค ์ƒ์†์„ ํ†ตํ•œ ์ž‘์—…์ด ํšจ์œจ์„ ๋–จ์–ด๋œจ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด์„ ์•Œ์•„์•ผ ํ•œ๋‹ค. ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด ๊ธฐํš์ž๋Š” ๊ฒŒ์ž„์— ๋“ฑ์žฅํ•  ๋ชจ๋“  ๋™๋ฌผ์„ ์‚ฌ์ „์— ๊ธฐํšํ•  ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ๋ถ€ํ’ˆ๋งˆ๋‹ค ๋Œ€ํ‘œ ๊ธฐ๋Šฅ์„ ๋ถ€์—ฌํ•˜๊ณ , ์—ฌ๋Ÿฌ ๋ถ€ํ’ˆ์„ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์— ์กฐํ•ฉํ•˜๋Š” ๋ฐฉ์‹์ด ํšจ์œจ์ ์ด๋‹ค! 1. ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฏธ๋ฆฌ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๊ธฐ 2. ๋นˆ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ 3. ์ฝ”๋ฟ”์†Œ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ ์™„์„ฑํ•˜..

Game Dev/Unity : Tutorial 2021. 9. 2. 21:19
2. ์œ ๋‹ˆํ‹ฐ ์ธํ„ฐํŽ˜์ด์Šค ๋‘˜๋Ÿฌ๋ณด๊ธฐ : ์œ ๋‹ˆํ‹ฐ ํŠœํ† ๋ฆฌ์–ผ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์œ ๋‹ˆํ‹ฐ์˜ ๋Œ€๋žต์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค. ์ธ์ŠคํŽ™ํ„ฐ ์ฐฝ ์ธ์ŠคํŽ™ํ„ฐ ์ฐฝ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ๋‹ค. (๊ธฐ๋ณธ Cube ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๋กœ ์„ค๋ช…) ํŠธ๋žœ์Šคํผ(Transform) : ์˜ค๋ธŒ์ ํŠธ์˜ 3์ฐจ์› ์ขŒํ‘œ์™€ ํฌ๊ธฐ, ํšŒ์ „์„ ์ง€์ •ํ•œ๋‹ค ๋ฉ”์‹œ ํ•„ํ„ฐ(Mesh Filter) : 3D ๋ฉ”์‹œ ํŒŒ์ผ์„ ๋ฐ›์•„ ์˜ค๋ธŒ์ ํŠธ์˜ ์™ธ๊ณฝ์„ ์„ ์ง€์ •ํ•œ๋‹ค ๋ฉ”์‹œ ๋ Œ๋”๋Ÿฌ(Mesh Renderer) : ๋ฉ”์‹œ๋ฅผ ๋”ฐ๋ผ ์ƒ‰์„ ์ฑ„์›Œ ๊ทธ๋ž˜ํ”ฝ ์™ธํ˜•์„ ๊ทธ๋ฆฐ๋‹ค ๋ฐ•์Šค ์ฝœ๋ผ์ด๋”(Box Collider) : ๋‹ค๋ฅธ ๋ฌผ์ฒด๊ฐ€ ๋ถ€๋”ช์น  ์ˆ˜ ์žˆ๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํ‘œ๋ฉด์„ ๋งŒ๋“ ๋‹ค ์ฝ˜์†”์ฐฝ ์ฝ˜์†” ์ฐฝ์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ๋ฅผ ๋„์›Œ ํ…Œ์ŠคํŒ…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. Clear : ๋กœ๊ทธ ์ง€์šฐ๊ธฐ Collapse : ๊ฐ™์€ ๋‚ด์šฉ์˜ ๋กœ๊ทธ๋ผ๋ฆฌ ๋ฌถ๊ธฐ Clear on Play : ์”ฌ์„ ํ•„๋ ˆ์ดํ•˜๊ธฐ ์ง์ „๊นŒ์ง€ ..

Game Dev/Unity : Tutorial 2021. 9. 2. 20:24