Question>
unreal engine 4로 작업 중임.
blue print를 통해서
외부 program을 실행시키거나,
외부 H/W(정확히 말하면, micro controller board)에 접근하려고 함.
어떻게 접근해야 가능한가?
-------------------------------------------------------------
Answer>
제 생각에는 2가지 방법이 가능하겠습니다.
1> 'Launch URL' node를 사용하는 방법.
님이 접근하려는 외부 H/W가 http 같은 network 접속을 지원한다면,
'Launch URL' 같은 blue print node를 활용하면 간단히 해결됩니다.^^
unreal editor의 상단 tool bar에서
'level blue print'로 진입하신 후, 작업창에 아래와 같이 click하세요.
(mouse 우측 button) => Call Function => Utilities => Platform => Launch URL
click을 하고 나면,
'Launch URL'라는 blue print node가 생기게 됩니다.^^
이제 이 node의 'URL' 항목에 원하시는 데로 주소를 입력하면, 됩니다.^^
예1>
http://www.ruliweb.com/
( 제 취향대로 썼습니다. 이해해 주세요.^^;;;;; )
예2>
http://192.168.0.11/activate?deviceId=100&actionId=30
( 이 부분은 님이 제어하려는 외부 H/W의 설정에 맞게 바꾸세요~ ^^;;;;; )
2> blue print function으로 호출하는 방법.
님이 접근하려는 외부 program이나 외부 H/W가 http를 지원하지 않을 때는
님이 원하는 기능을 가진 blue print function을 C++로 만드셔야 합니다.^^;;;;;;;;;;
만드시려는 함수 이름을 'Abc'라고 가정하고,
이 함수가 반환값이 없으면서, 정수 인자와 부동소수 인자를 각각 1개씩 입력 받고,
이 함수를 blue print에서 호출할 수 있으면서,
분류를 'Development -> MySpecialWork'에 두시려면,
함수를 선언한 class에 아래와 같은 항목을 넣으시면 됩니다.
UFUNCTION( BlueprintCallable, Category="Development|MySpecialWork" )
void Abc( int iParaIn, float fParaIn );
그리고, Abc()를 C++로 제대로 정의하시고, compile하시면,
이후, 'level blue print'에서 Abc()에 접근할 수 있게 됩니다.^^
그러면, Abc()의 내용에 따라서,
외부 program을 부를 수도 있고, 외부 H/W도 제어할 수 있습니다~ *-_-*
2가지 중에 하나 고르세요~ ^^
Tag:
안기훈, Kee Hoon Ahn, Unreal, UDK, iPhone, iPad, app, 앱, iOS