[Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (5) - ๋ชฌ์Šคํ„ฐ ์†Œํ™˜
ยท
๐ŸŽฎ Unity/Project
[๋ณธ ํฌ์ŠคํŒ…์€ Youtube ๊ณจ๋“œ๋ฉ”ํƒˆ๋‹˜์˜ '์œ ๋‹ˆํ‹ฐ ๋ฑ€์„œ๋ผ์ดํฌ' ๊ฐ•์˜ ์˜์ƒ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.] ๋ชฌ์Šคํ„ฐ์˜ ๊ธฐ๋ณธ์ ์ธ ํˆด์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ–ˆ๋‹ค๋ฉด, ์ด์ œ ๋ชฌ์Šคํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ ˆ๋ฒจ์— ๋งž๊ฒŒ ์†Œํ™˜ํ•˜๊ณ , ์žฌํ™œ์šฉํ•˜๋Š” ์ตœ์ ํ™” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ๋”๋ณด๊ธฐ [Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (4) - ๋ชฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ [๋ณธ ํฌ์ŠคํŒ…์€ Youtube ๊ณจ๋“œ๋ฉ”ํƒˆ๋‹˜์˜ '์œ ๋‹ˆํ‹ฐ ๋ฑ€์„œ๋ผ์ดํฌ' ๊ฐ•์˜ ์˜์ƒ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.] RPG ๊ฒŒ์ž„์—๋Š” ๊ผญ ํ•„์š”ํ•œ ์š”์†Œ๋กœ ๋ชฌ์Šคํ„ฐ(Enemy)๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ชฌ์Šคํ„ฐ Sprite๋ฅผ Hierarchy์— ์ถ”๊ฐ€ํ•˜๊ณ  ์• ๋‹ˆ๋ฉ”์ด pids.tistory.com ํ”„๋ฆฌํŽฉ ๋งŒ๋“ค๊ธฐ ๋จผ์ € Prefab์„ ๋”ฐ๋กœ ๋ณด๊ด€ํ•  ํด๋”๋ฅผ Project์— ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋“œ๋ž˜๊ทธ ๋“œ๋กญํ•˜์—ฌ ํ”„๋ฆฌํŽฉ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ”„๋ฆฌ..
[Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (4) - ๋ชฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ
ยท
๐ŸŽฎ Unity/Project
[๋ณธ ํฌ์ŠคํŒ…์€ Youtube ๊ณจ๋“œ๋ฉ”ํƒˆ๋‹˜์˜ '์œ ๋‹ˆํ‹ฐ ๋ฑ€์„œ๋ผ์ดํฌ' ๊ฐ•์˜ ์˜์ƒ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.] RPG ๊ฒŒ์ž„์—๋Š” ๊ผญ ํ•„์š”ํ•œ ์š”์†Œ๋กœ ๋ชฌ์Šคํ„ฐ(Enemy)๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ชฌ์Šคํ„ฐ Sprite๋ฅผ Hierarchy์— ์ถ”๊ฐ€ํ•˜๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜๊นŒ์ง€ ์ ์šฉํ•˜๋Š” ๊ฑด ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ์ •๋ฆฌํ–ˆ๋‹ค. [Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (2) - 2D ์…€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ์ž‘ [Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (2) - 2D ์…€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ์ž‘ [๋ณธ ํฌ์ŠคํŒ…์€ Youtube ๊ณจ๋“œ๋ฉ”ํƒˆ๋‹˜์˜ '์œ ๋‹ˆํ‹ฐ ๋ฑ€์„œ๋ผ์ดํฌ' ๊ฐ•์˜ ์˜์ƒ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.] 2D ์…€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ์ž‘์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Unity์˜ Animator ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„ํŽธํ•˜๋‹ค. Animator ๋จผ์ €, ์ƒ์„ฑํ•˜ pids.tistory.com ํ”Œ๋ ˆ์ด์–ด ์ถ”์  ๋กœ์ง ์—ฌ๊ธฐ์„œ๋Š” ๋ชฌ์Šคํ„ฐ๊ฐ€ ํ”Œ๋ ˆ..
[Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (3) - ๋ฌดํ•œ ๋งต ์ด๋™
ยท
๐ŸŽฎ Unity/Project
[๋ณธ ํฌ์ŠคํŒ…์€ Youtube ๊ณจ๋“œ๋ฉ”ํƒˆ๋‹˜์˜ '์œ ๋‹ˆํ‹ฐ ๋ฑ€์„œ๋ผ์ดํฌ' ๊ฐ•์˜ ์˜์ƒ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.] ์บ๋ฆญํ„ฐ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์›€์ง์ž„๊ณผ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์žˆ๋‹ค๋ฉด ๊ทธ ์บ๋ฆญํ„ฐ๊ฐ€ ์›€์ง์ผ Map์ด ํ•„์š”ํ•˜๋‹ค. ํ•ด๋‹น ๊ฒŒ์ž„์€ ๋ฑ€ํŒŒ์ด์–ด ์„œ๋ฐ”์ด๋ฒŒ ๋ฅ˜ ๊ฒŒ์ž„์ด๊ธฐ ๋•Œ๋ฌธ์— Tile Map์„ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค. ํƒ€์ผ ๊ทธ๋ฆฌ๊ธฐ Window > 2D > Tile Palette๋ฅผ ์—ด๋ฉด Tile Palette ์ฐฝ์ด ์—ด๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์ฐฝ์„ ์—ด์–ด ๋†“๊ณ  Project์˜ +๋ฅผ ๋ˆŒ๋Ÿฌ์„œ Rule Tile๋„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. 2D > Tile > Rule Tile๋กœ ์ƒ์„ฑํ•˜๋ฉด ๋œ๋‹ค. ํ•ด๋‹น ๊ฒŒ์ž„์˜ ๋งต์€ ๊ณ„์† ์žฌํ™œ์šฉ๋˜๋Š” ํƒ€์ผ๋งต 4๊ฐœ๊ฐ€ ์žˆ๋Š” ๋งต์œผ๋กœ, ํƒ€์ผ์— ๋žœ๋ค์„ฑ์„ ์ฃผ๋ฉด ์‹œ๊ฐ์  ์žฌ๋ฏธ๊ฐ€ ๋”ํ•ด์ง„๋‹ค. Tilling Rules๋ฅผ 1๋กœ ์„ค์ •ํ•˜๊ณ  1๊ฐœ์˜ ํƒ€์ผ์˜ Output์„ Random์œผ๋กœ ..
[Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (2) - 2D ์…€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ์ž‘
ยท
๐ŸŽฎ Unity/Project
[๋ณธ ํฌ์ŠคํŒ…์€ Youtube ๊ณจ๋“œ๋ฉ”ํƒˆ๋‹˜์˜ '์œ ๋‹ˆํ‹ฐ ๋ฑ€์„œ๋ผ์ดํฌ' ๊ฐ•์˜ ์˜์ƒ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.] 2D ์…€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ์ž‘์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Unity์˜ Animator ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„ํŽธํ•˜๋‹ค. Animator ๋จผ์ €, ์ƒ์„ฑํ•˜๋ ค๋Š” Animation์„ ์„ ํƒํ•˜์—ฌ (Ctrl, Shift) ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋„ฃ์–ด์ค„ Hierarchy๋กœ ๋“œ๋ž˜๊ทธํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•ด๋‹น ์ด๋ฆ„์˜ Animator๋„ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๊ฒŒ ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•ด๋‹น Sprite์˜ ๊ธฐ๋ณธ Animation์„ ์šฐํด๋ฆญํ•˜์—ฌ Set as Layer Default State๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น Animation์ด ๊ฒŒ์ž„์ด ์‹คํ–‰ํ•˜์˜€์„ ๋•Œ ์ฒ˜์Œ์œผ๋กœ ์‹คํ–‰๋˜๊ฒŒ ๋œ๋‹ค. ๋˜ํ•œ Dead Animation์€ Player์˜ HP๊ฐ€ 0์ด ๋  ๋•Œ๋งŒ ์‹คํ–‰๋˜๋Š” Animation์ž„์œผ๋กœ..
[Unity] ๋กœ๊ทธ๋ผ์ดํฌ ์ƒ์กด RPG (1) - ํ”Œ๋ ˆ์ด์–ด ์ด๋™ ๊ตฌํ˜„
ยท
๐ŸŽฎ Unity/Project
[๋ณธ ํฌ์ŠคํŒ…์€ Youtube ๊ณจ๋“œ๋ฉ”ํƒˆ๋‹˜์˜ '์œ ๋‹ˆํ‹ฐ ๋ฑ€์„œ๋ผ์ดํฌ' ๊ฐ•์˜ ์˜์ƒ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.] ํ”Œ๋ ˆ์ด์–ด ์ด๋™ ๋ฐฉ๋ฒ•์€ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. // 1. ํž˜์„ ์ค€๋‹ค rigid.AddForce(inputVec); // 2. ์†๋„ ์ œ์–ด rigid.velocity = inputVec; // 3. ์œ„์น˜ ์ด๋™ rigid.MovePosition(rigid.position + inputVec); ์ด๋ฒˆ์— ๊ฐœ๋ฐœํ•  ๋กœ๊ทธ๋ผ์ดํฌ RPG ๊ฒŒ์ž„์€ 3๋ฒˆ์งธ ์ด๋™์ธ ์œ„์น˜ ์ด๋™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌผ๋ฆฌ์ ์ธ ์ด๋™์„ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ์ €๋Ÿฌํ•œ ์œ„์น˜ ์ด๋™ ์ฝ”๋“œ๋งŒ์„ ์‚ฌ์šฉํ•ด์„œ ์‹คํ–‰ํ•˜๋ฉด ์บ๋ฆญํ„ฐ์˜ ์›€์ง์ž„์€ ๋งค์šฐ ๋น ๋ฅธ ์†๋„๋กœ ์›€์ง์ด๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๊ฐ ์‚ฌ์šฉ์ž์˜ ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์†๋„ ๋˜ํ•œ ๋‹ฌ๋ผ์งˆ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์–ด๋– ํ•œ ํ”„๋ ˆ์ž„ ํ™˜๊ฒฝ์—์„œ๋„ ๋˜‘๊ฐ™์€ ์ด๋™ ๊ฑฐ๋ฆฌ๋ฅผ ์›€์ง์ผ์ˆ˜ ์žˆ๋„๋ก..
๋ฌผ๋ฆฌ ์ด๋™ ๊ตฌํ˜„
ยท
๐ŸŽฎ Unity/Project
๊ธฐ๋ณธ ๋ฉ”์„œ๋“œ void Awak ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜ ๋“ฑ์„ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ๊ฐ€์žฅ ์ฒ˜์Œ ํ•œ๋ฒˆ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜ void Start 1๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋กœ Update ํ•จ์ˆ˜๋ณด๋‹ค ์šฐ์„ ์ ์œผ๋กœ ์‹คํ–‰ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ๋“ค์˜ Awake()๊ฐ€ ์‹คํ–‰์ด ์ข…๋ฃŒ๋˜๋ฉด ์‹คํ–‰ ๋ฐ˜๋“œ์‹œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์–ด์•ผ ์‹คํ–‰ void Update ํ•˜๋‚˜์˜ ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ•œ๋ฒˆ์”ฉ ํ˜ธ์ถœ๋˜๋Š” ์ƒ๋ช…์ฃผ๊ธฐ ํ•จ์ˆ˜ ๋ฐ˜๋“œ์‹œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์–ด์•ผ ์‹คํ–‰ ํ”„๋ ˆ์ž„๋งˆ๋‹ค ๋ฐ˜๋ณต๋˜๋ฏ€๋กœ update๋ฅผ ๊ณผํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ €ํ•˜ void FixedUpdate ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ˜ธ์ถœ๋˜๋Š” ์ƒ๋ช…์ฃผ๊ธฐ ํ•จ์ˆ˜ ๋ฌผ๋ฆฌ ํšจ๊ณผ๊ฐ€ ์ ์šฉ๋œ(Rigidbody) ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์กฐ์ •ํ•  ๋•Œ ์‚ฌ์šฉ void LateUpdate ํ”„๋ ˆ์ž„์ด ์ข…๋ฃŒ ๋˜๊ธฐ ์ „ ์‹คํ–‰๋˜๋Š” ์ƒ๋ช…์ฃผ๊ธฐ ํ•จ์ˆ˜ ๋ฌผ๋ฆฌ..
Kyle99
'๐ŸŽฎ Unity/Project' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก