์ฃผ์ ๊ฒฝ๋ ฅ
็พ 2014 ~ 2015, 2022 ~ ํธ์๋ํ๊ต ๊ฒ์ํ๊ณผ ์ด๋น๊ต์
็พ 2016 ~ ๊ณต์ฃผ๋ํ๊ต ๊ฒ์๋์์ธํ๊ณผ ๊ฐ์์ ๋ด๊ต์
็พ 2022 ~ ์ ๋ํฐ ๊ณต์ ์ธ์ฆ ๊ฐ์ฌ (Unity Certified Instructor)
ๅ 2023 ํฌํญ๊ณต๊ณผ๋ํ๊ต ์ ์์ ๊ธฐ๊ณตํ๊ณผ ์ธ๋๊ต์
ๅ 2022 ์ฐ์ก๋ํ๊ต ํ ํฌ๋ ธ๋ฏธ๋์ด์ตํฉํ๋ถ (๊ฒ์๋ฉํฐ๋ฏธ๋์ด์ ๊ณต) ์ธ๋๊ต์
ๅ 2019 ๊ณต์ฃผ๋ํ๊ต ์ปดํจํฐ๊ณตํ๋ถ ์ธ๋๊ต์
ๅ 2018 ์๋ช ๋ํ๊ต ์ฌ์ง์์์ฝํ ์ธ ํ๊ณผ ์ธ๋๊ต์
ๅ 2017 ๊ณ์์์ ๋ํ๊ต ๊ฒ์๋ฏธ๋์ด๊ณผ ์ธ๋๊ต์
ๅ 2016, 2020~2021 ๋ฐฐ์ฌ๋ํ๊ต ๊ฒ์ํ๊ณผ ์ธ๋๊ต์
ๅ 2016๋จ์์ธ๋ํ๊ต VRAR ์ธ๋๊ต์
ๅ 2016 ํ๊ตญ์์๋ํ๊ต ๊ฒ์์ ๋๋ฉ์ด์ ๊ณผ ์ธ๋๊ต์
ๅ 2015 ~ 2018 ๋ฐฑ์๋ํ๊ต ์ ๋ณดํต์ ํ๋ถ ์ธ๋๊ต์
"๊ณ ๋ฐ์ฌ์ ์ ๋ํฐ ๋ ธํธ" ์ ํ๋ธ ์ด์
https://www.youtube.com/@unitynote
์๊ฐ
๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ์ ๊ณต์ผ๋ก ๊ฒ์ ๊ฐ๋ฐ, ์ ๋ํฐ ์์ง ๊ฐ์๋ฅผ ํ๊ณ ์์ต๋๋ค.
๊ฐ์ ๋ถ์ผ : ์ ๋ํฐ ์์ง(๊ธฐ์ด, 2D/3D ๊ฒ์ ๊ฐ๋ฐ, VR/AR), ์๋ฒ, ์ธ๊ณต์ง๋ฅ, ์ ฐ์ด๋, ๊ฒ์ํ๊ฐ๋ก ๋ฑ
Courses
Reviews
- [Unity 6] Learn by Following Dr. Ko's Top-Down Shooting Game
- Learn Unity Basics with Dr. Koh by following along
- Dr. Ko's Unity Hyper Casual Game Series 03: Learn by Following
- Learn Unity Basics with Dr. Koh by following along
- [Unity 6] Learning by Doing: Dr. Go's Unity Hyper-Casual Game Series 01
Posts
Q&A
2d๊ฒ์์์ ์๋ณต ๊ต์ฒด๋ ์ด๋ป๊ฒํด์ผํ ๊น์?
1. ๋ฌด๊ธฐ์ ๊ฐ์ด SpriteRenderer๋ฅผ ์ด์ฉํด ๋ ์ด์ด๋ฅผ ๋๋ ์ค๋ค. (๋ชจ์ ์ค๋ธ์ ํธ, ๋งํ ์ค๋ธ์ ํธ ๋ฑ)2. SpriteResolver / Sprite Library๋ฅผ ์ด์ฉํด ๊ฐ ๋ถ์์ SpriteResolver๋ฅผ ๋ถ์ด๊ณ , ์์ ์ธํธ๋ฅผ SpriteLibrary๋ก ๊ด๋ฆฌ3. ๋ณธ ์ ๋๋ฉ์ด์ ๋ฐฉ์ (Sprite Skin + PSD Importer) ์์ ๊ต์ฒด ํ์ธ ๋ฅผ ๋ช๊ฐ๋ก ํ ์ง, ์์์ ๊ฐ์๊ฐ ์ผ๋ง๋ ๋๋์ง์ ๋ฐ๋ผ์ ๋ฐฉ์ ์ค์์ ์ ํํด ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์ ๋๋ฉ์ด์ ์ด ๋ณต์กํ์ง ์๊ณ , ์์์ ๊ฐ์๊ฐ ๋ง์ง ์์ผ๋ฉด ์์์์ ๋์จ ๋ฌด๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์์ฒ๋ผ SpriteRenderer๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ฝ๊ณ , ๊ฐ๋ณ๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅํฉ๋๋ค.
- 0
- 3
- 23
Q&A
Rigidbody2D์ linearVelocity ์ ์ด
์ ๋ํฐ์ ๋ฌผ๋ฆฌ ์ฒ๋ฆฌ(Rigidbody)๊ฐ ๊ณ ์ ๋ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ฃผ๊ธฐ๋ก ํธ์ถ๋๊ธฐ ๋๋ฌธ์ ์๋ ฅ ์ฒ๋ฆฌ๊ฐ ๋์ผํ ์ฃผ๊ธฐ์ ๋ฐ์๋๋๋ก FixedUpdate()์์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด์ InputManager๋ Update() ๋ฉ์๋์์ ํธ์ถํ๋๋ก ๊ถ์ฅํฉ๋๋ค. (FixedUpdate์์ ์ ์ ์๋ํ์ง ์์) ๊ทธ๋์ ๊ฐ์ฅ ์ด์์ ์ธ ํํ๋ ์๋ ์ฝ๋์ ๊ฐ์ด Update()์์ ํค ์ ๋ ฅ ๊ฐ์ง / ํค ๊ฐ์ ๋ฉค๋ฒ๋ณ์์ ์ ์ฅ, FixedUpdate()์์ ๋ฉค๋ฒ๋ณ์์ ์๋ ํค ๊ฐ์ ๋ฐํ์ผ๋ก ์๋ ฅ์ ๊ฐฑ์ ํ๋ ๊ฒ์ ๋๋ค. private Vector2 moveInput; private void Update(){ moveInput.x = Input.GetAxisRaw("Horizontal"); moveInput.y = Input.GetAxisRaw("Vertical");} private void FixedUpdate(){ rigidbody.linearVelocity = moveInput * moveSpeed;} ๋ณดํต์ ๋ฉค๋ฒ ๋ณ์๋ก ๋ง๋๋๊ฒ ๋ฒ๊ฑฐ๋กญ๋ค ๋ณด๋ ํ์ฌ ์ค์ต ์์ ์ ๊ฐ์ด ์ง์ญ๋ณ์๋ก ํ๋ฒ์ ์ฒ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. FixedUpdate()๊ฐ ๊ถ์ฅ์ด์ง๋ง ํฌ๋ฆฌํฐ์ปฌํ ์ค๋ฅ๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด ๊ฑฐ์ ์๊ณ , ํนํ๋ ์ง๊ธ์ฒ๋ผ GetAxisRaw๋ก -1, 0, 1์ ์ ์๋ง ๋ฐ์ ๋๋ ๋์ฑ ๋ฐ์ ๋น๋๊ฐ ์ ์ต๋๋ค. ๊ฑฐ๊ธฐ์ ๋ฉค๋ฒ ๋ณ์๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋๊ฒ ๊ท์ฐฎ๋ค๋ณด๋ ๋ค๋ค ์ต๊ด์ฒ๋ผ ๊ณ ์ฐฉ๋๊ฒ ์๋๊น ์ถ์ต๋๋ค. ์ ๋ํฐ์์ 6.1๋ถํฐ ๊ถ์ฅํ๋ InputSystem์ ์ด์ฉํ ํค ์ ๋ ฅ์์๋ ํค ์ ๋ ฅ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ณ๋์ ์ด๋ฒคํธ ๋ฉ์๋๋ฅผ ๋ง๋ค๋ค ๋ณด๋ ์์์ ๊ถ์ฅํ๋ ์ฝ๋์ ๊ฐ์ด ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ ์ธํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์์ผ๋ก๋ ๊ถ์ฅ์ด ์๋ ๊ฐ์ ์ ์ผ๋ก ์ ์์ ์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํด์ผํฉ๋๋ค.
- 0
- 3
- 26
Q&A
02. ๊ฒ์์ค๋ธ์ ํธ ๋ฌผ๋ฆฌ์ ์ถฉ๋ ๋ง์ง๋ง sun์์ ์ ์์ง์
OnCollisionStay2D(), OnTriggerStay2D()์ ๊ฒฝ์ฐ ์ค๋ช ์ ์ถฉ๋ ์ค์ผ ๋ ๋งค ํ๋ ์ ํธ์ถ์ด์ง๋ง"๋ฌผ๋ฆฌ์ ํ์ด ๊ฐํด์ง๊ณ ์์ ๋"๋ผ๋ ์กฐ๊ฑด์ด ํ๋ ๋ ํ์ํฉ๋๋ค.์๋ก ์ถฉ๋ ์ค์ด์ง๋ง ํ๋ ์ด์ด๊ฐ ๋ฉ์ถฐ์์ด์ ๋ฌผ๋ฆฌ์ ํ์ด ๊ฐํด์ง์ง ์์ผ๋ฉด Stay์ ์ ์ง ์๊ฐ์ 1์ด ์ ๋์ ๋๋ค. ๊ณ์ ์ ์ง๊ฐ ๋๋ ค๋ฉด trigger ๋ฌผ์ฒด ์์์ ํ๋ ์ด์ด๊ฐ ์ถฉ๋ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์๊ณ ์ถฉ๋์ด ์ ์ง๋๋ ๋ฒ์ ์์์ ์กฐ๊ธ์ฉ ๊ณ์ ์์ง์ฌ์ค์ผ ํฉ๋๋ค.
- 0
- 2
- 74
Q&A
๊ฐ์ 01-02์์ ํ๋ฆฌํน ๋ ๋๋ง ์ค๋ฅ
ํ์ฌ ์ฌ์ฉ ์ค์ธ ์ ๋ํฐ ๋ฒ์ ๊ณผ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋ ํ ํ๋ฆฟ ์ ๋ณด๋ฅผ ์ ์ ์์๊น์?์ ์์ ์ผ๋ก ๋์ค๋ ค๋ฉด ์ ๋ํฐ 6000.0.23f1 ์ด์ ๋ฒ์ (์ ๋ํฐ 6 ์ ์๋ฒ์ ), Universal 2D ํ ํ๋ฆฟ์ผ๋ก ์์ฑํด์ผ ํฉ๋๋ค.
- 0
- 2
- 59
Q&A
02-05 ๋ ๋ฒจ์์(๋ง์ง๋ง ๊ฐ์)์์ SelectLevelController์ค๋ธ์ ํธ์ SelectLevelController ์ปดํฌ๋ํธ์กฐ์
SelectLevelController ์คํฌ๋ฆฝํธ์ ์์ฑํด๋ ResetData()๋ผ๋ ์ ํฌ๊ฐ ๋ง๋ ๋ฉ์๋์ ๋๋ค. ๋ฉ์๋ ์์ [ContextMenu("..")] ์ ๊ฐ์ด ์ดํธ๋ฆฌ๋ทฐํธ๋ฅผ ์์ฑํ๋ฉดํด๋น ๋ฉ์๋๋ฅผ ์ ๋ํฐ ์๋ํฐ์์ ๋ฉ๋ด์ ๊ฐ์ ํํ๋ก ์คํํ ์ ์์ต๋๋ค.
- 0
- 1
- 69
Q&A
02-07 ๋ณ์์ดํ ์ bool[] ๋ก ํ ์ด์ ๊ฐ ๊ถ๊ธํด์.
์คํ ์ด์ง๋ง๋ค 3๊ฐ์ ๋ณ์ด ๋ฐฐ์น๋์ด ์๊ณ , 0, 1, 2๋ฒ ๋ณ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. 0๋ฒ ๋ณ์ ํ๋ํ๋ฉด 0๋ฒ ๋ณ UI ํ์ฑํ, 1๋ฒ ๋ณ์ ํ๋ํ๋ฉด 1๋ฒ ๋ณ UI ํ์ฑํ์ ๊ฐ์ด๋ค์์ UI๋ฅผ ์ถ๋ ฅํ ๋ ๋ณ ํ๋ ์ฌ๋ถ์ ๋ฐ๋ผ ์ง์ ๋ ์๋ฒ์ ๋ณ UI๊ฐ ํ์ฑํ๋๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ์ด์ฉํด ๊ฐ ๋ณ์ ํ๋ ์ฌ๋ถ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- 0
- 1
- 109
Q&A
02-02 ํ๋ ์ด์ด ์ฒด๋ ฅ์์ if(current >1)์ if(current > 0) ๋ก...
if ( current > 1 )์ด ๋ง์ต๋๋ค. ํํธ๊ฐ 3๊ฐ ์์ผ๋ 3๋ ๋ง์ผ๋ฉด ์ฃฝ์ด์ผ ํ๊ณ ,current๊ฐ 3์ผ ๋ ๋ง์ผ๋ฉด current๋ 2๊ฐ ๋ฉ๋๋ค. (1๋)current๊ฐ 2์ผ ๋ ๋ง์ผ๋ฉด current๋ 1์ด ๋ฉ๋๋ค. (2๋)current๊ฐ 1์ผ ๋ ๋ง์ผ๋ฉด ์ฃฝ์ต๋๋ค. (3๋)
- 0
- 1
- 81
Q&A
03-01 Hidden Tilmap์์
์ํ ๊ฐ์ด 1์ผ ๋ 0๊น์ง ๋ฐ๋๋ ์๊ฐ์ด 1์ด์ ๋๋ค.์ ์ ๊ฐ ํญ์ ์ํ ๊ฐ์ด 1์ผ ๋ ์ถฉ๋ํด์ 0์ผ๋ก ๋ฐ๋๊ณ , 0์ผ ๋ ๋ฐ์ผ๋ก ๋๊ฐ์ 1๋ก ๋ฐ๋์ง ์์ต๋๋ค. ์์ ๋ง์ง๋ง์ ๊ฒ์ ์คํ๊ณผ ๊ฐ์ด ์๋ค ๊ฐ๋ค ํ๋ฉด์ ์ํ ๊ฐ์ด ๋ฐ๋๋ ๋์ค์์ถฉ๋/์ถฉ๋ ํด์ ํ ์ ์๊ธฐ ๋๋ฌธ์์ํ ๊ฐ์ด 0.5์ผ ๋๋ 0.5์ด ๋์ Fade ํจ๊ณผ๋ฅผ ์ฌ์ํ๊ณ ,์ํ ๊ฐ์ด 0.2์ผ ๋๋ 0.2์ด ๋์ Fade ํจ๊ณผ๋ฅผ ์ฌ์ํ๊ธฐ ์ํดtilemap.color.a๋ฅผ Fade ๋๋ ์๊ฐ์ผ๋ก ์ค์ ํฉ๋๋ค.
- 0
- 2
- 85
Q&A
02-04 ์ ํ๋ฐํ Animation ๋ทฐ์์ ์ด๋ฏธ์ง ๋์ค๊ฒ ํ๋ ๋ฐฉ๋ฒ์ด ๊ถ๊ธํด์.
์ง๊ธ ์ด๋ฏธ์ง ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์ ๋ชฉ๋ก์ ์ ๊ฑฐ๋ ์ฌ๋ "โถ" ์ด๋ ๊ฒ ์๊ธด ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ๋ฉ๋๋ค.
- 0
- 1
- 99
Q&A
02-03 ์ถ๋ฝํ๋ ๋ฐํ์์ isKinematic = true;๋ก ํ๋ฉด, ์ค๋ ฅ์ํฅ ์๋ฐ์ผ๋
PlatformDrop ํด๋์ค์์ OnRespawn() ๋ฉ์๋์ ์๋rigid2D.velocity = Vector2.zero; ๋ฌธ์ฅ์ ์ง์ฐ๊ณ ์คํํด๋ณด๋ฉด๋ฐํ์ ๋ฐ์์ ๋จ์ด๋จ๋ฆฌ๊ณ , ๋ค์ ๋ฆฌ์คํฐ ๋์์ ๋ ์๋ ฅ ๊ฐ์ด ์ด๊ธฐํ ์๋์๋ฆฌ์คํฐ ๋์๋ง์ ์๋๋ก ๋จ์ด์ง๋๋ค.
- 0
- 2
- 129