๋ชฉ๋ก์ ์ฒด ๊ธ (1104)
KoreanFoodie's Study

๊ฐ์ฒด์งํฅ์ ๋ณธ์ง ์ฌ์ค ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ๊ฐ์ฒด์งํฅ์ด๋ผ๋ ๋ง์ ๋ค์์ ๋ ๋ ์ฌ๋ฆฌ๋ ๋ฌธ์ฅ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ด๋ค. ๊ฐ์ฒด์งํฅ์ด๋ ์์คํ ์ ์ํธ์์ฉํ๋ ์์จ์ ์ธ ๊ฐ์ฒด๋ค์ ๊ณต๋์ฒด๋ก ๋ฐ๋ผ๋ณธ๋ค ์์จ์ ์ธ ๊ฐ์ฒด๋ ์ํ์ ํ์๋ฅผ ํจ๊ป ์ง๋๋ฉฐ, ์ค์ค๋ก ์๊ธฐ ์์ ์ ์ฑ ์์ง๋ค ๊ฐ์ฒด๋ ์์คํ ์ ํ์๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅํ๋ค. ๊ฐ ๊ฐ์ฒด๋ ํ๋ ฅ ๋ด์์ ์ ํด์ง ์ญํ ์ ์ํํ๋ฉฐ ์ญํ ์ ๊ด๋ จ๋ ์ฑ ์์ ์งํฉ์ด๋ค. ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ํ๋ ฅํ๊ธฐ ์ํด ๋ฉ์์ง๋ฅผ ์ ์กํ๊ณ , ๋ฉ์์ง๋ฅผ ์์ ํ ๊ฐ์ฒด๋ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์ ํฉํ ๋ฉ์๋๋ฅผ ์์จ์ ์ผ๋ก ์ ํํ๋ค (์บก์ํ๋ผ๋ ๊ฒ์, ๋ฉ์์ง๋ฅผ ์ ์กํ ๊ฐ์ฒด๋ ์์ ํ ๊ฐ์ฒด๊ฐ ์ด๋ป๊ฒ ๋์ํ ์ง๋ฅผ ๋ชจ๋ฅด๊ณ , ์์ ํ ๊ฐ์ฒด๊ฐ ์์ฒญ ์ฌํญ์ ๋ฉ์์ง๋ก ๋ฐ์ ํ ์์์ ์ฒ๋ฆฌํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ฐ๋ผ์ ๋ฉ์์ง๋ฅผ ์ ์กํ๋ ..

[์ธ๋ฆฌ์ผ] ์ด๋ค ๊ฐ๋ : ์ด๋ป๊ฒ ํ๊ธฐ ๋งจ ์ฒ์ ์ธ๋ฆฌ์ผ์ ์ค์นํ๊ณ ํ๋ก์ ํธ๋ฅผ ์ด๋ ค๊ณ ํ๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ์ด ๋์ด ์์ง ์๋ค. ์ด ๋ฌธ์ ๋ ์์ฑ์์ ์ฐ๊ฒฐ ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ด ํด ์ฃผ๋ฉด ๋๋ค : "C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64\UnrealVersionSelector.exe" ๋ง์ฝ ์์ ๋ฐฉ๋ฒ์ด ์ ๋๋ฉด, ์์ UnrealVersionSelector.exe ๋ฅผ, ๋ค์ ๊ฒฝ๋ก์ ๋ณต๋ถํ๋ค : "C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64" ๊ทธ๋๋ ์ ๋ ๊ฒฝ์ฐ : ํด๋น UnrealVersionSelector.exe ํ์ผ์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ํ ๋ฒ ์คํ์์ผ, ๋ ์ง์คํธ๋ฆฌ์ ๋ฑ๋ก ..

์ฑ๊ธํด ํจํด๊ณผ ์ ์ ๋ณ์? ์ฑ๊ธํด ํจํด์ ๊ณต๋ถํ๋ ์ค, ๊ฒ์ผ๋ฅธ ์ด๊ธฐํ ์ฑ์ง์ ์ด์ฉํด ์ฑ๊ธํด์ ์์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์ ๋ค. ๋ถ๋ชจ ํด๋์ค์ virtual ๋ฉ์๋๋ฅผ ๋ถ๋ฅผ ๋, ์์ ํด๋์ค์ instance ๋ฅผ ๋ถ๋ชจ ํด๋์ค์ instance ํ์ ์ผ๋ก ํ์ ์บ์คํ ํ๋ ๋ฐฉ์์ด ๊ฐ๋ฅํ ๊น? ์ ์ ๋ณ์๋ ์์์ด ๋์ง ์๋๋ค. ์๋ฐํ ๋งํ๋ฉด, ์ ์ ๋ณ์๋ '์์' ๋๋ ๊ฒ์ด ์๋๋ผ '๊ณต์ '๋๋ ๊ฒ์ด๋ค. ๋ํ ์ฑ๊ธํด ํน์ฑ ์, instance ๋ผ๋ ์ด๋ฆ์ผ๋ก ์์ ํด๋์ค์์ ๋๊ฐ์ด ๋ฐ์ผ๋ฉด, ๋ถ๋ชจ ํด๋์ค์ instance ๋ฅผ hide ํ๊ฒ ๋๋ฏ๋ก, ๋ถ๋ชจ ํด๋์ค์ virtual ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์๋ค. ์๋์ ๊ฐ๋จํ ํ ์คํธ ์ฝ๋๋ฅผ ๋ฃ์ด ๋์๋ค. using System; public class Parent { public st..

Udemy ๊ด๋ จ ๊ฐ๋ ์ ๋ฆฌ ๋ฐ Dev Log ๋ฅผ ๊ธฐ๋กํ๊ณ ์์ต๋๋ค! Monobehaviour ์ ๋ํฐ์๋ Monobehaviour ๋ผ๋ ํด๋์ค๊ฐ ์๋ค. ์ฌ์์ GameObject ๋ก ์ฌ์ฉํ๋ ํด๋์ค๋ Monobehaviour ๋ฅผ ์์ํ๊ฒ ๋๋๋ฐ, Monobehaviour ์๋ ๋ค์ํ ๋ด์ฅ ๋ฉ์๋๋ค์ด ์๋ค. Awake, Start ์ฒ๋ผ ์ด๊ธฐํ์ ์ฐ์ด๋ ๋ ์๋ ์๊ณ , OnEnable ์ด๋ OnDisable ์ฒ๋ผ ํด๋น ๊ฒ์ ์ค๋ธ์ ํธ๋ฅผ ๊ป๋ค ํฌ๋ ( SetActive( ) ํจ์ ํธ์ถ ํน์ .enabled ๊ฐ ๋ณ๊ฒฝ ) ํธ์ถ๋๋ ํจ์๋ค๋ ์๋ค. ์ค์ํ ๊ฒ์, ์ด๋ค ํจ์๊ฐ ์ด๋ค ์์๋ก ํธ์ถ๋๋์ง๋ฅผ ์์์ผ ํ๋ค๋ ๊ฒ์ด๋ค! ์ด ๋งํฌ์ ์ ๋ฆฌ๋ ์ฌ์ง์ ๊ฐ์ ธ์จ ๊ฒ์ด๋ค. ํนํ ์ฃผ์ํด์ผ ํ ์ฌํญ์ผ๋ก๋, Spawner ํด๋์ค์์ ์..

Unreal unresolved external symbol ์๋ฌ ์ค๋๋ง์ ์ธ๋ฆฌ์ผ์ ์ผฐ๋๋ฐ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก, ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋๋๋ฐ.... 1. ํจ์๋ฅผ ์ ์ธ๋ง ํ๊ณ ๊ตฌํ์ ์ํจ ๋ง์ปค์์ ์๋ฌ๊ฐ ๋ฌ๋ค๋ ๊ฑด, ๋งํน ๊ณผ์ ์์ ์ ์ ํ ํจ์๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๋ ์๋ฏธ์ด๊ธฐ๋ ํ๋ค. ๋ฐ๋ผ์ ์ ์ธ๋ง ํด๋๊ณ ์ค์ ๋ก ๊ตฌํ์ ํ์ง ์์ ๋ฉ์๋๊ฐ ์๋์ง ์ฒดํฌํด๋ณด๋๋ก ํ์! ๊ทผ๋ฐ ์ด ๊ฒฝ์ฐ๋ ๊ตฌํ์ด ์๋ ํจ์๊ฐ ์๋ค๊ณ ์๋ ค์ค์ ์ฌ์ด๋ฐ... 2. ์ ์ ํ ๋ชจ๋์ ์ถ๊ฐํ์ง ์์ ์ฌ์ค ์ด ๊ฒฝ์ฐ๊ฐ ๋งค์ฐ๋งค์ฐ ๋นก์น๋ค. ์๋ํ๋ฉด ๋ช ์์ ์ผ๋ก ์์ธ์ด ๋๋ฌ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์๋ฌ๋ก๊ทธ๋ฅผ ์ ๋ณด๋ฉด ํํธ๋ฅผ ์ฐพ์ ์ ์๋๋ฐ... ์ค์ ์์๋ฅผ ๋ณด์. ์ ๊ฒฝ์ฐ์์๋, ์ ๋ณด๋ฉด LNK2019 ์๋ฌ์์ BehaviorTree ๊ด๋ จ์..

ํ๋ ์ด์ด ์บ๋ฆญํฐ ์ ๋๋ฉ์ด์ ์ค์ ํ๊ธฐ ํน์ ๋์์ ํ ๋ ํน์ ์ ๋๋ฉ์ด์ ์ด ์ฌ์๋๋๋ก ํ๋ ๊ธฐ๋ฅ์ ์ ๋๋ฉ์ดํฐ ์ปจํธ๋กค๋ฌ์ ์ ๋๋ฉ์ดํฐ๋ฅผ ํตํด ๊ฐ๋ฅํ๋ค. ๋จผ์ ์ ๋๋ฉ์ดํฐ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ์. Project ์ฐฝ์์ ์์ฑ ๊ฐ๋ฅํ๋ค. ์ ๋๋ฉ์ดํฐ ์ฐฝ์ผ๋ก ์ด๋ํด ๋ณด์. ์ด์ ์ ๋ง๋ ์ ๋๋ฉ์ด์ ํด๋ฆฝ๋ค์ด ๋จ๊ฒ ๋๋ค. ํน์ ๋์์ ๊ธฐ๋ณธ ์ํ๋ก ์ ์ํ๊ณ ์ถ์ ๋๋ Set as Layer Default State ๋ก ์ค์ ํ๋ฉด ๋๋ค. ์ฐํด๋ฆญ ํ Make Transition ์ ํตํด ์ํ๋ฅผ ์ ์ด์ํฌ ์ ์๋ค. Any State ์ํ์์ ์ ํ์ ํ ๊ฒฝ์ฐ, ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ๋ฌด์กฐ๊ฑด ํน์ ์ํ๋ก ์ ์ด๊ฐ ๋๋ค. Exit ์ ๊ฒฝ์ฐ ์ํ ๋จธ์ ์ ๋์์ด ์ข ๋ฃ๋๋ ์ถ๊ตฌ๋ฅผ ์๋ฏธํ๋ค. ์ ์ด๊ฐ ์ธ์ ๋ฐ๋๋ ์ง์ ์กฐ๊ฑด์ ์ ๋๋ฉ์ดํฐ ์ปจํธ๋กค๋ฌ์ ํ๋ผ๋ฏธํฐ๋ฅผ..

์บ๋ฆญํฐ ์ ๋๋ฉ์ด์ ํด๋ฆฝ ๋ง๋ค๊ธฐ ๋จผ์ , ์ ๋๋ฉ์ด์ ์ฐฝ์ ์ฐ๋ค. Player ์ค๋ธ์ ํธ๋ฅผ ํด๋ฆญ ํ, Create ๋ฅผ ๋๋ฅธ๋ค. ๊ทธ ํ, ์ฐ๋ฆฌ๊ฐ ๋ง๋๋ ค๋ ์ ๋๋ฉ์ด์ ์ ํ์ํ ์คํ๋ผ์ดํธ๋ค์ Animation ์ฐฝ์ผ๋ก ๋๋๊ทธ&๋๋ํ๋ค. ๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ด ํด๋นํ๋ ํคํ๋ ์ ์์ ์คํ๋ผ์ดํธ๋ค์ด ์ฌ๋ผ๊ฐ๋๋ฐ, Samples ๊ฐ์ ์กฐ์ ํด ์๋๋ฅผ ์กฐ์ ํ ์ ์๋ค. Samples ์ ๊ฐ์ 1์ด๋น ์คํ๋ผ์ดํธ๊ฐ ์ผ๋ง๋ ์์ฃผ ๊ต์ฒด๋๋์ง๋ฅผ ์๋ฏธํ๋ค. ์ด์ Die ์ ๋๋ฉ์ด์ ํด๋ฆฝ์ ๋ง๋ค์ด ๋ณด์. Run ์์ Create New Clip... ์ ๋๋ฅด๊ณ , Die.anim ์ผ๋ก ์ ์ฅํ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก Samples ๊ฐ์ ์ค์ ํ๋ค. Die ์ ๊ฒฝ์ฐ ๋ฑ ํ ๋ฒ๋ง ์ฌ์๋ ๊ฒ์ด๋ฏ๋ก ๋ฃจํ๋ฅผ ํด์ ํ๋ค. ์ด์ ๋ค์์ผ๋ก๋ FSM (์ ํ ์ํ ๋จธ์ ) ์ ์ด์ฉํด..

์ ๋ํฐ์์ ์ค๋์ค (์๋ฆฌ) ์ฌ์ํ๊ธฐ ์ ๋ํฐ์์ ํ๋ ์ด์ด๊ฐ ์๋ฆฌ๋ฅผ ๋ด๋๋ก ๋ง๋ค๊ณ ์ถ์ ๋๋, ์ค๋์ค ์์ค ์ปดํฌ๋ํธ๋ฅผ ๋ถ์ด๋ฉด ๋๋ค. ๊ทธ ํ, ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ AudioClip ๊ณผ AudioSource ๋ณ์๋ฅผ ์ ์ํ๊ณ , ํ๋ ์ด์ด ์คํฌ๋ฆฝํธ์ AudioClip ๋ณ์์ ์ ์ ํ ์ค๋์ค ์์ค ํ์ผ์ ๋๋๊ทธ&๋๋ํด์ ๋ฃ์ด์ค ๋ค์, ์ค์ ํ์ด๋ฐ์ ๋ง๊ฒ Play ๋ PlayOneShot ๋ฑ์ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ฉด ๋๋ค! ํน์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํํด๋ ๋๋ค : // ์ค๋์ค ์์ค ์ปดํฌ๋ํธ์ ๋ด์ฅ๋ ํด๋ฆฝ์ ๋ณ๊ฒฝ playerAudioPlayer.clip = deathClip; playerAudioPlayer.Play(); ์ค๋์ค ์์ค ์ปดํฌ๋ํธ๊ฐ ์ฌ์ํ๋ ์๋ฆฌ๋ ์ค๋์ค ๋ฆฌ์ค๋ ์ปดํฌ๋ํธ๊ฐ ๋ฃ๋๋ค. MainCamera ์ ๊ฒฝ์ฐ, Audio..

์คํ๋ผ์ดํธ ์๋ฅด๊ธฐ ํฝ์ ์ํธ ์ด๋ฏธ์ง๋ฅผ ์ด์ฉํด์, ๊ฐ๋จํ ์คํ๋ผ์ดํธ ์ ๋๋ฉ์ด์ ์ ๋ง๋ค์ด ๋ณด์. ์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ด ์บ๋ฆญํฐ๊ฐ ์ฃฝ๋ ์คํ๋ผ์ดํธ๊ฐ ํ๊บผ๋ฒ์ ํ ํ์ผ๋ก ๋ค์ด์๋ค๊ณ ํด ๋ณด์. Inspector ์ฐฝ์์ Sprite Mode ๋ฅผ Multiple ๋ก ๋ฐ๊พผ ๋ค์,Sprite Editor ๋ฅผ ์ด์. ์คํ๋ผ์ดํธ ์๋ํฐ ์ผ์กฑ ์๋จ์ Slice ์์ Grid By Cell Size ๋ฅผ ํด๋ฆญํ๋ค. ๊ทธ ํ ์ ์ ํ ์ฌ์ด์ฆ๋ก ์คํ๋ผ์ดํธ๋ฅผ ์๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์คํ๋ผ์ดํธ๊ฐ ์๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์๋ค! ์ค๋ฅธ์ชฝ ์๋จ์ Apply ๋ฅผ ๋๋ฅธ ํ ์ข ๋ฃํ์.

์ง์ญ ๊ณต๊ฐ๊ณผ ์ ์ญ ๊ณต๊ฐ ์์ ํ๋ธ๋ y ์ถ์ ๊ธฐ์ค์ผ๋ก ํ์ ์ ๊ฐํด์ก๋ค. ํ์ฌ ํธ๋์คํผ์ ์ขํ๊ณ๋ ์ง์ญ๊ณต๊ฐ์ผ๋ก ๋์ ์๋๋ฐ, ์ด๋ฅผ ์ ์ญ ๊ณต๊ฐ (๊ฒ์ ์๋๋ฅผ ๊ธฐ์ค) ์ผ๋ก ๋ฐ๊ฟ์ ์ฎ๊ฒจ๋ณผ ์๋ ์๋ค. ์ง์ญ ๊ณต๊ฐ์ ๋ถ๋ชจ ์ค๋ธ์ ํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ฉฐ, ์ค๋ธ์ ํธ ๊ณต๊ฐ์ ์๊ธฐ ์์ ์ ๊ธฐ์ค์ผ๋ก ํ๋ค. ์ง์ญ ๊ณต๊ฐ์ด ๋ถ๋ชจ ์ค๋ธ์ ํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ธฐ ๋๋ฌธ์, ํ๋ธ A ์ ์์ ํ๋ธ B ๋ฅผ ์ค์ ํ ํ ํ๋ธ A ๋ฅผ ํ์ ํ๋ฉด, ํ๋ธ B ์ ๊ณต๊ฐ๋ ํ์ ๋ ์ํ๋ก ํธ๋์คํผ์ด ์ด๋๊ณผ ํ์ ์ด ์ด๋ฃจ์ด์ง ๊ฒ์ด๋ค. ์ธ์คํํฐ ์ฐฝ์ ํ์๋๋ ์์น, ํ์ , ์ค์ผ์ผ์ ์ง์ญ ๊ณต๊ฐ ๊ธฐ์ค์ผ๋ก ์ธก์ ๋ ๊ฐ์ด๋ค. ํํ์ด๋๊ณผ ํ์ ์์ // ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ญ ๊ณต๊ฐ์ ๊ธฐ์ค์ผ๋ก ํํ์ด๋ transform.Translate(new Vector3(0, 1, 0) * Time...