c#
[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] ์ฌ์ฉ์ ์ ๋ ฅ ๊ฐ์ง
Update() ๋ฉ์๋ ์ ๋ ฅ์ ๊ฐ์งํ๋ ค๋ฉด Update() ๋ฉ์๋์ input ํด๋์ค์ ์ ๋ ฅ ๊ฐ์ง ๋ฉ์๋ ํ์ Input ์คํ ์์ ์ ์ด๋ค ํค๋ฅผ ๋๋ ๋ ์ง ์๋ ค์ค Input.GetKey() ๋ฉ์๋๋ ํค๋ณด๋์ ์๋ณ์๋ฅผ KeyCode ํ์ ์ผ๋ก ์ ๋ ฅ๋ฐ๋๋ค. bool Input.GetKey(KeyCode key); Input.GetKey(): ํด๋น ํค๋ฅผ ๋๋ฅด๋ ๋์ Input.GetKeyDown(): ํด๋น ํค๋ฅผ ๋๋ฅด๋ ์๊ฐ
[Unity] C# ํด๋์ค์ ์ค๋ธ์ ํธ
ํด๋์ค ์ถ์ํ ํ ๋์๊ณผ ๊ด๋ จ๋ ์ฝ๋(๋ณ์์ ๋ฉ์๋)๋ฅผ ๋ฌถ๋ ํ ํด๋์ค์ ํ๋ = ํด๋์ค์ ๋ฉค๋ฒ ์ค์์ ๋ณ์ ์ค๋ธ์ ํธ - ์๋ณธ ํด๋์ค์์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ธ์ ํธ ์์ฑ ๊ฐ๋ฅ - ์ค๋ธ์ ํธ๋ ์๋ก ๋ ๋ฆฝ์ ์ด๋ฉฐ ๊ตฌ๋ณ ๊ฐ๋ฅ ์ฐธ์กฐ(reference) ํ์ - C#์์ ํด๋์ค๋ก ๋ง๋ ๋ณ์๋ ์ฐธ์กฐ ํ์ - ์ฐธ์กฐ ํ์ ์ ๋ณ์๋ ์ค์ฒดํ ๋ ์ค๋ธ์ ํธ๊ฐ ์๋ - ์ฐธ์กฐ ํ์ ์ ๋ณ์๋ฅผ ์ ์ธํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ค๋ธ์ ํธ๊ฐ ์์ฑ๋์ง ์๊ธฐ ๋๋ฌธ์ new๋ฅผ ์ฌ์ฉํด ์ค๋ธ์ ํธ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์์ฑ - ์ฐธ์กฐ ํ์ ์ ' ํ ์ฌ๋์ ์ฌ๋ฌ ๊ฐ์ ๋ณ๋ช ์ผ๋ก ๋ถ๋ฅด๋ ์ํฉ'์ ๋ง๋ค ์ ์์. - ์ฆ, ์ค๋ธ์ ํธ๋ ํ๋์ง๋ง ๊ทธ๊ฒ์ ์ฌ๋ฌ ๊ฐ์ ์ฐธ์กฐ ๋ณ์๊ฐ ๋์์ ๊ฐ๋ฆฌํฌ ์ ์์. ๊ฐ(value) ํ์ - float, int, string ๋ฑ์ C# ๋ด์ฅ๋ณ์๋ ์ฐธ์กฐ๋ก ๋์ ..
[Unity] C# ์์๊ณผ ์ปดํฌ๋ํธ ํจํด
์์ - ๊ฒ์ ์์ง์ ์ด๋ฏธ ์์ฑ๋ ๊ธฐ๋ฐ ์ฝ๋๋ฅผ ์ ๊ณต - ๊ฒ์ ์์ง์ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๋ฏ๋ก ์์ฐ์ฑ ์์น - ์ ๋ํฐ์ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ ค๋ฉด ์์์ ์์์ผ ํจ ์์์ ํ๊ณ ๋ถ๋ชจ ํด๋์ค๋ฅผ ์์ํด ์์ ํด๋์ค์ ๊ธฐ์ด ๊ตฌํ์ ๋์ ํ ์ ์๋ค. ๊ทธ๋ฌ๋, ์์์๋ง ์์กดํ๋ฉด ์คํ๋ ค ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ํ๋ค ์ ๋ ์๋ค. ๋ถ๋ชจ ํด๋์ค๋ ์์ ํด๋์ค์ ๊ณตํต์ ์ผ๋ก ํ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํด์ผํ๋ ๋ฐ, ๋ถ๋ชจ ํด๋์ค์ ๊ธฐ์กด ๊ธฐ๋ฅ์ด ๋์ค์ ๊ตฌํํ ์์ ํด๋์ค์ ๊ธฐ๋ฅ๊ณผ ์คํ๋ ค ์ถฉ๋ํ ์ ์๋ค. → ์ปดํฌ๋ํธ ํจํด์ ์ฌ์ฉํด์ผ ํจ ์ปดํฌ๋ํธ ํจํด Component Pattern ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ถํ์ ์กฐ๋ฆฝํ์ฌ ์์ฑ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ง๋๋ ๋ฐฉ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ์ปดํฌ๋ํธ๋ฅผ ๋น ๊ป๋ฐ๊ธฐ์ธ ๊ฒ์ ์ค๋ธ์ ํธ์ ์กฐ๋ฆฝํ๋ ๋ฐฉ์ - ์ ์ฐํ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. -..