지난번에 특정 색깔의 물체를 웹캠과 opencv로 인식 한 후
그 물체의 크기와 좌표를 유니티에 전송하는 방법에 대해서 질문을 올렸는데요
답변자 분 중에 dll을 이용하는 방법에 대해서 설명한 링크를 걸어 주신 분이 있더라구요
제가 이해한 방식으로 코드를 작성할 경우
과연 제가 생각 한대로 작동 될지가 궁금하네요
가령 아래와 같은 C++ 코드가 있다면
==========================================
int GetInteger()
{
return i;
}
int main()
{
int i;
while(1)
{
if (waitKey(1) == 27) break; //프로그램 종료
if(waitkey(1)=='3') i=3;
if(waitkey(1)=='4') i=4;
}
return 0;
}
============================================
위 프로그램은 esc를 누르면 종료되고 3or 4를 누르면 해당 숫자로 정수i가 변하는 프로그램 입니다.
무한루프를 돌기 때문에 실시간으로 값이 바뀌면 된다고 보시면 되구요
그러면 유니티 스크립트에서
==================
void update()
{
Input.GetButtonDown(특정 키가 눌러 젔을 경우)
{
//C++ 프로그램의 정수 i의 값을 GetInteger 함수로 가져 올 수 있다.
}
}
==========================
이런 코드를 작성하면 실시간으로 C++ 프로그램에 있는 정수i 를 확인 할 수 있는건가요??
저런 발상으로 작성하면 충분할까요??
아무래도 C++프로그램이 빠른속도로 무한 루프를 돌면서 실시간으로 값을 변화시키는 프로그램이다보니
유니티 프로그램과 opencv 프로그램 간의 동기화? 같은거는 필요 없는건지 궁금하네요....