unity

    [Unity] Timer UI ๊ตฌํ˜„ํ•˜๊ธฐ

    Astro Cat์—์„œ ๊ตฌํ˜„ํ•œ ๋ฏธ๋กœ๊ฒŒ์ž„์˜ ๊ทœ์น™์ด ํŠน์ • ์‹œ๊ฐ„ ์•ˆ์— ๋ฏธ๋กœ๋ฅผ ํƒˆ์ถœํ•˜๋Š” ๊ฒƒ์ด์—ˆ๊ธฐ์— ํƒ€์ด๋จธ ๊ตฌํ˜„์ด ํ•„์š”ํ–ˆ๋‹ค. UI > Canvas ๋กœ ์บ”๋ฒ„์Šค UI๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ทธ ์œ„์— ํƒ€์ด๋จธ๊ฐ€ ๋  Text UI๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. time ๋ณ€์ˆ˜๋กœ ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ๋ฐ›๊ณ , Time.deltaTime์„ ์ด์šฉํ•ด ํ˜„์‹ค์˜ 1์ดˆ๊ฐ€ ์ค„์–ด๋“ค ๋•Œ๋งˆ๋‹ค ํƒ€์ด๋จธ์˜ 1์ดˆ๊ฐ€ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ–ˆ๋‹ค. ์ด ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์€ ์‹œ๊ฐ„ ๋‹จ์œ„๊ฐ€ 60์ด๋ผ๋Š” ์ ! ๊ทธ๋ฆฌ๊ณ  -(์Œ์ˆ˜) ์‹œ๊ฐ„์€ ์—†์œผ๋‹ˆ ๊ทธ ์ ๋„ ์œ ์˜ํ•ด์•ผํ•œ๋‹ค. public Text[] timeText; public Text gameOverText; float time = 120; // ์ œํ•œ ์‹œ๊ฐ„ 120์ดˆ int min, sec; void Start() { //์ œํ•œ ์‹œ๊ฐ„ 02:00 timeT..

    [Unity] ๋งˆ์šฐ์Šค๋กœ ์˜ค๋ธŒ์ ํŠธ ํด๋ฆญ ์‹œ ์ธ์‹ํ•˜๊ธฐ

    ๋งˆ์šฐ์Šค๋กœ ์บ๋ฆญํ„ฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์บ๋ฆญํ„ฐ๋ฅผ ์ธ์‹ํ•˜๊ณ  ํŠน์ • ๋Œ€์‚ฌ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ๋‚˜.. ๋งํ’์„ ์„ ๋ณด๋ฉด ์ฃผ๋ฏผ์„ ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ•ด ๋ง์„ ๊ฑธ๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ฒœ์‚ฌ์ฃผ๋ฏผ, ์•…๋งˆ์ฃผ๋ฏผ์„ ๊ฐ๊ฐ ํด๋ฆญํ•˜๋ฉด ๋‹ค๋ฅธ ๋งํ’์„ ์ด ๋‚˜ํƒ€๋‚œ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋งˆ์šฐ์Šค๋กœ ๋ฌผ์ฒด๋ฅผ ํด๋ฆญํ•˜๊ณ , ์ด๋ฅผ ์ธ์‹ํ•ด ๋ฌผ์ฒด๋ฅผ ํŒ๋ณ„ํ•˜์—ฌ ๋ช…๋ น์„ ์ค„ ์ˆ˜ ์žˆ์„๊นŒ? ๋ฐ”๋กœ RaycastHit์™€ tag๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. Raycast๋ž€ Raycast ์Šคํฌ๋ฆฝํŒ…์„ ๊ฐ€์ง„ ๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ์˜ ์›์ ์—์„œ ๋‚ด๊ฐ€ ์„ค์ •ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ Ray(๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” ๊ด‘์„ )๋ฅผ ๋‚ ๋ ค ํŠน์ • ๊ฑฐ๋ฆฌ ์ด๋‚ด์— ๋ฌผ์ฒด์˜ ์ถฉ๋Œ๊ฐ์ง€๋ฅผ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ Ray๋ฅผ ๋งˆ์šฐ์Šค์˜ ํฌ์ง€์…˜์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญ ํ›„ ๋ฌผ์ฒด ๊ฐ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. // ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ•ด์„œ ์ธ์‹ ํ›„ ๋Œ€ํ™” Ray ray = Camera.main.Scr..

    [Unity] ์•„์ดํ…œ ๊ตฌํ˜„ํ•˜๊ธฐ

    โ€ป ์ด์ „ ๊ธ€์—์„œ ์ž‘์„ฑํ•œ ๊ธ€์˜ ์—ฐ์žฅ์„ ์ž…๋‹ˆ๋‹ค. [Unity] ๋งํ’์„  UI ์ ์šฉํ•˜๊ณ  ๋Œ€ํ™”์ฐฝ ๊ตฌํ˜„ํ•˜๊ธฐ(Astro Cat) Point Light๋กœ ํฌ์ธํŠธ ๋น›์„ ์ค€๋‹ค. ๋น›์˜ ์ƒ‰๊น”, range, intensity ๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ๋Œ€๋กœ object์— ํฌ์ธํŠธ ๋น›์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค. ํ™•์‹คํžˆ ๊ฐ•์กฐ๊ฐ€ ๋œ๋‹ค. ์•„์ดํ…œ์„ ์ด์ œ ํ˜ผ์ž์„œ๋„ ๋น™๊ธ€๋น™๊ธ€ ๋Œ์•„๊ฐ€๊ฒŒ ํ•ด๋ณด์ž. ์•„์ดํ…œ object์— object๋ฅผ ๋น™๊ธ€๋น™๊ธ€ ๋Œ๋ฆฌ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค. (๋‹น์—ฐํ•œ ๋ง ํ•˜๊ธฐ) public bool isAnimated = false; public bool isRotating = false; public Vector3 rotationAngle; public float rotationSpeed; void Update () { if(isAnimated){ if..

    [Unity] ๋งํ’์„  UI ์ ์šฉํ•˜๊ณ  ๋Œ€ํ™”์ฐฝ ๊ตฌํ˜„ํ•˜๊ธฐ

    ๊ฒŒ์ž„ ๋‚ด์—์„œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๊ฑฐ๋‚˜ NPC๋“ค๊ณผ ๋Œ€ํ™” ์‹œ ์‚ฌ์šฉํ•˜๋Š” ๋งํ’์„  UI Astro Cat ๊ฒŒ์ž„ ์ง„ํ–‰์—์„œ ์•„์ฃผ ํ†กํ†กํ•œ ์—ญํ• ์„ ํ•ด์ค€ ๋งํ’์„  UI๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹น ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๊ฒŒ์ž„์˜ ๋งํ’์„ ์„ ๋„˜๊ธฐ๋Š” ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 1. ์ฒซ๋ฒˆ์งธ ๋งํ’์„ ์„ ํด๋ฆญํ•˜๋ฉด ๋‘๋ฒˆ์งธ ๋งํ’์„ ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. 2. ๋‘๋ฒˆ์งธ ๋งํ’์„ ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋งํ’์„ ์ด ์‚ฌ๋ผ์ง€๊ณ  ์šฉ์ด ์ค€ ์•„์ดํ…œ์ด ๋‚˜ํƒ€๋‚œ๋‹ค. 3. ์šฉ์ด ์ค€ ์•„์ดํ…œ์„ Player๊ฐ€ Getํ•˜๋ฉด ์„ธ ๋ฒˆ์งธ ๋งํ’์„ ์ด ๋‚˜ํƒ€๋‚œ๋‹ค. โ€ป ๋Œ€ํ™”์ฐฝ UI๋Š” ๊ธ€ ๋งจ ์•„๋ž˜ ์—์…‹์„ ์ฐธ๊ณ ํ•˜์‹œ๋ผ ๋Œ€ํ™”์ฐฝ์—์„œ ์ฐฝ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋Š” talkPanel์„ ์‚ดํŽด๋ณด๊ฒ ๋‹ค. Unity ํ•˜์ด์–ด๋ผํ‚ค์— UI>Canvas๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ๊ทธ ์•„๋ž˜ ๋‹ค์Œ๊ณผ ๊ฐ™์ด UI>Image๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. Canvas๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ๊ฒŒ์ž„ ๋‚ด UI๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ง..

    [Unity] Player ๋ฐฉํ–ฅํ‚ค๋กœ ์›€์ง์ด๊ธฐ / Animation ์„ค์ •

    Unity๋ฅผ ์ตํžˆ๋Š” ์ „๊ณต ์ˆ˜์—…์ธ 3D์Šคํฌ๋ฆฝํŠธํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŒ€ ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ•œ KATNIP - Astro Cat์—์„œ ๊ตฌํ˜„ํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. Unity๋ฅผ ๋˜ ์–ธ์ œ ์“ธ์ง€๋Š” ๋ชจ๋ฅด์ง€๋งŒ ๊นŒ๋จน๊ธฐ์—๋Š” ์•„๊นŒ์šด ํ”„๋กœ์ ํŠธ์ด๋‹ค. ๊ฒŒ์ž„์˜ ๊ธฐ๋ณธ์ธ ํ”Œ๋ ˆ์ด์–ด์˜ ์กฐ์ž‘๋ฒ•์„ ๊ตฌํ˜„ํ•˜๊ฒ ๋‹ค. ๋ฐฉํ–ฅํ‚ค๋กœ ์›€์ง์ด๊ณ , ์ŠคํŽ˜์ด์Šค ๋ฐ”๋ฅผ ๋ˆ„๋ฅด๋ฉด Jumpํ•˜๋Š” Player๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ! Player์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ปจํŠธ๋กคํ•˜๊ธฐ ์œ„ํ•ด Animator Controller๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. Unity Asset์„ ๊ตฌ๋งคํ•˜๋ฉด, ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋“ค์–ด์žˆ์„ ํ…๋ฐ ๊ทธ ์ค‘ ์‚ฌ์šฉํ•  ์• ๋‹ˆ๋ฉ”์ด์…˜๋งŒ ๋ณต๋ถ™ํ•ด์„œ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค. Walk ์• ๋‹ˆ๋ฉ”์ด์…˜์€ isWalk ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ, Jump ์• ๋‹ˆ๋ฉ”์ด์…˜์€ doJump ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ด์šฉํ•œ๋‹ค. ๊ธฐ๋ณธ ๋ชจ์…˜์ธ idleA ์• ๋‹ˆ๋ฉ”์ด์…˜์€ E..

    [Unity] Update()

    Update() Update()๋Š” ํ™”๋ฉด์ด ํ•œ๋ฒˆ ๊ฐฑ์‹ ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰. ์ฆ‰, ๋งˆ์ง€๋ง‰ Update()๊ฐ€ ์‹คํ–‰ ๋œ ์‹œ์ ๊ณผ ํ˜„์žฌ Update()๊ฐ€ ์‹คํ–‰๋œ ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์ด ํ”„๋ ˆ์ž„์ด ์ƒˆ๋กœ ๊ทธ๋ ค์ง€๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด๋‹ค. Time.deltaTIme Update() ์‹คํ–‰ ์‚ฌ์ด์˜ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ. ์ดˆ๋‹น ํ”„๋ ˆ์ž„์€ ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. Instantiate() ์‹ค์‹œ๊ฐ„์œผ๋กœ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ Instantiate(์›๋ณธObject, transform.position, transform.rotation);

    [Unity] ์˜ค๋ธŒ์ ํŠธ ๊ฐ„ ์ถฉ๋Œ ์ฒ˜๋ฆฌ

    ์ถฉ๋Œ ์ด๋ฒคํŠธ ๋ฉ”์„œ๋“œ OnCollision ๊ณ„์—ด: ์ผ๋ฐ˜ ์ถฉ๋Œ ์ผ๋ฐ˜์ ์ธ ์ฝœ๋ผ์ด๋”๋ฅผ ๊ฐ€์ง„ ๋‘ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ถฉ๋Œํ•  ๋•Œ ์ž๋™์œผ๋กœ ์‹คํ–‰. ์ถฉ๋Œํ•œ ๋‘ ์ฝœ๋ผ์ด๋”๋Š” ์„œ๋กœ ํ†ต๊ณผํ•˜์ง€ ์•Š๊ณ  ๋ฐ€์–ด๋ƒ„. - OnCollsionEnter(Collision collsion): ์ถฉ๋Œํ•œ ์ˆœ๊ฐ„ - OnCollisionStay(Collision collision): ์ถฉ๋Œํ•˜๋Š” ๋™์•ˆ - OnCollisionExit(Collision collision): ์ถฉ๋Œํ–ˆ๋‹ค๊ฐ€ ๋ถ„๋ฆฌ๋˜๋Š” ์ˆœ๊ฐ„ OnTrigger ๊ณ„์—ด: ํŠธ๋ฆฌ๊ฑฐ ์ถฉ๋Œ ์ถฉ๋Œํ•œ ๋‘ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์˜ ์ฝœ๋ผ์ด๋” ์ค‘ ์ตœ์†Œ ํ•˜๋‚˜๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ ์ฝœ๋ผ์ด๋”๋ผ๋ฉด ์ž๋™์œผ๋กœ ์‹คํ–‰ ์ด ๊ฒฝ์šฐ ๋‘ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ถฉ๋Œํ–ˆ์„ ๋•Œ ์„œ๋กœ ๊ทธ๋Œ€๋กœ ํ†ต๊ณผ - OnTriggerEnter(Collider collsion): ์ถฉ๋Œํ•œ ์ˆœ๊ฐ„ - O..

    [Unity] Rigidbody์˜ AddForce()์™€ velocity

    Rigidbody์˜ AddForce()์™€ velocity ์ฐจ์ด์  - AddForce() ๋ฉ”์†Œ๋“œ๋Š” ํž˜์„ ๋ˆ„์ ํ•˜๊ณ  ์†๋ ฅ์„ ์ ์ง„์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. - Rigidbody์˜ velocity๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ์ด์ „ ์†๋„๋ฅผ ์ง€์šฐ๊ณ  ์ƒˆ๋กœ์šด ์†๋„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ → ๊ด€์„ฑ ๋ฌด์‹œํ•˜๊ณ  ์†๋„ ์ฆ‰์‹œ ๋ณ€๊ฒฝ