ํด๋์ค๊ฐ ํต์ ์ ์์ผ๋ก ์์์ด ๋ง์ด ์ฌ์ฉ๋ ๊ฑฐ๋ผ ์ด๋ฒ๊ธฐํ์ ๊ธฐ์ด๋ฅผย ๋ฐฐ์๋ณด๊ธฐ๋ก ํ๋ค
https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/ActorCommunication/
๋ค์ด๋ ํธ ์ปค๋ฎค๋์ผ์ด์ ์ ๋ ๋ฒจ์์ ์กด์ฌํ๋ ๋ฒํผ์ด๋ผ๋์ง ํด๋์ค ๋ํดํธ์์ ํ๋๋ ํผ๋ฐ์ค๋ก ์ค์ ๋๊ฒ๋ง ์ฌ์ฉ๊ฐ๋ฅํ๋ฏ๋ก
๋์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฌ์ฉํ๋ ์บ์คํ ๋ถํฐ ๋ณด๋ฉด ๋ ๊ฑฐ๊ฐ๋ค
1. ์บ์คํ
๋ผ์ธํธ๋ ์ด์ค๋ ์ฌ์ฉ๋ฅ ์ด ๋์๊ฑฐ๊ฐ์์ C++๊ณต๋ถํ ๊ฒธ ๋ง๋ค์ด๋ณด์๋ฐ
์ฝ๋๋ชฝํค์์ผ๋ก ๋ฐ๋ผํ๊ฑฐ์ง๋ง ๋ ธ๋๋ฅผ ๋ง๋ค๋ค๋ ๊ฐ๊ฐ๋ฌด๋ํ๋ค
C#์ ์๋ OUT ํ๋ผ๋ฉํฐ ์์ด ๋ฆฌํด๋ ธ๋๋ฅผ ์ด๋ป๊ฒ ๋ฝ๋ ํ๋๋ ์ธ๋ฆฌ์ผ์์๋ ํ๋ผ๋ฉํฐ๊ฐ ๋ ํผ๋ฐ์ค์ผ๊ฒฝ์ฐ ์์ํ์ผ๋ก ๋๊ฒจ์ฃผ๋ ์์ผ๋ก ํ๋๋ผ
Input ๋ ธ๋๋ ๊ธฐ๋ณธ์(float foo, int bar.....) ํ์์ผ๋ก ๊ฐ๋ฅํ์ง๋ง ๋ ํผ๋ฐ์ค์ ๊ฒฝ์ฐ์ UPARAM(ref) ํค์๋๋ฅผ ์ฌ์ฉํด์ผํ๋ค
์ด์ ์ด๋ ์์ ๊ฐ์ง๊ณ ๋ง๊ป ์๋ฆฌ๋ฅผ ํด๋ณด์
๋ผ์ธํธ๋ ์ด์ค ํํธ์ ์กํฐ ๋ฐํ -> ์บ์คํ -> ํจ์์คํ
์ ๋๋น
๋ธํ ๋ก์ง๊ณผ ์ ํํ ๊ฐ์ C++ ๋ฒ์ DoSomething.
์ ๋๋ค
ํ์คํธ1 ํด๋ฆฌ์ด
2. ์ธํฐํ์ด์ค
์ธํฐํ์ด์ค๋ ๋ณ๋์ ๊ฐ์ฒด๊ตฌ์ฑ์ด ํ์ํ๋ค
ํ์ผ์ ์ด์ด๋ณด๋ฉด ํํ๋ ์๋ฌด๊ฒ๋ ์๋ค. ๋ฆฌํด๋ ธ๋ ์ถ๊ฐํด์ฃผ๊ณ ์ด๋ฆ ๋ณ๊ฒฝํด์ฃผ๋๊ฒ ์ ๋ถ.
์บ์คํ ๊ณผ ๋ค๋ฅธ์ ์ ๋ ํผ๋ฐ์ค๋ ์๊ตฌํ์ง๋ง ํ์ ์ ๋ฌด๊ดํ๊ฒ ํธ์ถ์ด ๊ฐ๋ฅํ๋ค
๋์ ๋ฆฌ์๋ฒ์ธก์์ ์๊น ๋ง๋ ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ๊ณ . ๊ตฌํ์ ํด์ค์ผํ๋ค
์ข์์ ์ด๋ผ๋ฉด ํธ์ถ๋ง ํ ๋ฟ์ด๊ณ ๋ฐ์์ชฝ์์ ๊ตฌํ์ ์ ๊ฐ๊ฐ์ด๋ฏ๋ก ์ฌ๋ฌ๊ฐ์ง ๋ค๋ฅธ ํ๋์ ๋ง๋ค์์๋ค
์ฑ๊ณต.
์ธํฐํ์ด์ค ์์ฑ์ ๋ฆฌํด๋ ธ๋๊ฐ ์๋์ํ๋ฉด ์ด๋ฒคํธ๋ก ์ทจ๊ธ๋์ด. ๊ธฐ๋ณธ ์ด๋ฒคํธ๊ทธ๋ํ์์ ๊ตฌํํ ์์๋ค (๋ฆฌํด๋ ธ๋๋ ํจ์์ทจ๊ธ)
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/GameplayArchitecture/Interfaces/
C++ ์ธํฐํ์ด์ค
ํค๋๋ ์ธ๋ฆฌ์ผ์์ ์๋์ผ๋ก ๋ง๋ค์ด์ค๋ค
Iinteractable.h ์ ์ธ๋ถ
C++๋ฟ๋ง ์๋๋ผ ๋ธ๋ฃจํ๋ฆฐํธ์์ ์ํ๋ ๋ฉํธ ํ ์๋ ์๋ค
๋ฆฌ์๋ฒ์ธ MyActor.h ํค๋์์ ์ธํฐํ์ด์ค ์์ํ ํจ์์ ์ธ
MyActor.Cpp ๊ตฌํ๋ถ. ๋ด์ฉ์ ๋๊ฐ๋ค ์ฝ์๋ฉ์ธ์ง ํ์ค ์ถ๋ ฅ
ํ์คํธ2 ํด๋ฆฌ์ด!
3. ์ด๋ฒคํธ ๋์คํจ์ณ
์์ ๋๊ฒฝ์ฐ์๋นํด ์ก์ ์๊ฐ ๋ ํผ๋ฐ์ค๋ฅผ ๊ตฌํ ํ์๊ฐ ์๋ค ํธ๋ฆฌํ๊ฒ ์ฝ ์ด๋ฒคํธ ์์ฑํด์ฃผ๊ณ ํธ์ถํ๋ฉด ๋
๋์ ์์ ์๋ ํ ์ผ์ด ์ข ์๋ค
์ก์ ์ ๋ ํผ๋ฐ์ค๋ฅผ ๊ตฌํด๋๊ณ ์ปค์คํ ์ด๋ฒคํธ๋ฅผ ๋ง๋ ํ. ๋ฐ์ธ๋๋ฅผ ํ๋ฉด ํธ์ถ์๋ง๋ค ์คํ๋๋ค
์ฑ๊ณต
C++๋ฒ์ (๋ธ๋ฆฌ๊ฒ์ดํธ)
์ก์ ์ ํค๋์์ ๋ธ๋ฆฌ๊ฒ์ดํธ ์ ์ธ์ ํ๋ค
๋ธ๋ฆฌ๊ฒ์ดํธ์ ๊ทธ๊ฒ์ ํธ์ถํ ํธ๋ค๋ฌ
์ก์ ์ .Cpp
๊ฐ๋จํ Eํค๋ฅผ ๋๋ฅด๋ฉด ํธ๋ค๋ฌ ํจ์๋ฅผ ํธ์ถ ํ๋๋ก ์ค์ ์ด๊ฒ์ผ๋ก ์บ๋ฆญํฐ ํํธ๋ ์๋ฃ
ํ๋ ์ด์ด ๋ ํผ๋ฐ์ค๊ฐ ํ์ํ๋ฏ๋ก ๋ณ์ ์ ์ธํด์ฃผ๊ณ
๊ฐ๋น์ง ์ฝ๋ ํฐ๊ฐ ์๋ํ์ง ์๊ฒ UPROPERTY ๋ถ์ฌ์ค๋ค
์ค์ ์คํํ๊ณ ์ถ์ ํจ์ ์ถ๊ฐ
ํ๋ ์ด์ด ๋ ํผ๋ฐ์ค๋ ๋น์ฐํ ์๋๊ฐ ์์ด์ผ ๊ตฌํด์ง๋ฏ๋ก ๋น๊ธดํ๋ ์ด์์ ์ป๋๋ค
์ก์ ์(ํ๋ ์ด์ด)์์ ์ ์ธํ ๋ธ๋ฆฌ๊ฒ์ดํธ์ ์ถ๋ ฅํจ์๋ฅผ ๋ฐ์ธ๋ฉ. ์คํ์ ํ๋ ์ด์ด์ชฝ์์ Eํค๋ฅผ ๋๋ฅผ๋๋ง๋ค ๋ฐ๋
ํ์คํธ3 ํด๋ฆฌ์ด!
์ธํฐํ์ด์ค๋ C++์ชฝ์ด ์ข๋ ๊ฐ๊ฒฐํ๊ฑฐ๊ฐ๋ค ์์ฃผ ์ ์ฉํ๊ฒ ๋ ๊ฑฐ๊ฐ๋ค
๊ธ๋ก๋ฒ ํธ์ถ์๊ฒฝ์ฐ ๋์คํจ์ณ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๊ฑฐ๊ฐ๋ค
๊ฑธ์๋ง ๋จ๊ณ์ง๋ง ์์ต์ ํด๋์ผ๋ ๋ด์ผ์ ์ด๊ฒ๋ค์ ๊ฐ์ง๊ณ ๋ณธ๊ฒฉ์ ์ผ๋ก ์กฐ์ ธ๋ด์ผ๊ฒ ๋ค
์ปค์ฝ๋ค ์์ํ๋ค - dc App