๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Unreal

[UE5.1] ์–ธ๋ฆฌ์–ผ ์—”์ง„ 5 C++ ํด๋ž˜์Šค ์ƒ์„ฑ ํ›„ ํ”„๋กœ์ ํŠธ ์ปดํŒŒ์ผ๋ง ํ•˜๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

์ด๋ฒˆ ๊ธ€์€ ์œ ๋ฐ๋ฏธ๋ฅผ ํ†ตํ•ด ์–ธ๋ฆฌ์–ผ5 C++ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์—ฌ ์‹ค์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.
์˜์ƒ์—์„œ ์‚ฌ์šฉํ•œ ์—”์ง„์€ 5.0 ๋ฒ„์ „์„, ์ €๋Š” 5.1.1 ๋ฒ„์ „์„ ์ด์šฉํ•˜์—ฌ ์‹ค์Šต์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์—๋””ํ„ฐ

์†Œ์Šค ์ฝ”๋“œ (Source Code) : ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ  -> ex. C++
๋ฐ”์ด๋„ˆ๋ฆฌ ์‹คํ–‰ ํŒŒ์ผ : ๊ธฐ๊ณ„๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” 0๊ณผ 1๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ
์ปดํŒŒ์ผ๋Ÿฌ (Compiler) : ์‚ฌ๋žŒ์ด ์ฝ๋Š” ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€ํ™˜ ๊ณผ์ •์„ ๋งก๋Š”๋‹ค.
-> ex. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค (์œˆ๋„์šฐ os)
-> ex. XCode (๋งฅ os)
์†Œ์Šค ์ฝ”๋“œ ์—๋””ํ„ฐ : ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ๋•Œ ๋” ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ -> ์ž๋™ ์™„์„ฑ / ํƒ€์ดํ•‘ํ•œ ๊ฒƒ ์ค‘ ์ž˜๋ชป๋œ ๋ถ€๋ถ„ ๊ฐ•์กฐ ํ‘œ์‹œ
-> ex. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ 
-> ex. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ž์ฒด์—๋„ ๋‚ด์žฅ๋œ ์†Œ์Šค ์ฝ”๋“œ ์—๋””ํ„ฐ๊ฐ€ ์žˆ๋‹ค.

์ปดํŒŒ์ผ์„ ์ง„ํ–‰ํ•˜๊ธฐ์— ์•ž์„œ ๋จผ์ €, ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์—๋””ํ„ฐ์— ๊ด€ํ•ด ๊ฐ„๋‹จํžˆ ํ›‘์–ด๋ณด๊ณ , ํฌ์ŠคํŒ…์„ ์ด์–ด ๋‚˜๊ฐ€๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์—๋””ํ„ฐ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด๋ฏธ ๊ตฌ์„ฑ์ด ๋˜์–ด ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์–ธ๋ฆฌ์–ผ ์ž์ฒด์—๋„ ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ๋ผ๋Š” ๊ฒŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ์—์…‹, ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์ฝ”๋“œ, ์—์…‹ ๋“ฑ๋„ ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ, C++๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ์—์„œ๊ฐ€ ์•„๋‹Œ ์†Œ์Šค ์ฝ”๋“œ ์—๋””ํ„ฐ์—์„œ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ฑฐ์ณ ๋ฐ”์ด๋„ˆ๋ฆฌ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์ „ํ™˜ ํ›„ ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ๋กœ ๋„˜์–ด๊ฐ€๋Š” ๋ฐฉ์‹์„ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ฆ‰, C++ ๋กœ ์†Œ์Šค ์ฝ”๋“œ ์‹คํ–‰ ์‹œ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์†Œ์Šค ์ฝ”๋“œ์™€ ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉํ•œ ์–ธ๋ฆฌ์–ผ์— ๋‚ด์žฅ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ€์ ธ์™€ ๋ชจ๋‘๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ „ํ™˜ ๋’ค ์–ธ๋ฆฌ์–ผ ์—๋””ํ„ฐ๋กœ ๋„˜์–ด๊ฐ€ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถœ๋ ฅํ•˜๋Š” ํ๋ฆ„์ž…๋‹ˆ๋‹ค.

 

 

 

 

 Visual studio 2022 ์™€ Visual studio Code ์„ค์น˜ 

์ €๋Š” ์–ธ๋ฆฌ์–ผ 5.1๋กœ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ Visual Studio 2022๋ฅผ ๋‹ค์šด๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. 

์„ค์น˜ ๊ณผ์ •์„ ๋ชจ๋‘ ๋‹ค๋ฃจ๊ธฐ์—๋Š” ๊ธ€์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋‹ˆ, ๊ผญ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ํฌ์ŠคํŒ… ์ด์–ด ๋‚˜๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์„ค์น˜ํ•˜์…จ๋‹ค๋ฉด, C++๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ๊ผญ ์ฒดํฌํ•ด์„œ ์„ค์น˜ํ•ด ์ฃผ์„ธ์š”. ์ถ”๊ฐ€๋กœ Unreal Engine ์„ค์น˜ ๊ด€๋ฆฌ์ž๋„ ์„ธ๋ถ€ ์ •๋ณด์—์„œ ๊ฐ™์ด ์ฒดํฌ ํ•˜์…”์„œ ์„ค์น˜๋ฅผ ์ด์–ด ๋‚˜๊ฐ€์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

https://dotnet.microsoft.com/ko-kr/download/dotnet?cid=getdotnetcore 

 

.NET ๋‹ค์šด๋กœ๋“œ(Linux, macOS ๋ฐ Windows)

Linux, macOS ๋ฐ Windows์šฉ ๊ณต์‹ .NET ๋‹ค์šด๋กœ๋“œ. .NET์€ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ๋ฌด๋ฃŒ ํ”Œ๋žซํผ ๊ฐ„ ์˜คํ”ˆ ์†Œ์Šค ๊ฐœ๋ฐœ์ž ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

dotnet.microsoft.com

UE 5.0 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์‹ค ๋•Œ๋Š” .NET Core 3.1์„ ์„ค์น˜ํ•˜์ง€๋งŒ 5.1 ๋ฒ„์ „ ์ด์ƒ๋ถ€ํ„ฐ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ์ œ๋Œ€๋กœ ์ž‘๋™์„ ์•ˆ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— .NET 6.0์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”. 

 

 

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋งŒ์œผ๋กœ๋„ C++ ์–ธ๋ฆฌ์–ผ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†๊ฒ ์ง€๋งŒ, ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ๊ฐ€ ์›Œ๋‚™ ๊ฐ€๋ณ๊ณ , ๊ฐ•์˜์—์„œ์™€ ๊ฐ™์€ ํ™˜๊ฒฝ์„ ์œ„ํ•ด ์ €๋„ Visual Studio Code๋ฅผ ๋‹ค์šด๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

 

Visual Studio Code๋ฅผ ๋‹ค์šด ๋ฐ›์•˜๋‹ค๋ฉด, ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์œ„ 2๊ฐ€์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์„ค์น˜๋ฅผ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

 Unreal ์—์„œ C++ ํด๋ž˜์Šค ์ƒ์„ฑ ์ดํ›„ ์ปดํŒŒ์ผ ์ง„ํ–‰

 

Edit -> Editor Preferences๋ฅผ ํด๋ฆญํ•ด ์ฃผ์‹œ๋ฉด ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์€ ์ฐฝ์ด ๋œฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค. General -> Source Code๋ฅผ ํด๋ฆญ ํ•ด์ฃผ์‹œ๋ฉด์„œ ๊ฐ์ž C++ ์†Œ์Šค ์ฝ”๋“œ ์—๋””ํ„ฐ๋ฅผ ์ˆ˜์ •ํ•ด ์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” VSCode๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•ด Visual Studio Code๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

Tool -> New C++ Class๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์–ด C++ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”.

 

๊ทธ๋Ÿฐ ๋‹ค์Œ, ์›ํ•˜๋Š” ํƒ€์ž…์˜ ์ƒ์†๋ฐ›์„ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ €๋Š” ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผ Actor ํด๋ž˜์Šค๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

ํด๋ž˜์Šค ์ƒ์„ฑ๋งŒ ์ง€์—ˆ๋‹ค๋ฉด, ์•„์ง Content Browser์—๋Š” C++ ํŒŒ์ผ์ด ์ถ”๊ฐ€๊ฐ€ ์•ˆ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 

๊ทธ๋ ‡๊ธฐ์— IDE (ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ) ์ฆ‰, ์šฐ๋ฆฌ์˜ ์†Œ์Šค ์ฝ”๋“œ ์—๋””ํ„ฐ์—์„œ ๋นŒ๋“œ๋ฅผ ํ•œ๋ฒˆ ํ•ด์ฃผ์…”์•ผ C++ ํŒŒ์ผ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

 

VSCode๋ฅผ ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด, Terminal -> Run Build Task ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.

 

์œ„์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด Development Build๋ฅผ ์ฐพ์•„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”. ์•„๋งˆ ์ฒ˜์Œ์—” ์Šคํฌ๋กค์„ ์ข€ ๋‚ด๋ ค์•ผ ๋ณด์ผ ๊ฑฐ์—์š”.

 

๋นŒ๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋˜์—ˆ๋‹ค๋ฉด, ์ด ๋นŒ๋“œ ์‹œ๊ฐ„๊ณผ ์•„๋ฌด Key๋ฅผ ๋ˆŒ๋Ÿฌ ํ„ฐ๋ฏธ๋„์„ ์ฐฝ์„ ๋‹ซ๊ฒ ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋œฐ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์ปดํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ ํ›„ Content Browser์—์„œ ์•„๊นŒ ์ƒ์„ฑํ•œ C++ ํด๋ž˜์Šค ํŒŒ์ผ์ด ๋ณด์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.  ์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค!

 

728x90
๋ฐ˜์‘ํ˜•