์ ์ฒด ๊ธ
[Swift] Class์ Inheritance(์์)
Inheritance A parent class = 'Superclass' A child class = 'Subclass' ์ํผ ํด๋์ค ์์ด ์ ์ํ ํด๋์ค = 'Base class' class Bicycle: Vehicle { var hasBasket = false } let bicycle = Bicycle() bicycle.hasBasket = true Override property์ method๋ ์ค๋ฒ๋ผ์ด๋ ํ ์ ์๋ค. ์๋ ์๋ ์์ฑ์ ์ฌ๋ผํ์ ๋ฐ๊ฟ ์ ์์. ํจ์ ์ด๋ฆ ์์ override ํค์๋๋ฅผ ๋ถ์ด๋ฉด ์ฌ์ฉ ๊ฐ๋ฅ. class Train: Vehicle{ override func makeNoice(){ print("Choo Choo!") } } Reference class Person{ le..
[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๋ฅผ ์์ ํ๋ ๊ฒ์ ์ด์ ์๋๋ฅผ ์ง์ฐ๊ณ ์๋ก์ด ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ → ๊ด์ฑ ๋ฌด์ํ๊ณ ์๋ ์ฆ์ ๋ณ๊ฒฝ
[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 ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ถํ์ ์กฐ๋ฆฝํ์ฌ ์์ฑ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ง๋๋ ๋ฐฉ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ์ปดํฌ๋ํธ๋ฅผ ๋น ๊ป๋ฐ๊ธฐ์ธ ๊ฒ์ ์ค๋ธ์ ํธ์ ์กฐ๋ฆฝํ๋ ๋ฐฉ์ - ์ ์ฐํ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. -..