์ ์
Unreal Engine ๋ด๋ถ์์ C++ ์ฝ๋๋ฅผ ์๊ฐ์ ์ธ Node ํํ๋ก ๋ณํํ์ฌ ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋ ๊ฐ๋ฐ์๋ ์ง๊ด์ ์ผ๋ก Game ๋ก์ง์ ์ค๊ณํ๊ณ ์ ์ดํ ์ ์๊ฒ ๋ง๋ Visual Scripting System์ด๋ค.
์ค๋ช
Unreal Engine 3 ์์ Game ๊ธฐํ์๊ฐ ํ๋ก๊ทธ๋๋จธ์ ๋์ ์์ด ์ด๋ฒคํธ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋์
ํ๋ Kismet ์์คํ
์ด ๊ทธ ์ญ์ฌ์ ์์ด๋ค.
์ดํ Epic Games์ Time Sweeney์ ๊ฐ๋ฐ์ง์ด ์ด๋ฅผ ์์ ํ ์๋กญ๊ฒ ์ค๊ณํ์ฌ Unreal Engine 4๋ถํฐ Blueprint๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ๋ฉด ๋์
ํ๋ค.
๋จ์ํ ๋ก์ง์ ์ฐ๊ฒฐํ๋ ์์ค์ ๋์ด C++ Class๋ฅผ ์ง์ ์์๋ฐ๊ณ Compile์ ๊ฑฐ์ณ ์ค์ ๊ธฐ๊ณ์ด๋ก ์๋ํ๋ ๊ฐ๋ ฅํ ๊ฐ์ฒด์งํฅ Programming ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
ํ์
ํ์ดํ๋ผ์ธ์์๋ ํ๋ก๊ทธ๋๋จธ๊ฐ C++๋ก ๋ฌด๊ฑฐ์ด ํต์ฌ System ๊ตฌ์กฐ๋ฅผ ์ค๊ผํ๋ฉด ๊ธฐํ์์ ์ํฐ์คํธ๊ฐ Blueprint๋ฅผ ์ด์ฉํด ์ธ๋ถ์ ์ธ ๊ธฐ๋ฅ๊ณผ ์ฝํ
์ธ ๋ฅผ ์กฐ๋ฆฝํ๊ณ ํ
์คํธํ๋ ๊ตฌ์กฐ๋ก ์ญํ ์ ๋ถ๋ดํ์ฌ ๊ฐ๋ฐ ํจ์จ์ ๊ทน๋ํํ๋ค.
์๋ฆฌ
- Node ๊ธฐ๋ฐ ์๊ฐํ ์ฐ์ฐ
๋ณต์กํ ํ
์คํธ ํํ์ ์ฝ๋ฉ ๋ฌธ๋ฒ์ ๋ฐฐ์ ํ๊ณ Function Variable Event ๋ฑ์ Programming ์์๋ฅผ ์๊ฐ์ ์ธ ๋ธ๋ก ํํ์ธ Node๋ก ๊ตฌํํ์ฌ ๋
ผ๋ฆฌ์ ํ๋ฆ์ ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ค.
- Virtual Machine ์ปดํ์ผ
์์์ค๋ Visual Script๋ Engine ๋ด๋ถ์ ๊ฐ์ ๋จธ์ ์ ๊ฑฐ์ณ ๋ด๋ถ์ ์ธ ๋ฐ์ดํธ ์ฝ๋๋ก ๋ณํ ๋ฐ Compile๋์ด C++ ๊ธฐ๋ฐ์ Engine ์ฝ์ด์ ๋์ผํ Memoryํ๊ฒฝ์์ ์์ ํ๊ฒ ๊ตฌ๋๋๋ค.
- Event Driven ์ํคํ ์ฒ
๋งค ํ๋ ์๋ง๋ค ์ฐ์ฐ์ ๊ฐ์ ํ๋ ๋์ Player์ ์
๋ ฅ ์ถฉ๋ ๋ฐ์ ํ์ด๋จธ ์ข
๋ฃ ๋ฑ ํน์ Event๊ฐ ๋ฐ์ํ์ ๋๋ง ์ฐ๊ฒฐ๋ Node์ ์คํ ํ์ด ํ์ฑํ๋์ด ๋ก์ง์ ์ฒ๋ฆฌํ๋ ์ต์ ํ ๋ฐฉ์์ ์ฑํํ๋ค.
- C++ Reflection ์ฐ๋
ํ๋ก๊ทธ๋๋จธ๊ฐ C++ ์ฝ๋์์ ๋งคํฌ๋ก๋ฅผ ์ ์ธํ๋ฉด Engine์ Reflection System์ด ์ด๋ฅผ ์ค์บํ์ฌ Blueprint Editor ํ๋ฉด์ ์ฆ๊ฐ์ ์ผ๋ก Node๋ ๋ณ์ ํํ๋ก ๋
ธ์ถ์์ผ ์๋ฐฉํฅ ํต์ ์ ์ง์ํ๋ค.
๊ตฌ์กฐ
ย
์์
Character Movement ์ปจํธ๋กค ์์คํ
Player์ ํค๋ณด๋๋ ๋ง์ฐ์ค ์
๋ ฅ Event๊ฐ ๋ฐ์ํ๋ฉด ํด๋น ์ ํธ๋ฅผ Character Actor ๋ด๋ถ์ Blueprint๋ก ์ ๋ฌํ๋ค. ์
๋ ฅ๋ ์ถ์ ๋ฐฉํฅ๊ณผ Scale ๊ฐ์ ๊ณ์ฐํ๊ณ 3D ๊ณต๊ฐ์์์ Character์ ์์น๋ฅผ ์ด๋น ํ๋ ์ ์์ ๋น๋กํ์ฌ ๋ถ๋๋ฝ๊ฒ ์ด๋์ํค๋ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ํ์ดํ๋ผ์ธ์ด๋ค.
Trigger Box ์ํธ์์ฉ ํผ์ฆ
Level ๋์์ธ ๊ณผ์ ์์ ํน์ ๊ตฌ์ญ์ ๋ณด์ด์ง ์๋ Collision Box Actor๋ฅผ ๋ฐฐ์นํ๊ณ ํ๋ ์ด์ด๊ฐ ์ง์
ํ ๋ ๋ฐ์ํ๋ Overlap Event๋ฅผ ํ์ฉํ๋ค. ์ด Event๊ฐ ๋ฐ๋ํ๋ฉด ์ง์ ๋ ๋ฌธ์ ํ์ ๊ฐ์ ๋ณ๊ฒฝํ๋ Timeline Node๋ฅผ ์คํํ์ฌ ์์ํ ๋ฌธ์ด ์ด๋ฆฌ๋ Animation์ ๊ตฌํํ๊ณ ํต๊ณผ ์ Audio๋ฅผ ์ฌ์ํ๋ Level Blueprint ๋ก์ง์ ๊ตฌ์ถํ๋ค.
UI Widget Data ๋ฐ์ธ๋ฉ ์ฐ์ฐ
ํ๋ฉด์ ๋์์ง ์ฒด๋ ฅ๋ฐ UI์ ํผ์ผํธ ์์น๋ฅผ ๊ฐฑ์ ํ๊ธฐ ์ํด Player Character๊ฐ ๊ฐ์ง Current Health ๋ณ์๋ฅผ ๋ถ๋ฌ์ค๋ ๋ก์ง์ ์ค๊ณํ๋ค. ๋ฌด๊ฑฐ์ด ์ฐ์ฐ์ ํผํ๊ธฐ ์ํด ๋งค ํ๋ ์ ์
๋ฐ์ดํธ ๋์ ์ฒด๋ ฅ์ด ๊น์ผ ๋๋ง ๋ฐ๋ํ๋ Custom Event๋ฅผ ๋ง๋ค๊ณ ์๊ฐ์ ์ธ UI ๊ฒ์ด์ง์ ๋ฐฑ๊ทธ๋ผ์ด๋ Data๋ฅผ ์ค์๊ฐ์ผ๋ก ๋๊ธฐํํ๋ค.
ย