KiTFOx
-
๋๋ ํ ๋ฆฌ์ ๊ฐ์ .uproject ์ฐํด๋ฆญ → Switch Unreal Engine version → ์ํ๋ ๋ฒ์ ์ ํ → ok ๋ฒํผ ํด๋ฆญ ํ๊ณ ์กฐ๊ธ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ํ๋ .uproject๋ฅผ ๋๋ธํด๋ฆญํด์ ๋ค์ด๊ฐ๋ค
[UE5] ์ธ๋ฆฌ์ผ ๋ฒ์ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ๋๋ ํ ๋ฆฌ์ ๊ฐ์ .uproject ์ฐํด๋ฆญ → Switch Unreal Engine version → ์ํ๋ ๋ฒ์ ์ ํ → ok ๋ฒํผ ํด๋ฆญ ํ๊ณ ์กฐ๊ธ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ํ๋ .uproject๋ฅผ ๋๋ธํด๋ฆญํด์ ๋ค์ด๊ฐ๋ค
2024.03.17 -
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles. ์๋๋ก์ด๋ ๋น๊ณต๊ฐ ํ ์คํธ๋ฅผ ์งํํ๋ ๋์ค ์ด๋ฌํ ์์ ์ฑ ๊ด๋ จํ์ฌ ์๋ฌ๊ฐ ๋ฐ๊ฒฌ๋์๋ค๊ณ ์๋ ค์ฃผ์๋ค ํด๋น ๋ด์ฉ์ ์ฐพ์๋ณด๋ Target API Level์ด 31 ์ด์์ด๋ฉด ์ด๋ฌํ ๋น์ ์ ์ข ๋ฃ๋ฅผ ๊ฒช๊ฒ ๋๋ค๊ณ ํ๋ค ๐ก์ด ํค์๋๋ก ๊ฒ์(Ctrl+F)๐ก ์ด ์ถ์ ๋ฒ์ ๋ฐ ๋ชจ๋ ์ด์ ๋ฒ์ ์์๋ ๋ค์ ์คํ ํธ๋ ์ด์ค๋ฅผ ํตํด Android S์์ ์ฑ ๋น์ ์ ์ข ๋ฃ๋ฅผ ์ผ์ผํค๋ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด and..
[Unity3D] Exception java.lang.IllegalArgumentException: Targeting S+ (version 31 and above)Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles. ์๋๋ก์ด๋ ๋น๊ณต๊ฐ ํ ์คํธ๋ฅผ ์งํํ๋ ๋์ค ์ด๋ฌํ ์์ ์ฑ ๊ด๋ จํ์ฌ ์๋ฌ๊ฐ ๋ฐ๊ฒฌ๋์๋ค๊ณ ์๋ ค์ฃผ์๋ค ํด๋น ๋ด์ฉ์ ์ฐพ์๋ณด๋ Target API Level์ด 31 ์ด์์ด๋ฉด ์ด๋ฌํ ๋น์ ์ ์ข ๋ฃ๋ฅผ ๊ฒช๊ฒ ๋๋ค๊ณ ํ๋ค ๐ก์ด ํค์๋๋ก ๊ฒ์(Ctrl+F)๐ก ์ด ์ถ์ ๋ฒ์ ๋ฐ ๋ชจ๋ ์ด์ ๋ฒ์ ์์๋ ๋ค์ ์คํ ํธ๋ ์ด์ค๋ฅผ ํตํด Android S์์ ์ฑ ๋น์ ์ ์ข ๋ฃ๋ฅผ ์ผ์ผํค๋ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด and..
2024.02.24 -
ํ์ฐธ์ ํค๋งค๋ค๊ฐ ์ ๋๋ชน ์ ์ฉ ํ ์๋ํฐ ์์์๋ ์ ์๋ํ๋๋ฐ ์๋๋ก์ด๋ ํฐ์์ ์คํํ๋๊น ๋น๋ ํ๊น ํ์์ด ์ผ์ด๋์ ๊ฒฐ๊ตญ Logcat์ ๋ค์ด๋ฐ์์ Log๋ฅผ ํ์ธํด๋ณด๊ณ ์์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์ณค๋ค ์์ ์ Logcat ๋ค์ด๋ฐ์์ ์ฐ๊ฒฐํ๊ณ ํ๋๊ฒ ๊ต์ฅํ ๋ณต์กํ์๋๋ฐ ์ด์ ๋ ์์ฒญ ์ฌ์์ก๋ค Window - Package Manager - Unity Registry - logcat ๊ฒ์ ํด์ ๋ค์ด๋ฐ์ผ๋ฉด ๋๋ค ์คํ๋ฐฉ๋ฒ์ Window - Analysis - Android Logcat์ ํด๋ฆญํ์ฌ์ ์คํ์ํค๋ฉด ๋๋ค unity admob ์ ์ฉ ํ ์คํ์ ๋ฐ๋ก ๊บผ์ง๋ ๊ฒฝ์ฐ(crash) ์ ๋๋ชน ํ๋ฌ๊ทธ์ธ ์ ์ฉ ํ ๋ฐ๋ก ๊บผ์ง๋ ๊ฒฝ์ฐ logcat ์ผ๋ก ์๋ฌ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ค๊ฐ ์๋์ ๊ฐ์ ๋ฉ์์ง๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์์๋ค. ๋ถ๋ช ๋ง๋ ๊ด๊ณ id ์ ..
[Unity3D] Admob ์ ์ฉ ํ ๋น๋ ํ๊น, ์์ธ ํด๊ฒฐ ๋ฐฉ๋ฒํ์ฐธ์ ํค๋งค๋ค๊ฐ ์ ๋๋ชน ์ ์ฉ ํ ์๋ํฐ ์์์๋ ์ ์๋ํ๋๋ฐ ์๋๋ก์ด๋ ํฐ์์ ์คํํ๋๊น ๋น๋ ํ๊น ํ์์ด ์ผ์ด๋์ ๊ฒฐ๊ตญ Logcat์ ๋ค์ด๋ฐ์์ Log๋ฅผ ํ์ธํด๋ณด๊ณ ์์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์ณค๋ค ์์ ์ Logcat ๋ค์ด๋ฐ์์ ์ฐ๊ฒฐํ๊ณ ํ๋๊ฒ ๊ต์ฅํ ๋ณต์กํ์๋๋ฐ ์ด์ ๋ ์์ฒญ ์ฌ์์ก๋ค Window - Package Manager - Unity Registry - logcat ๊ฒ์ ํด์ ๋ค์ด๋ฐ์ผ๋ฉด ๋๋ค ์คํ๋ฐฉ๋ฒ์ Window - Analysis - Android Logcat์ ํด๋ฆญํ์ฌ์ ์คํ์ํค๋ฉด ๋๋ค unity admob ์ ์ฉ ํ ์คํ์ ๋ฐ๋ก ๊บผ์ง๋ ๊ฒฝ์ฐ(crash) ์ ๋๋ชน ํ๋ฌ๊ทธ์ธ ์ ์ฉ ํ ๋ฐ๋ก ๊บผ์ง๋ ๊ฒฝ์ฐ logcat ์ผ๋ก ์๋ฌ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ค๊ฐ ์๋์ ๊ฐ์ ๋ฉ์์ง๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์์๋ค. ๋ถ๋ช ๋ง๋ ๊ด๊ณ id ์ ..
2024.02.20 -
๋จผ์ Window - TextMeshPro - Font Asset Creator ๋ฅผ ํด๋ฆญํ๋ค. Custom Size 30 Padding 4 Atlas Resolution 4096 4096 Character Set 'Custom Range' Render Mode SDFAA ๐กUnicode ๋ฒ์๐ก ์์ด ๋ฒ์ 32-126 ํ๊ธ ๋ฒ์ 44032-55203, 4352-4607, 12593-12643 ํน์๋ฌธ์ 8200-9900
[Unity3D] TextMeshPro ํฐํธ ์์ ์ ์ ๋ฐ ํ๊ธ,์์ด Unicode ๋ฒ์๋จผ์ Window - TextMeshPro - Font Asset Creator ๋ฅผ ํด๋ฆญํ๋ค. Custom Size 30 Padding 4 Atlas Resolution 4096 4096 Character Set 'Custom Range' Render Mode SDFAA ๐กUnicode ๋ฒ์๐ก ์์ด ๋ฒ์ 32-126 ํ๊ธ ๋ฒ์ 44032-55203, 4352-4607, 12593-12643 ํน์๋ฌธ์ 8200-9900
2024.02.19 -
1. ShadowMap ๋น์ ๊ด์ ์์ ์ฅ๋ฉด์ ๋ ๋๋งํ๊ณ , ๋น์ ๊ด์ ์์ ๋ณด์ด๋ ๋ชจ๋ ๊ฒ์ ํํ๊ฒ ํ์ํ๊ณ ๋ณผ์ ์๋ ๊ฒ๋ค์ ๊ทธ๋ฆผ์๋ก ํ์ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋ ธ๋์ ๋ถ๋ถ๋ค์ด ๋น์ ์์ผ์์ ๋ณด์ด๋ ๋ถ๋ถ๋ค์ด๊ณ ๊ฒ์ ์ ๋ถ๋ถ๋ค์ด ๋น์ ์์ผ์์ ๋ณด์ด์ง ์๋ ๋ถ๋ถ์ด๋ค. ์์ฒ๊ฐ์ ๋น ๋ฐฉํฅ Ray๋ฅผ ํตํด ๊ณ์ฐํ๋ ๊ฒ์ ์ค์๊ฐ ๋ ๋๋ง์์ ๊ต์ฅํ ๋นํจ์จ ์ ์ด๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ฅผ ๋์์ผ๋ก ์๊ฐํ ๊ฒ์ด ๊น์ด ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. Shadow Map์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ ํจ์ค๋ก ๊ตฌ์ฑํ์ฌ ๊ทธ๋ฆฌ๋ ๊ฒ์ด๋ค. ๋น์ ๊ด์ ์์ ๊น์ด ๋ฒํผ๋ฅผ ๊ณ์ฐํ์ฌ ๊ฐ์ฅ ๊ฐ๊น์ด ๊น์ด ๊ฐ์ ์ํ์ ์ถ์ถ ํ๋ค. (๊น์ด ๋งต or ์๋์ฐ ๋งต) ์ถ๊ฐ ํ ์คํธ๋ฅผ ํตํด ํ์ฌ fragment๊ฐ ๊ทธ๋ฆผ์๋ก ํ์๋ ์ง ์๋์ง ํ๋จํ์ฌ ๊ทธ๋ฆฐ๋ค. ๋จผ..
[NewRo] Shadow ์์คํ (23.05.04)1. ShadowMap ๋น์ ๊ด์ ์์ ์ฅ๋ฉด์ ๋ ๋๋งํ๊ณ , ๋น์ ๊ด์ ์์ ๋ณด์ด๋ ๋ชจ๋ ๊ฒ์ ํํ๊ฒ ํ์ํ๊ณ ๋ณผ์ ์๋ ๊ฒ๋ค์ ๊ทธ๋ฆผ์๋ก ํ์ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋ ธ๋์ ๋ถ๋ถ๋ค์ด ๋น์ ์์ผ์์ ๋ณด์ด๋ ๋ถ๋ถ๋ค์ด๊ณ ๊ฒ์ ์ ๋ถ๋ถ๋ค์ด ๋น์ ์์ผ์์ ๋ณด์ด์ง ์๋ ๋ถ๋ถ์ด๋ค. ์์ฒ๊ฐ์ ๋น ๋ฐฉํฅ Ray๋ฅผ ํตํด ๊ณ์ฐํ๋ ๊ฒ์ ์ค์๊ฐ ๋ ๋๋ง์์ ๊ต์ฅํ ๋นํจ์จ ์ ์ด๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ฅผ ๋์์ผ๋ก ์๊ฐํ ๊ฒ์ด ๊น์ด ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. Shadow Map์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ ํจ์ค๋ก ๊ตฌ์ฑํ์ฌ ๊ทธ๋ฆฌ๋ ๊ฒ์ด๋ค. ๋น์ ๊ด์ ์์ ๊น์ด ๋ฒํผ๋ฅผ ๊ณ์ฐํ์ฌ ๊ฐ์ฅ ๊ฐ๊น์ด ๊น์ด ๊ฐ์ ์ํ์ ์ถ์ถ ํ๋ค. (๊น์ด ๋งต or ์๋์ฐ ๋งต) ์ถ๊ฐ ํ ์คํธ๋ฅผ ํตํด ํ์ฌ fragment๊ฐ ๊ทธ๋ฆผ์๋ก ํ์๋ ์ง ์๋์ง ํ๋จํ์ฌ ๊ทธ๋ฆฐ๋ค. ๋จผ..
2024.01.31 -
1. ๋ฌธ์ bandage : {๊ธฐ์ ์ ์์ ์๊ฐ, 1์ด๋น ํ๋ณต๋,์ถ๊ฐ ํ๋ณต๋} health : ์ต๋ ์ฒด๋ ฅ attacks : {๋ชฌ์คํฐ์ ๊ณต๊ฒฉ ์๊ฐ, ํผํด๋} Return : ๋ชจ๋ ๊ณต๊ฒฉ์ด ๋๋ ์งํ ๋จ์ ์ฒด๋ ฅ, ๋ง์ฝ ์ฒด๋ ฅ์ด 0 ์ดํ๋ฉด -1 ์ถ๋ ฅ 2. ์ฝ๋ #include #include #include using namespace std; /* Return - ๋ชจ๋ ๊ณต๊ฒฉ์ด ๋๋ ์งํ ๋จ์ ์ฒด๋ ฅ - ๋ง์ฝ ์ฒด๋ ฅ์ด 0 ์ดํ๊ฐ ๋์ด ์ฃฝ์ผ๋ฉด -1 Rule - ์ถ๊ฐ ํ๋ณต๋ : bandage - ์ต๋ ์ฒด๋ ฅ : health - ๋ชฌ์คํฐ์ ๊ณต๊ฒฉ ์๊ฐ๊ณผ ํผํด๋ : attacks - t ์ด ๋์ 1์ด๋ง๋ค x ๋งํผ์ ์ฒด๋ ฅ ํ๋ณต - t ์ด ์ฐ์์ผ๋ก ์ฑ๊ณตํ๋ฉด y๋งํผ ์ฒด๋ ฅ์ ์ถ๊ฐ๋ก ํ๋ณต */ void heal(int& healStat,..
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ถ๋ ๊ฐ๊ธฐ1. ๋ฌธ์ bandage : {๊ธฐ์ ์ ์์ ์๊ฐ, 1์ด๋น ํ๋ณต๋,์ถ๊ฐ ํ๋ณต๋} health : ์ต๋ ์ฒด๋ ฅ attacks : {๋ชฌ์คํฐ์ ๊ณต๊ฒฉ ์๊ฐ, ํผํด๋} Return : ๋ชจ๋ ๊ณต๊ฒฉ์ด ๋๋ ์งํ ๋จ์ ์ฒด๋ ฅ, ๋ง์ฝ ์ฒด๋ ฅ์ด 0 ์ดํ๋ฉด -1 ์ถ๋ ฅ 2. ์ฝ๋ #include #include #include using namespace std; /* Return - ๋ชจ๋ ๊ณต๊ฒฉ์ด ๋๋ ์งํ ๋จ์ ์ฒด๋ ฅ - ๋ง์ฝ ์ฒด๋ ฅ์ด 0 ์ดํ๊ฐ ๋์ด ์ฃฝ์ผ๋ฉด -1 Rule - ์ถ๊ฐ ํ๋ณต๋ : bandage - ์ต๋ ์ฒด๋ ฅ : health - ๋ชฌ์คํฐ์ ๊ณต๊ฒฉ ์๊ฐ๊ณผ ํผํด๋ : attacks - t ์ด ๋์ 1์ด๋ง๋ค x ๋งํผ์ ์ฒด๋ ฅ ํ๋ณต - t ์ด ์ฐ์์ผ๋ก ์ฑ๊ณตํ๋ฉด y๋งํผ ์ฒด๋ ฅ์ ์ถ๊ฐ๋ก ํ๋ณต */ void heal(int& healStat,..
2024.01.16 -
์ธ๋ฆฌ์ผ ๊ณต๋ถ๋ฅผ ์ฒ์ ํ๋ค๋ณด๋ ์ธํ๋ฐ์์ ๊ฐ์๋ฅผ ์ฐพ์๋ดค์์๋ 5.1 -> 5.2๋ก ์์ง์ ๋ณ๊ฒฝํ๊ณ ๋๋ ๊ฐ์๊ธฐ ๊ฐ์ ์ฝ๋๋ผ ํด๋ ๋ฒ๊ทธ๊ฐ ๋จ๋๋ผ.. ๋๋ฒ๊ทธ ํด์ ํ๊ณ ํ๊ณ ์ฐพ์๋ณด๋ GetWorld() ๊ฐ null์ ๋ฐํํ๋ ๋ฌธ์ ์๋๋ฐ ๋ญ๊ฐ ๋ฌธ์ ์ธ์ง ๋ชฐ๋ผ์ ๋ฐ์์ค๋๊ฒ ๋ฌธ์ ์ธ๊ฐ.. ๋ด๊ฐ ์ฐพ์๋ณธ๊ฒ ๋ง๋..ํ๊ณ ์์๋ค. ํ์ง๋ง ๊ทธ ์์ค์ ๊ต์ฅํ ๋์์ ์ฃผ์ .. ์ค๊ตญ ์ฌ์ดํธ๋ถ ๊ฐ์ฌํฉ๋๋ค.. https://blog.csdn.net/qq_31930499/article/details/88365717 UE4 GEngine->GetWorld() == NULL-CSDNๅๅฎข ๅจDedicated Serverๆจกๅผไธ๏ผload็ฉMapๅๆๆณๅจๆ็C++ไปฃ็ ไธญๆณ่ทๅGameInstance๏ผ้่ฟ GEngine->GetWorld()->GetGame..
[UE5] GetWorld() Null ์๋ฌ์ธ๋ฆฌ์ผ ๊ณต๋ถ๋ฅผ ์ฒ์ ํ๋ค๋ณด๋ ์ธํ๋ฐ์์ ๊ฐ์๋ฅผ ์ฐพ์๋ดค์์๋ 5.1 -> 5.2๋ก ์์ง์ ๋ณ๊ฒฝํ๊ณ ๋๋ ๊ฐ์๊ธฐ ๊ฐ์ ์ฝ๋๋ผ ํด๋ ๋ฒ๊ทธ๊ฐ ๋จ๋๋ผ.. ๋๋ฒ๊ทธ ํด์ ํ๊ณ ํ๊ณ ์ฐพ์๋ณด๋ GetWorld() ๊ฐ null์ ๋ฐํํ๋ ๋ฌธ์ ์๋๋ฐ ๋ญ๊ฐ ๋ฌธ์ ์ธ์ง ๋ชฐ๋ผ์ ๋ฐ์์ค๋๊ฒ ๋ฌธ์ ์ธ๊ฐ.. ๋ด๊ฐ ์ฐพ์๋ณธ๊ฒ ๋ง๋..ํ๊ณ ์์๋ค. ํ์ง๋ง ๊ทธ ์์ค์ ๊ต์ฅํ ๋์์ ์ฃผ์ .. ์ค๊ตญ ์ฌ์ดํธ๋ถ ๊ฐ์ฌํฉ๋๋ค.. https://blog.csdn.net/qq_31930499/article/details/88365717 UE4 GEngine->GetWorld() == NULL-CSDNๅๅฎข ๅจDedicated Serverๆจกๅผไธ๏ผload็ฉMapๅๆๆณๅจๆ็C++ไปฃ็ ไธญๆณ่ทๅGameInstance๏ผ้่ฟ GEngine->GetWorld()->GetGame..
2024.01.11 -
์๋ฌธ: https://benui.ca/unreal/ui-cpp-basics/ Unreal์ ์ํ ๋ง์ UI ํํ ๋ฆฌ์ผ์ Blueprint์ ์ด์ ์ ๋ง์ถ๊ณ ์์ต๋๋ค. ์ด๊ฒ์ ๋ ๋์ ๋งค๋ ฅ์ ๊ฐ์ง ์ ์์ง๋ง ์ ๋ฌธ๊ฐ ์์ค์ UI๋ฅผ ๋ง๋ค๋ ค๋ฉด C++์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ ์ฐ๋ฆฌ๋ C++์ ์ฌ์ฉํด์ผ ํ๋๊ฐ? ์ฐ์ , ๋ถ๋ช ํ ์ฐ๋ฆฌ๋ Blueprint๋ก ๋ชจ๋ ๊ฒ์ ํ ์ ์๋๋ฐ, ์ ์ฐ๋ฆฌ๋ C++๋ก UI๋ฅผ ๋ง๋ค์ด์ผ ํ๋์? ๋ผ๋ ์ง๋ฌธ์ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ง์์๋ ์์ง๋ง ์๋์๋ ์์ต๋๋ค. Blueprint๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ๊ฒ์์ UI๋ฅผ ์์ฑํ ์ ์์ง๋ง ๊ทธ ๊ณผ์ ์์ ๋ช ๊ฐ์ง ์ฃผ์ ๋ฌธ์ ์ ๋ถ๋ชํ ๊ฒ์ ๋๋ค. Blueprint ๊ธฐ๋ฐ์ ๋ํ UI์์ ์ฑ๋ฅ ๋ฌธ์ ์ ๋ถ๋ชํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์์ 1ํ์ฉ Blueprint๋ ..
[๋ฒ์ญ] Unreal์์ C++ UI๋ฅผ ์ํ ์๊ฐ์๋ฌธ: https://benui.ca/unreal/ui-cpp-basics/ Unreal์ ์ํ ๋ง์ UI ํํ ๋ฆฌ์ผ์ Blueprint์ ์ด์ ์ ๋ง์ถ๊ณ ์์ต๋๋ค. ์ด๊ฒ์ ๋ ๋์ ๋งค๋ ฅ์ ๊ฐ์ง ์ ์์ง๋ง ์ ๋ฌธ๊ฐ ์์ค์ UI๋ฅผ ๋ง๋ค๋ ค๋ฉด C++์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ ์ฐ๋ฆฌ๋ C++์ ์ฌ์ฉํด์ผ ํ๋๊ฐ? ์ฐ์ , ๋ถ๋ช ํ ์ฐ๋ฆฌ๋ Blueprint๋ก ๋ชจ๋ ๊ฒ์ ํ ์ ์๋๋ฐ, ์ ์ฐ๋ฆฌ๋ C++๋ก UI๋ฅผ ๋ง๋ค์ด์ผ ํ๋์? ๋ผ๋ ์ง๋ฌธ์ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ง์์๋ ์์ง๋ง ์๋์๋ ์์ต๋๋ค. Blueprint๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ๊ฒ์์ UI๋ฅผ ์์ฑํ ์ ์์ง๋ง ๊ทธ ๊ณผ์ ์์ ๋ช ๊ฐ์ง ์ฃผ์ ๋ฌธ์ ์ ๋ถ๋ชํ ๊ฒ์ ๋๋ค. Blueprint ๊ธฐ๋ฐ์ ๋ํ UI์์ ์ฑ๋ฅ ๋ฌธ์ ์ ๋ถ๋ชํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์์ 1ํ์ฉ Blueprint๋ ..
2024.01.07 -
1. ๋ฌธ์ ์ ์ฒด ํ์์ ์ n, ์ฒด์ก๋ณต์ ๋๋๋นํ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด lost, ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด reserve๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฒด์ก์์ ์ ๋ค์ ์ ์๋ ํ์์ ์ต๋๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include using namespace std; //n : ์ ์ฒด ํ์์ ์ //lost : ์ฒด์ก๋ณต์ ๋๋๋นํ ํ์๋ค์ ๋ฒํธ ๋ฐฐ์ด //reserve : ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์๋ค์ ๋ฒํธ ๋ฐฐ์ด int solution(int n, vector lost, vector reserve) { int answer = 0; //์ ๋ค ์๋ฅผ ๋น๊ตํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ ๋ ฌ ๊ณผ์ ์ด ๊ผญ ํ์ํจ sort(los..
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฒด์ก๋ณต1. ๋ฌธ์ ์ ์ฒด ํ์์ ์ n, ์ฒด์ก๋ณต์ ๋๋๋นํ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด lost, ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด reserve๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฒด์ก์์ ์ ๋ค์ ์ ์๋ ํ์์ ์ต๋๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include using namespace std; //n : ์ ์ฒด ํ์์ ์ //lost : ์ฒด์ก๋ณต์ ๋๋๋นํ ํ์๋ค์ ๋ฒํธ ๋ฐฐ์ด //reserve : ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์๋ค์ ๋ฒํธ ๋ฐฐ์ด int solution(int n, vector lost, vector reserve) { int answer = 0; //์ ๋ค ์๋ฅผ ๋น๊ตํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ ๋ ฌ ๊ณผ์ ์ด ๊ผญ ํ์ํจ sort(los..
2023.11.15 -
1. ๋ฌธ์ ์ฌ์ ์ ์ํ๋ฒณ ๋ชจ์ 'A', 'E', 'I', 'O', 'U'๋ง์ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์๋, ๊ธธ์ด 5 ์ดํ์ ๋ชจ๋ ๋จ์ด๊ฐ ์๋ก๋์ด ์์ต๋๋ค. ์ฌ์ ์์ ์ฒซ ๋ฒ์งธ ๋จ์ด๋ "A"์ด๊ณ , ๊ทธ๋ค์์ "AA"์ด๋ฉฐ, ๋ง์ง๋ง ๋จ์ด๋ "UUUUU"์ ๋๋ค. ๋จ์ด ํ๋ word๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๋จ์ด๊ฐ ์ฌ์ ์์ ๋ช ๋ฒ์งธ ๋จ์ด์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include using namespace std; vector nums; string aeiou[5]={"A","E","I","O","U"}; void repeatPermutation(string s, int maxLength) { if(maxLength==s.size()) //..
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์์ฌ์ C++1. ๋ฌธ์ ์ฌ์ ์ ์ํ๋ฒณ ๋ชจ์ 'A', 'E', 'I', 'O', 'U'๋ง์ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์๋, ๊ธธ์ด 5 ์ดํ์ ๋ชจ๋ ๋จ์ด๊ฐ ์๋ก๋์ด ์์ต๋๋ค. ์ฌ์ ์์ ์ฒซ ๋ฒ์งธ ๋จ์ด๋ "A"์ด๊ณ , ๊ทธ๋ค์์ "AA"์ด๋ฉฐ, ๋ง์ง๋ง ๋จ์ด๋ "UUUUU"์ ๋๋ค. ๋จ์ด ํ๋ word๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๋จ์ด๊ฐ ์ฌ์ ์์ ๋ช ๋ฒ์งธ ๋จ์ด์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include using namespace std; vector nums; string aeiou[5]={"A","E","I","O","U"}; void repeatPermutation(string s, int maxLength) { if(maxLength==s.size()) //..
2023.11.07 -
1. ๋ฌธ์ ์ถ์ฒ:https://school.programmers.co.kr/learn/courses/30/lessons/86971 n๊ฐ์ ์ก์ ํ์ด ์ ์ ์ ํตํด ํ๋์ ํธ๋ฆฌ ํํ๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ๋น์ ์ ์ด ์ ์ ๋ค ์ค ํ๋๋ฅผ ๋์ด์ ํ์ฌ์ ์ ๋ ฅ๋ง ๋คํธ์ํฌ๋ฅผ 2๊ฐ๋ก ๋ถํ ํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋, ๋ ์ ๋ ฅ๋ง์ด ๊ฐ๊ฒ ๋๋ ์ก์ ํ์ ๊ฐ์๋ฅผ ์ต๋ํ ๋น์ทํ๊ฒ ๋ง์ถ๊ณ ์ ํฉ๋๋ค. ์ก์ ํ์ ๊ฐ์ n, ๊ทธ๋ฆฌ๊ณ ์ ์ ์ ๋ณด wires๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ ์ ๋ค ์ค ํ๋๋ฅผ ๋์ด์ ์ก์ ํ ๊ฐ์๊ฐ ๊ฐ๋ฅํ ๋น์ทํ๋๋ก ๋ ์ ๋ ฅ๋ง์ผ๋ก ๋๋์์ ๋, ๋ ์ ๋ ฅ๋ง์ด ๊ฐ์ง๊ณ ์๋ ์ก์ ํ ๊ฐ์์ ์ฐจ์ด(์ ๋๊ฐ)๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include using namespace s..
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ C++1. ๋ฌธ์ ์ถ์ฒ:https://school.programmers.co.kr/learn/courses/30/lessons/86971 n๊ฐ์ ์ก์ ํ์ด ์ ์ ์ ํตํด ํ๋์ ํธ๋ฆฌ ํํ๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ๋น์ ์ ์ด ์ ์ ๋ค ์ค ํ๋๋ฅผ ๋์ด์ ํ์ฌ์ ์ ๋ ฅ๋ง ๋คํธ์ํฌ๋ฅผ 2๊ฐ๋ก ๋ถํ ํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋, ๋ ์ ๋ ฅ๋ง์ด ๊ฐ๊ฒ ๋๋ ์ก์ ํ์ ๊ฐ์๋ฅผ ์ต๋ํ ๋น์ทํ๊ฒ ๋ง์ถ๊ณ ์ ํฉ๋๋ค. ์ก์ ํ์ ๊ฐ์ n, ๊ทธ๋ฆฌ๊ณ ์ ์ ์ ๋ณด wires๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ ์ ๋ค ์ค ํ๋๋ฅผ ๋์ด์ ์ก์ ํ ๊ฐ์๊ฐ ๊ฐ๋ฅํ ๋น์ทํ๋๋ก ๋ ์ ๋ ฅ๋ง์ผ๋ก ๋๋์์ ๋, ๋ ์ ๋ ฅ๋ง์ด ๊ฐ์ง๊ณ ์๋ ์ก์ ํ ๊ฐ์์ ์ฐจ์ด(์ ๋๊ฐ)๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include using namespace s..
2023.10.30 -
1. ๋ฌธ์ ์ถ์ฒ : https://school.programmers.co.kr/learn/courses/30/lessons/87946 ์ ์ ์ ํ์ฌ ํผ๋ก๋ k์ ๊ฐ ๋์ ๋ณ "์ต์ ํ์ ํผ๋ก๋", "์๋ชจ ํผ๋ก๋"๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด dungeons ๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ ์ ๊ฐ ํํํ ์ ์๋ ์ต๋ ๋์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include using namespace std; //์์ด next_permutation์ ํ์ฉํ์ฌ์ ํ์ด //๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๊ณ์ฐํ ๋ค์ ์ฐจ๋ก๋ก ๊ฒ์ฆํจ int solution(int k, vector dungeons) { int answer = 0; vector v; // 0๋ถํฐ ๋์ ์ฌ์ด์ฆ๊น์ง ..
[ํ๋ก๊ทธ๋๋จธ์ค] ํผ๋ก๋ C++1. ๋ฌธ์ ์ถ์ฒ : https://school.programmers.co.kr/learn/courses/30/lessons/87946 ์ ์ ์ ํ์ฌ ํผ๋ก๋ k์ ๊ฐ ๋์ ๋ณ "์ต์ ํ์ ํผ๋ก๋", "์๋ชจ ํผ๋ก๋"๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด dungeons ๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ ์ ๊ฐ ํํํ ์ ์๋ ์ต๋ ๋์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include using namespace std; //์์ด next_permutation์ ํ์ฉํ์ฌ์ ํ์ด //๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๊ณ์ฐํ ๋ค์ ์ฐจ๋ก๋ก ๊ฒ์ฆํจ int solution(int k, vector dungeons) { int answer = 0; vector v; // 0๋ถํฐ ๋์ ์ฌ์ด์ฆ๊น์ง ..
2023.10.26 -
1. ๋ฌธ์ ์๋ณธ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/42842 Leo๊ฐ ๋ณธ ์นดํซ์์ ๊ฐ์ ๊ฒฉ์์ ์ brown, ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์นดํซ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๊ฐ์ ๊ฒฉ์์ ์ brown์ 8 ์ด์ 5,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๋ 1 ์ด์ 2,000,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ์นดํซ์ ๊ฐ๋ก ๊ธธ์ด๋ ์ธ๋ก ๊ธธ์ด์ ๊ฐ๊ฑฐ๋, ์ธ๋ก ๊ธธ์ด๋ณด๋ค ๊น๋๋ค. 2. ์ฝ๋ #include #include using namespace std; vector solution(int brown, int yellow)..
[ํ๋ก๊ทธ๋๋จธ์ค] ์นดํซ1. ๋ฌธ์ ์๋ณธ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/42842 Leo๊ฐ ๋ณธ ์นดํซ์์ ๊ฐ์ ๊ฒฉ์์ ์ brown, ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์นดํซ์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๊ฐ์ ๊ฒฉ์์ ์ brown์ 8 ์ด์ 5,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ๋ ธ๋์ ๊ฒฉ์์ ์ yellow๋ 1 ์ด์ 2,000,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ์นดํซ์ ๊ฐ๋ก ๊ธธ์ด๋ ์ธ๋ก ๊ธธ์ด์ ๊ฐ๊ฑฐ๋, ์ธ๋ก ๊ธธ์ด๋ณด๋ค ๊น๋๋ค. 2. ์ฝ๋ #include #include using namespace std; vector solution(int brown, int yellow)..
2023.10.26 -
1. ๋ฌธ์ ํ์๋ฆฌ ์ซ์๊ฐ ์ ํ ์ข ์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์์ต๋๋ค. ํฉ์ด์ง ์ข ์ด ์กฐ๊ฐ์ ๋ถ์ฌ ์์๋ฅผ ๋ช ๊ฐ ๋ง๋ค ์ ์๋์ง ์์๋ด๋ ค ํฉ๋๋ค. ๊ฐ ์ข ์ด ์กฐ๊ฐ์ ์ ํ ์ซ์๊ฐ ์ ํ ๋ฌธ์์ด numbers๊ฐ ์ฃผ์ด์ก์ ๋, ์ข ์ด ์กฐ๊ฐ์ผ๋ก ๋ง๋ค ์ ์๋ ์์๊ฐ ๋ช ๊ฐ์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include #include using namespace std; int solution(string numbers) { int answer=0; //next_permutation์ ์ฌ์ฉ //์์ด ๊ณ์ฐ์์ 1์๋ฆฌ,2์๋ฆฌ ~ n์๋ฆฌ๋ง ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ๊ตฌํ๊ธฐ sort(numbers.begin(),numbers.end()); vector nums; st..
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ฐพ๊ธฐ (C++)1. ๋ฌธ์ ํ์๋ฆฌ ์ซ์๊ฐ ์ ํ ์ข ์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์์ต๋๋ค. ํฉ์ด์ง ์ข ์ด ์กฐ๊ฐ์ ๋ถ์ฌ ์์๋ฅผ ๋ช ๊ฐ ๋ง๋ค ์ ์๋์ง ์์๋ด๋ ค ํฉ๋๋ค. ๊ฐ ์ข ์ด ์กฐ๊ฐ์ ์ ํ ์ซ์๊ฐ ์ ํ ๋ฌธ์์ด numbers๊ฐ ์ฃผ์ด์ก์ ๋, ์ข ์ด ์กฐ๊ฐ์ผ๋ก ๋ง๋ค ์ ์๋ ์์๊ฐ ๋ช ๊ฐ์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2. ์ฝ๋ #include #include #include #include using namespace std; int solution(string numbers) { int answer=0; //next_permutation์ ์ฌ์ฉ //์์ด ๊ณ์ฐ์์ 1์๋ฆฌ,2์๋ฆฌ ~ n์๋ฆฌ๋ง ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ๊ตฌํ๊ธฐ sort(numbers.begin(),numbers.end()); vector nums; st..
2023.10.23 -
ํ๋ฅผ ๊ฐ์ฅ ์ฝ๊ฒ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ์ค์ ์์ ํ๋ ์ธ์ธํ๋ฅผ ์๊ฐํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด์ ์ ๋ช ๊ฐ์์ ์ธ์ธํ๊ฐ ์ด๋ฆฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์ ๋๋ ๊ฐ์์ ์ธ์ธํ์ ๋น์ฒจ์ด ๋์๊ณ ํ์ฅ์์ 3๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค. ๋ค๋ฅธ ํฌ๋ค์ 1~20๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค๊ณ ๊ฐ์ ํ์์ ๋, ์งํ์๊ฐ 1๋ฒ๋ถํฐ ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค๋ผ๊ณ ๋ถ๋ฅผ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ 2~20๋ฒ์ ์ฌ๋๋ค์๊ฒ ์ฐจ๋ก๋ก ์ค์ ์๋ผ๊ณ ํ ๊ฒ์ด๊ณ ๊ทธ ๋ค์ ์ฐจ๋ก๋ 2๋ฒ๋ถํฐ ์์๋๋ก ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค์ ์ดํํ ๊ฒ์ด๋ค. ์ด๊ฒ ๋ฐ๋ก ํ์ ๊ฐ๋ ์ด๋ค! FIFO(First In First Out) ์ ์ ์ ์ถ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๋ ๋จผ์ ๋น ์ ธ๋์จ๋ค. ์ฆ 2๋ฒ์ด ๋งจ ์์ ์๋๋ฐ 3๋ฒ์ด ๋จผ์ ๋น ์ ธ๋๊ฐ ์ ์๋ค๋ ๊ฒ์ด๋ค. ํ๊ฐ ์ฐ์ด๋ ๊ตฌ์กฐ๋ ์ด๋์ ์์ ๊น? ๋ฏธ๋ฃจ์ด ์ง์ํด๋ณด๊ฑด๋ฐ ๋ช ์ ๋ ๋ด..
3. ํํ๋ฅผ ๊ฐ์ฅ ์ฝ๊ฒ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ์ค์ ์์ ํ๋ ์ธ์ธํ๋ฅผ ์๊ฐํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด์ ์ ๋ช ๊ฐ์์ ์ธ์ธํ๊ฐ ์ด๋ฆฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์ ๋๋ ๊ฐ์์ ์ธ์ธํ์ ๋น์ฒจ์ด ๋์๊ณ ํ์ฅ์์ 3๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค. ๋ค๋ฅธ ํฌ๋ค์ 1~20๋ฒ์ ๋ฒํธ๋ฅผ ๋ถ์ฌ๋ฐ์๋ค๊ณ ๊ฐ์ ํ์์ ๋, ์งํ์๊ฐ 1๋ฒ๋ถํฐ ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค๋ผ๊ณ ๋ถ๋ฅผ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ 2~20๋ฒ์ ์ฌ๋๋ค์๊ฒ ์ฐจ๋ก๋ก ์ค์ ์๋ผ๊ณ ํ ๊ฒ์ด๊ณ ๊ทธ ๋ค์ ์ฐจ๋ก๋ 2๋ฒ๋ถํฐ ์์๋๋ก ์ธ์ธ์ ๋ฐ์ผ๋ฌ ์ค์ ์ดํํ ๊ฒ์ด๋ค. ์ด๊ฒ ๋ฐ๋ก ํ์ ๊ฐ๋ ์ด๋ค! FIFO(First In First Out) ์ ์ ์ ์ถ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๋ ๋จผ์ ๋น ์ ธ๋์จ๋ค. ์ฆ 2๋ฒ์ด ๋งจ ์์ ์๋๋ฐ 3๋ฒ์ด ๋จผ์ ๋น ์ ธ๋๊ฐ ์ ์๋ค๋ ๊ฒ์ด๋ค. ํ๊ฐ ์ฐ์ด๋ ๊ตฌ์กฐ๋ ์ด๋์ ์์ ๊น? ๋ฏธ๋ฃจ์ด ์ง์ํด๋ณด๊ฑด๋ฐ ๋ช ์ ๋ ๋ด..
2023.09.12 -
์คํ์ ๊ต์ฅํ ๋ง์ด ์ฐ์ด๋ ๊ฐ๋ ์ด๋ค. ’๊ฐ์ฅ ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋์ค๋(FILO, First In Last Out) ๊ตฌ์กฐ‘ ์ด๋ค. ๋ฐฐ์ด๊ณผ ๋งํฌ๋ ๋ฆฌ์คํธ ๋๋ค ๊ตฌํ ๊ฐ๋ฅํ๋ฐ ์ด์ ํฌ์คํ ์์ ์ธ๊ธํ๋ฏ์ด ํ์์ ๋น ๋ฅธ ๋ฐฐ์ด, ์ฉ๋์ ์ ํ์ด ์์ ๋ก์ด ๋งํฌ๋ ๋ฆฌ์คํธ ์ด๊ธฐ์ ๋ฐ์ดํฐ์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฐ์ผ ๋ฏํ๋ค. ์คํ์ ๋ง๊ทธ๋๋ก ์๋ค ์ธ๋ฐ, ๊ฐ์ฅ ์๋ฟ๋ ๊ฒ์ ํ๋ง๊ธ์ค ํต์ด ์๋๊น ์ถ๋ค..! ๋ฌผ๋ก ํ๋ง๊ธ์ค๋ฅผ ๋ค์ง์ผ๋ฉด ์ฐ๋ฅด๋ฅด ์์์ ธ๋์จ๋ค๋ง์.. ํ๋ง๊ธ์ค๋ ์์์๋ถํฐ ๊บผ๋ด์ ์ ์ผ ๋ฐ์๊น์ง ๋จน์ ์ ์๋ ๊ณผ์์ด๋ค. ๋ฐ๋๋ก ํ๋ง๊ธ์ค ํต์ ๊ณผ์๋ฅผ ๋ค์ ๋ฃ๋๋ค๋ฉด ๋งจ ๋ง์ง๋ง์ ๋ฃ์ ๊ณผ์๋ถํฐ ๊บผ๋ผ ์ ์์ ๊ฒ์ด๋ค. ์คํ์ ์ฌ์ฉํ์ฌ์ ์ด๋ค ๊ฒ์ ๋ง๋ค๋ฉด ์ ์ฉํ ๊น ํ๊ณ ์๊ฐํ์ฌ๋ณด์๋๋ฐ ์๋ฌด๋๋ Undo, Redo ์๋..
2. ์คํ์คํ์ ๊ต์ฅํ ๋ง์ด ์ฐ์ด๋ ๊ฐ๋ ์ด๋ค. ’๊ฐ์ฅ ๋จผ์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋์ค๋(FILO, First In Last Out) ๊ตฌ์กฐ‘ ์ด๋ค. ๋ฐฐ์ด๊ณผ ๋งํฌ๋ ๋ฆฌ์คํธ ๋๋ค ๊ตฌํ ๊ฐ๋ฅํ๋ฐ ์ด์ ํฌ์คํ ์์ ์ธ๊ธํ๋ฏ์ด ํ์์ ๋น ๋ฅธ ๋ฐฐ์ด, ์ฉ๋์ ์ ํ์ด ์์ ๋ก์ด ๋งํฌ๋ ๋ฆฌ์คํธ ์ด๊ธฐ์ ๋ฐ์ดํฐ์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฐ์ผ ๋ฏํ๋ค. ์คํ์ ๋ง๊ทธ๋๋ก ์๋ค ์ธ๋ฐ, ๊ฐ์ฅ ์๋ฟ๋ ๊ฒ์ ํ๋ง๊ธ์ค ํต์ด ์๋๊น ์ถ๋ค..! ๋ฌผ๋ก ํ๋ง๊ธ์ค๋ฅผ ๋ค์ง์ผ๋ฉด ์ฐ๋ฅด๋ฅด ์์์ ธ๋์จ๋ค๋ง์.. ํ๋ง๊ธ์ค๋ ์์์๋ถํฐ ๊บผ๋ด์ ์ ์ผ ๋ฐ์๊น์ง ๋จน์ ์ ์๋ ๊ณผ์์ด๋ค. ๋ฐ๋๋ก ํ๋ง๊ธ์ค ํต์ ๊ณผ์๋ฅผ ๋ค์ ๋ฃ๋๋ค๋ฉด ๋งจ ๋ง์ง๋ง์ ๋ฃ์ ๊ณผ์๋ถํฐ ๊บผ๋ผ ์ ์์ ๊ฒ์ด๋ค. ์คํ์ ์ฌ์ฉํ์ฌ์ ์ด๋ค ๊ฒ์ ๋ง๋ค๋ฉด ์ ์ฉํ ๊น ํ๊ณ ์๊ฐํ์ฌ๋ณด์๋๋ฐ ์๋ฌด๋๋ Undo, Redo ์๋..
2023.09.07 -
ํ๋ก๊ทธ๋จ์ ์ง๋ค๋ณด๋ฉด ๋ฐฐ์ด์ ์ฌ์ฉํ ๋๊ฐ ๋ง์์ง๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐ์ด ๋ชจ์๋ผ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๊ธธ ์ ์๋๋ฐ, C++์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ STL์ vector๋ฅผ ๋ณดํต ๋ ์ฌ๋ฆฐ๋ค. ๋์ ๊ฒฝ์ฐ๋ ๊ทธ๋ฌ๊ณ ํ์ง๋ง STL์ vector ๊ฒฝ์ฐ ํฌ๊ธฐ์ ์๊ด์์ด ์์ ์์ฌ๋ก ๋์ด๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ฐฐ์ด ํํ์์ ๋ฐฐ์ด์ด ๊ฐ๋ ์ฐฐ ๋๋ง๋ค ํฌ๊ธฐ๋ฅผ 1.5๋ฐฐ ~ 2๋ฐฐ (์ปดํ์ผ๋ฌ์ ๋ฐ๋ผ ๋ค๋ฆ) ๋๋ฆฐ ํ ๋ค์ ์ฎ๊ฒจ๋ด๋ ํ์์ด๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์ ๋งํฌ๋ ๋ฆฌ์คํธ๋์ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ๋ C์์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๋ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ง๋ ๊ฐ๋ ์ด๋ค. ํ์ง๋ง ์ฌ๋ฌ๊ฐ์ง ์ฅ๋จ์ ์ด ์๊ธฐ์ ์๊ฐํ๋ ค๊ณ ํ๋ค. ๐น01. ๋งํฌ๋ ๋ฆฌ์คํธ ์ ์ฐํ๊ฒ ํฌ๊ธฐ๋ฅผ ๋ฐ๊ฟ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ '๋ฆฌ์คํธ(list)'๋ผ๊ณ ํ๋๋ฐ, ๋ง..
1. ๋ฆฌ์คํธํ๋ก๊ทธ๋จ์ ์ง๋ค๋ณด๋ฉด ๋ฐฐ์ด์ ์ฌ์ฉํ ๋๊ฐ ๋ง์์ง๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐ์ด ๋ชจ์๋ผ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๊ธธ ์ ์๋๋ฐ, C++์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ STL์ vector๋ฅผ ๋ณดํต ๋ ์ฌ๋ฆฐ๋ค. ๋์ ๊ฒฝ์ฐ๋ ๊ทธ๋ฌ๊ณ ํ์ง๋ง STL์ vector ๊ฒฝ์ฐ ํฌ๊ธฐ์ ์๊ด์์ด ์์ ์์ฌ๋ก ๋์ด๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ฐฐ์ด ํํ์์ ๋ฐฐ์ด์ด ๊ฐ๋ ์ฐฐ ๋๋ง๋ค ํฌ๊ธฐ๋ฅผ 1.5๋ฐฐ ~ 2๋ฐฐ (์ปดํ์ผ๋ฌ์ ๋ฐ๋ผ ๋ค๋ฆ) ๋๋ฆฐ ํ ๋ค์ ์ฎ๊ฒจ๋ด๋ ํ์์ด๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์ ๋งํฌ๋ ๋ฆฌ์คํธ๋์ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ๋ C์์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๋ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ง๋ ๊ฐ๋ ์ด๋ค. ํ์ง๋ง ์ฌ๋ฌ๊ฐ์ง ์ฅ๋จ์ ์ด ์๊ธฐ์ ์๊ฐํ๋ ค๊ณ ํ๋ค. ๐น01. ๋งํฌ๋ ๋ฆฌ์คํธ ์ ์ฐํ๊ฒ ํฌ๊ธฐ๋ฅผ ๋ฐ๊ฟ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ '๋ฆฌ์คํธ(list)'๋ผ๊ณ ํ๋๋ฐ, ๋ง..
2023.09.05 -
NavMeshAgent Documentation ์๊ธ : https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html ์์ด ๊ทธ๋๋ก ์ง๋ ์งํดํ๋ฉด ์ข๊ฒ ์ง๋ง.. ์ต์ํด์ง๊ธฐ ์ ์๋ ์ฎ๊ฒจ๋ด์ผ๋ฉด์ ํ์ ํ๋ ค๊ณ ํ๋ค.. Properties acceleration ๊ฐ์๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅด๋ ์์ด์ ํธ์ ์ต๋ ๊ฐ์๋(๋จ์/sec^2). agentTypeID Type ID ์์ด์ ํธ์ Type ID angularSpeed ํ์ ์๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅด๋ ๋์ ์ต๋ ํ์ ์๋(deg/s) areaMask ์์ญ ๋ง์คํฌ ํต๊ณผ ๊ฐ๋ฅํ NavMesh ์์ญ์ ์ง์ ํฉ๋๋ค. ์์ญ ๋ง์คํฌ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๊ฒฝ๋ก๊ฐ ์ ์ฒด๋ฉ๋๋ค.(isPathStale ์ฐธ์กฐ) autoBraking ์๋ ๋ธ๋ ์ดํฌ ์์ด์ ํธ๊ฐ ๋ชฉ์ ์ง ์ง์ ์ ์ค..
[Unity3D] NavMeshAgent Document ๊ณต๋ถNavMeshAgent Documentation ์๊ธ : https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html ์์ด ๊ทธ๋๋ก ์ง๋ ์งํดํ๋ฉด ์ข๊ฒ ์ง๋ง.. ์ต์ํด์ง๊ธฐ ์ ์๋ ์ฎ๊ฒจ๋ด์ผ๋ฉด์ ํ์ ํ๋ ค๊ณ ํ๋ค.. Properties acceleration ๊ฐ์๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅด๋ ์์ด์ ํธ์ ์ต๋ ๊ฐ์๋(๋จ์/sec^2). agentTypeID Type ID ์์ด์ ํธ์ Type ID angularSpeed ํ์ ์๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅด๋ ๋์ ์ต๋ ํ์ ์๋(deg/s) areaMask ์์ญ ๋ง์คํฌ ํต๊ณผ ๊ฐ๋ฅํ NavMesh ์์ญ์ ์ง์ ํฉ๋๋ค. ์์ญ ๋ง์คํฌ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๊ฒฝ๋ก๊ฐ ์ ์ฒด๋ฉ๋๋ค.(isPathStale ์ฐธ์กฐ) autoBraking ์๋ ๋ธ๋ ์ดํฌ ์์ด์ ํธ๊ฐ ๋ชฉ์ ์ง ์ง์ ์ ์ค..
2023.08.08 -
Unity์์ ์๋กญ๊ฒ ์ ์ฉ๋ TextMeshPro๋ฅผ ์ด์ฉํ์ฌ ์ฟจํ์์ ํ์ํด์ฃผ๊ณ ์์๋๋ฐ ๋์ค์ ์ฌ๋ผ์ง๋ ๋ฌธ์ ์ ์ ๋ฐ๊ฒฌํ์๋ค. ๋ฌธ์ ์ ์ ๊ฐ์ Material์ ์ฌ์ฉํ๊ณ ์๋ TextMeshPro ๊ฐ ๋ฐ๋๋ ๋ ๋๋ถ๋ถ ์ฌ๋ผ์ง๋ ํ์์ ๋ฐ๊ฒฌํ์๋ค.(์ผ๋ถ๋ ์์ํ์๋ง์ ์กด์ฌ) ๋ ์ด์ด ๋ฌธ์ ์ธ๊ฐ ์ถ์ด์ Layout order๊ด๋ จ ์ฝ๋๋ค์ ์ฝ์ ํด๋ณด๊ธฐ๋ ํ๋๋ฐ ๋ฌธ์ ๋ ๋์์ง์ง ์์๋ค. ๋์ ๊ฒฝ์ฐ Canvas ์์์ ์ฌ์ฉํ๋ TextMeshPro UGUI(TextMeshPro - Text(UI))์์์ ๋ฌธ์ ์ ์ด์๋ค. ํ๊ฒฉ์ ๋ชฌ์คํฐ์ ๋ฐ๋ฏธ์ง ํ์์ฉ์ผ๋ก ์ฌ์ฉ๋๋ TextMeshPro๊ฐ ์ฌ์ฉ๋๋ฉด ์๊ธฐ๋ ๋ฌธ์ ์๋ค. ๋จธํ ๋ฆฌ์ผ์ ๋ฌธ์ ๋ผ ๋ณด๊ณ ์ฌ์ฉํ๊ณ ์๋ TMP_Font Asset์ ์๋ก์ด ๋จธํ ๋ฆฌ์ผ์ ์ถ๊ฐํ์ฌ ์๋ก ๋ค๋ฅธ ๋จธํ ๋ฆฌ์ผ..
[Unity3D] TextMeshPro UGUI ๊ธ์ ์ฌ๋ผ์ง ํด๊ฒฐ ๋ฐฉ๋ฒUnity์์ ์๋กญ๊ฒ ์ ์ฉ๋ TextMeshPro๋ฅผ ์ด์ฉํ์ฌ ์ฟจํ์์ ํ์ํด์ฃผ๊ณ ์์๋๋ฐ ๋์ค์ ์ฌ๋ผ์ง๋ ๋ฌธ์ ์ ์ ๋ฐ๊ฒฌํ์๋ค. ๋ฌธ์ ์ ์ ๊ฐ์ Material์ ์ฌ์ฉํ๊ณ ์๋ TextMeshPro ๊ฐ ๋ฐ๋๋ ๋ ๋๋ถ๋ถ ์ฌ๋ผ์ง๋ ํ์์ ๋ฐ๊ฒฌํ์๋ค.(์ผ๋ถ๋ ์์ํ์๋ง์ ์กด์ฌ) ๋ ์ด์ด ๋ฌธ์ ์ธ๊ฐ ์ถ์ด์ Layout order๊ด๋ จ ์ฝ๋๋ค์ ์ฝ์ ํด๋ณด๊ธฐ๋ ํ๋๋ฐ ๋ฌธ์ ๋ ๋์์ง์ง ์์๋ค. ๋์ ๊ฒฝ์ฐ Canvas ์์์ ์ฌ์ฉํ๋ TextMeshPro UGUI(TextMeshPro - Text(UI))์์์ ๋ฌธ์ ์ ์ด์๋ค. ํ๊ฒฉ์ ๋ชฌ์คํฐ์ ๋ฐ๋ฏธ์ง ํ์์ฉ์ผ๋ก ์ฌ์ฉ๋๋ TextMeshPro๊ฐ ์ฌ์ฉ๋๋ฉด ์๊ธฐ๋ ๋ฌธ์ ์๋ค. ๋จธํ ๋ฆฌ์ผ์ ๋ฌธ์ ๋ผ ๋ณด๊ณ ์ฌ์ฉํ๊ณ ์๋ TMP_Font Asset์ ์๋ก์ด ๋จธํ ๋ฆฌ์ผ์ ์ถ๊ฐํ์ฌ ์๋ก ๋ค๋ฅธ ๋จธํ ๋ฆฌ์ผ..
2023.06.28 -
Unity์์ LoadScene ํจ์๋ฅผ ์ด์ฉํ์ฌ Scene๊ฐ์ ์ ํ์ ํ๊ณ ์์๋๋ฐ ์์ ๋ฒ์ ์์๋ ๋ฐ๊ฒฌํ์ง ๋ชปํ ๋คํฌ๋ ํ์์ ๋ฐ๊ฒฌํ์๋ค. Window -> Rendering -> Lighting ์ ๋๋ฅด๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ฐฝ์ด ๋ํ๋๋ค Generate Lighting ์ ๋๋ฅด๋ฉด ์์์ ์กฐ๋ช ๊ด๋ จ ํ์ํ ๊ฒ๋ค์ ๋ง๋ค์ด์ค๋ค ๋ณ๋๋ก ์ด๋์ ๋ฃ์ด์ฃผ๊ฑฐ๋ ํ ํ์์์ด ์ ์๋๋๋ค.
[Unity3D] LoadScene ํ ๋คํฌ๋ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒUnity์์ LoadScene ํจ์๋ฅผ ์ด์ฉํ์ฌ Scene๊ฐ์ ์ ํ์ ํ๊ณ ์์๋๋ฐ ์์ ๋ฒ์ ์์๋ ๋ฐ๊ฒฌํ์ง ๋ชปํ ๋คํฌ๋ ํ์์ ๋ฐ๊ฒฌํ์๋ค. Window -> Rendering -> Lighting ์ ๋๋ฅด๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ฐฝ์ด ๋ํ๋๋ค Generate Lighting ์ ๋๋ฅด๋ฉด ์์์ ์กฐ๋ช ๊ด๋ จ ํ์ํ ๊ฒ๋ค์ ๋ง๋ค์ด์ค๋ค ๋ณ๋๋ก ์ด๋์ ๋ฃ์ด์ฃผ๊ฑฐ๋ ํ ํ์์์ด ์ ์๋๋๋ค.
2023.06.23 -
์๋ณธ : https://ogldev.org/www/tutorial38/tutorial38.html ๋ฐฐ๊ฒฝ ๋ง์นจ๋ด ์๋ฐฑ๋ง๋ช ์ ๋ ์๋ค์ด ์๊ตฌํด์จ ํํ ๋ฆฌ์ผ. ์คํค๋์ผ๋ก๋ ์๋ ค์ง ๊ณจ๊ฒฉ ์ ๋๋ฉ์ด์ ์ผ๋ก, Assimp ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ณจ๊ฒฉ ์ ๋๋ฉ์ด์ ์ ์ฌ์ค ๋ ๋ถ๋ถ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ณผ์ ์ ๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์ํฐ์คํธ๊ฐ ์คํํ๊ณ ๋ ๋ฒ์งธ๋ ํ๋ก๊ทธ๋๋จธ์ธ ์ฌ์ฉ์(๋๋ ์์ฑํ ์์ง)๊ฐ ์คํํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ๋ชจ๋ธ๋ง ์ํํธ์จ์ด ๋ด๋ถ์์ ๋ฐ์ํ๋ฉฐ ๋ฆฌ๊น ์ด๋ผ๊ณ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ผ์ด๋๋ ์ผ์ ์ํฐ์คํธ๊ฐ mesh ์๋ ๋ผ(skeleton)์ ๊ณจ๊ฒฉ(bones)์ ์ ์ํ๋ ๊ฒ์ ๋๋ค. mesh๋ ๋ฌผ์ฒด์ ํผ๋ถ(์ธ๊ฐ์ด๋ ๊ดด๋ฌผ์ด๋ ๋ฌด์์ด๋ )๋ฅผ ๋ํ๋ด๋ฉฐ skeleton์ ์ค์ ์ธ๊ณ์์ ์ค์ ์์ง์์ ๋ชจ๋ฐฉํ๋ ๋ฐฉ์์ผ๋ก mesh๋ฅผ ์์ง์ด๋๋ฐ ์ฌ..
[๋ฒ์ญ] ํํ ๋ฆฌ์ผ 38 : Skeletal Animation with Assimp์๋ณธ : https://ogldev.org/www/tutorial38/tutorial38.html ๋ฐฐ๊ฒฝ ๋ง์นจ๋ด ์๋ฐฑ๋ง๋ช ์ ๋ ์๋ค์ด ์๊ตฌํด์จ ํํ ๋ฆฌ์ผ. ์คํค๋์ผ๋ก๋ ์๋ ค์ง ๊ณจ๊ฒฉ ์ ๋๋ฉ์ด์ ์ผ๋ก, Assimp ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ณจ๊ฒฉ ์ ๋๋ฉ์ด์ ์ ์ฌ์ค ๋ ๋ถ๋ถ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ณผ์ ์ ๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์ํฐ์คํธ๊ฐ ์คํํ๊ณ ๋ ๋ฒ์งธ๋ ํ๋ก๊ทธ๋๋จธ์ธ ์ฌ์ฉ์(๋๋ ์์ฑํ ์์ง)๊ฐ ์คํํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ ๋ชจ๋ธ๋ง ์ํํธ์จ์ด ๋ด๋ถ์์ ๋ฐ์ํ๋ฉฐ ๋ฆฌ๊น ์ด๋ผ๊ณ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ผ์ด๋๋ ์ผ์ ์ํฐ์คํธ๊ฐ mesh ์๋ ๋ผ(skeleton)์ ๊ณจ๊ฒฉ(bones)์ ์ ์ํ๋ ๊ฒ์ ๋๋ค. mesh๋ ๋ฌผ์ฒด์ ํผ๋ถ(์ธ๊ฐ์ด๋ ๊ดด๋ฌผ์ด๋ ๋ฌด์์ด๋ )๋ฅผ ๋ํ๋ด๋ฉฐ skeleton์ ์ค์ ์ธ๊ณ์์ ์ค์ ์์ง์์ ๋ชจ๋ฐฉํ๋ ๋ฐฉ์์ผ๋ก mesh๋ฅผ ์์ง์ด๋๋ฐ ์ฌ..
2023.04.28 -
์๋ณธ : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-16-shadow-mapping/ ํํ ๋ฆฌ์ผ 15์์๋ ์ ์ ์กฐ๋ช ์ ํฌํจํ๋ ๋ผ์ดํธ ๋งต์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค. ์์ฃผ ๋ฉ์ง ๊ทธ๋ฆผ์๋ฅผ ๋ง๋ค์ด๋ด๊ธฐ๋ ํ์ง๋ง, ์ ๋๋ฉ์ด์ ๋ชจ๋ธ์ ๋ค๋ฃจ์ง ์์ต๋๋ค. Shadow Map์ ํ์ฌ(2016๋ ๊ธฐ์ค) ๋์ Shadow๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ข์ ์ ์ ์์ ์ ์์ํ๊ธฐ์ ๊ฝค ์ฝ๋ค๋ ๊ฒ์ ๋๋ค. ๋์์ ์ ์ ๋๋ก ์์ ํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๋ค๋ ๊ฒ์ ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์์๋ ๋จผ์ ๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํ๊ณ ๋จ์ ์ ํ์ธํ ๋ค์ ๋ช ๊ฐ์ง ๊ธฐ์ ์ ๊ตฌํํ์ฌ ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ๊ฒ์ ๋๋ค. Shadow Map์ ์์ฑํ ๋น์(2012๋ )์๋ ์ฌ์ ํ ๋ง์ ์ฐ๊ตฌ๊ฐ ..
[๋ฒ์ญ] Tutorial 16 : Shadow mapping์๋ณธ : http://www.opengl-tutorial.org/kr/intermediate-tutorials/tutorial-16-shadow-mapping/ ํํ ๋ฆฌ์ผ 15์์๋ ์ ์ ์กฐ๋ช ์ ํฌํจํ๋ ๋ผ์ดํธ ๋งต์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค. ์์ฃผ ๋ฉ์ง ๊ทธ๋ฆผ์๋ฅผ ๋ง๋ค์ด๋ด๊ธฐ๋ ํ์ง๋ง, ์ ๋๋ฉ์ด์ ๋ชจ๋ธ์ ๋ค๋ฃจ์ง ์์ต๋๋ค. Shadow Map์ ํ์ฌ(2016๋ ๊ธฐ์ค) ๋์ Shadow๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ข์ ์ ์ ์์ ์ ์์ํ๊ธฐ์ ๊ฝค ์ฝ๋ค๋ ๊ฒ์ ๋๋ค. ๋์์ ์ ์ ๋๋ก ์์ ํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๋ค๋ ๊ฒ์ ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์์๋ ๋จผ์ ๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํ๊ณ ๋จ์ ์ ํ์ธํ ๋ค์ ๋ช ๊ฐ์ง ๊ธฐ์ ์ ๊ตฌํํ์ฌ ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ๊ฒ์ ๋๋ค. Shadow Map์ ์์ฑํ ๋น์(2012๋ )์๋ ์ฌ์ ํ ๋ง์ ์ฐ๊ตฌ๊ฐ ..
2023.04.23 -
Release v3.2 2023๋ 02์ 24์ผ Gitbook์ ํตํด์ Documentation์ ์ ๋ฐ์ดํธ๋ฅผ ์งํํ๋ ๋ฏ ํจ. ์ถ๊ฐ *ํผ์ฝ 4* - ํผ์ฝ4์ ๋ํ ๊ณต์์ ์ธ ์ง์์ ์ถ๊ฐํจ *ํฌ๋กฌ๋ถ* - ํฌ๋กฌ๋ถ์ ์ถ๊ฐ์ ์ธ ์ง์์ ์ถ๊ฐํจ. ๋ ๋ง์ ์ ๋ณด *ํธ์คํธ ์ ์ด* - ํธ์คํธ๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ํ VR ์ถ์ ์ ์ฌ์ค์ ํ๋ ์ต์ ์ด ์ถ๊ฐ๋จ. ๋ ๋ง์ ์ ๋ณด - ํธ์คํธ๊ฐ ์ธ์ ๋๋ ์ด๋ฒคํธ๋ฅผ ์ ๊ทธ๊ฑฐ๋ ์ ๊ธ ํด์ ํ์ฌ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์ฐธ์ฌํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํ๋ ์ต์ ์ ์ถ๊ฐํจ. ๋ ๋ง์ ์ ๋ณด - ํธ์คํธ๊ฐ ํ๊ฒฝ ๋ด์ ์ง์ ๋ ์์ญ์ผ๋ก ๊ฐ๋ณ ์ฌ์ฉ์๋ฅผ ์ํํ๋ ์ต์ ์ด ์ถ๊ฐ๋จ. ๋ ๋ง์ ์ ๋ณด *์๋ฐํ* - VR ์ฌ์ฉ์๊ฐ ์๋ชฉ ์ปจํธ๋กค์ ํตํด ์ถ์ ์ ์ฌ์ค์ ํ ์ ์๋ ์ต์ ์ด ์ถ๊ฐ๋จ. ๋ ๋ง์ ์ ๋ณด *IP์ ์์ ๋ณดํธ* - LIT..
[Engage VR] Release v3.2Release v3.2 2023๋ 02์ 24์ผ Gitbook์ ํตํด์ Documentation์ ์ ๋ฐ์ดํธ๋ฅผ ์งํํ๋ ๋ฏ ํจ. ์ถ๊ฐ *ํผ์ฝ 4* - ํผ์ฝ4์ ๋ํ ๊ณต์์ ์ธ ์ง์์ ์ถ๊ฐํจ *ํฌ๋กฌ๋ถ* - ํฌ๋กฌ๋ถ์ ์ถ๊ฐ์ ์ธ ์ง์์ ์ถ๊ฐํจ. ๋ ๋ง์ ์ ๋ณด *ํธ์คํธ ์ ์ด* - ํธ์คํธ๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ํ VR ์ถ์ ์ ์ฌ์ค์ ํ๋ ์ต์ ์ด ์ถ๊ฐ๋จ. ๋ ๋ง์ ์ ๋ณด - ํธ์คํธ๊ฐ ์ธ์ ๋๋ ์ด๋ฒคํธ๋ฅผ ์ ๊ทธ๊ฑฐ๋ ์ ๊ธ ํด์ ํ์ฌ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์ฐธ์ฌํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์ ์ดํ๋ ์ต์ ์ ์ถ๊ฐํจ. ๋ ๋ง์ ์ ๋ณด - ํธ์คํธ๊ฐ ํ๊ฒฝ ๋ด์ ์ง์ ๋ ์์ญ์ผ๋ก ๊ฐ๋ณ ์ฌ์ฉ์๋ฅผ ์ํํ๋ ์ต์ ์ด ์ถ๊ฐ๋จ. ๋ ๋ง์ ์ ๋ณด *์๋ฐํ* - VR ์ฌ์ฉ์๊ฐ ์๋ชฉ ์ปจํธ๋กค์ ํตํด ์ถ์ ์ ์ฌ์ค์ ํ ์ ์๋ ์ต์ ์ด ์ถ๊ฐ๋จ. ๋ ๋ง์ ์ ๋ณด *IP์ ์์ ๋ณดํธ* - LIT..
2023.02.25 -
์๋ณธ - https://learnopengl.com/Getting-started/Creating-a-window ๋ฉ์ง ๊ทธ๋ํฝ์ ๋ง๋ค๊ธฐ ์ ์ ๋จผ์ ํด์ผ ํ ์ผ์ OpenGL ์ปจํ ์คํธ์ ์ดํ๋ฆฌ์ผ์ด์ ์ฐฝ์ ๋ง๋ค์ด์ ๋์ด์ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์์ ์ ์ด์ ์ฒด์ ๋ง๋ค ๋ค๋ฅด๋ฉฐ OpenGL์ ์๋์ ์ผ๋ก ์ด๋ฌํ ์์ ์์ ์ถ์ํํ๋ ค๊ณ ํฉ๋๋ค. ์ฆ, ์ฐฝ์ ๋ง๋ค๊ณ , ์ปจํ ์คํธ๋ฅผ ์ ์ํ๊ณ , ์ฌ์ฉ์ ์ ๋ ฅ์ ์ง์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ๋คํํ๋, ์ฐ๋ฆฌ๊ฐ ์ฐพ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฝค ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ผ๋ฉฐ, ์ผ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํนํ OpenGL์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด์ ์ฒด์ ๋ณ ์์ ์ ๋ชจ๋ ์ ์ฅํ๊ณ ๋ ๋๋งํ ์ ์๋ ์ฐฝ๊ณผ OpenGL ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. GLUT, SDL, SFML, GLFW ๋ฑ์ด ์ ๋ช ํฉ๋๋ค. Lea..
[๋ฒ์ญ] LearnOpenGL 1.์์ํ๊ธฐ - window ๋ง๋ค๊ธฐ์๋ณธ - https://learnopengl.com/Getting-started/Creating-a-window ๋ฉ์ง ๊ทธ๋ํฝ์ ๋ง๋ค๊ธฐ ์ ์ ๋จผ์ ํด์ผ ํ ์ผ์ OpenGL ์ปจํ ์คํธ์ ์ดํ๋ฆฌ์ผ์ด์ ์ฐฝ์ ๋ง๋ค์ด์ ๋์ด์ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์์ ์ ์ด์ ์ฒด์ ๋ง๋ค ๋ค๋ฅด๋ฉฐ OpenGL์ ์๋์ ์ผ๋ก ์ด๋ฌํ ์์ ์์ ์ถ์ํํ๋ ค๊ณ ํฉ๋๋ค. ์ฆ, ์ฐฝ์ ๋ง๋ค๊ณ , ์ปจํ ์คํธ๋ฅผ ์ ์ํ๊ณ , ์ฌ์ฉ์ ์ ๋ ฅ์ ์ง์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ๋คํํ๋, ์ฐ๋ฆฌ๊ฐ ์ฐพ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฝค ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ผ๋ฉฐ, ์ผ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํนํ OpenGL์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด์ ์ฒด์ ๋ณ ์์ ์ ๋ชจ๋ ์ ์ฅํ๊ณ ๋ ๋๋งํ ์ ์๋ ์ฐฝ๊ณผ OpenGL ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. GLUT, SDL, SFML, GLFW ๋ฑ์ด ์ ๋ช ํฉ๋๋ค. Lea..
2023.01.12