FSUIPC
예전에 보잉767 시뮬레이터 만들때 쓴 글입니다.
지금은 물어보셔도 기억이 안납니다.. 하하..
FSX를 개발하기 위하여 많은 사람들이 FSUIPC라는 플러그인을 사용합니다.
쉽게 설명하면 FSUIPC는 FSX의 SimConnect를 이용해서 FSX의 데이터를 읽고 쓰기 위해 만든 플러그인 인것입니다.
저도 처음엔 그걸 이해 못해서 -_-
FSUIPC와 WideFS를 패키지로 사버렸죠.(36유로)
그런데 사고 보니
FSUIPC나 제가 직접 SimConnect를 이용해서 만들었을때나 별반 차이가 없었습니다. 왜냐면.. 모션에 사용한 데이터만 뽑아내면 되는것이었죠... 머 737 시뮬레이터 프로젝트에 FSUIPC가 포함되어있어서 어차피 써야 했지만 SimConnect에서 찾은 각각의 variable을 다시 FSUIPC에서 찾아야 하는게 좀 짜증이 나더군요.. 물론 코딩하는 양은 FSUIPC를 사용하면 100줄이 5줄이 됩니다만.....
FSUIPC를 까보니 SimConnect를 이용하여 모듈을 만들고 FSX에 붙인다음 사용자는 공유메모리를 이용하여 데이터를 빼오는 방법인듯합니다.
좀 귀찮은것은 FSUIPC SDK의 설명서에 나오는 각 variable에 대한 offset값을 찾아야 한다능.. 그런데 이거 비슷비슷한게 많아서 하나하나 다 테스트 해야했죠..
저는 모션큐를 만들기 위한 데이터만 뽑으면 되기 떄문에 Roll Pitch Yaw Heave Surge(맞나) Sway 만 겁나 찾았죠.. 종류가 참 많습니다 -_-;; 이것저것 비슷한거 다 테스트 해보니.. 결국에 쓸만한건
OFFSET 2F70 부터 8바이트씩 2개(PITCH,ROLL) OFFSET 0580 부터 4바이트 1개(YAW인데 값이 좀 이상합니다만.. )와
OFFSET 31C0 부터 24바이트( X, Y, Z 가속도) 를 사용하기로 했습니다...
이 데이터 들이 맞는건지는 확실하지 않으나... 머 나중에 모션 붙여서 테스트 해보면 알겠죠...
혹시 FSUIPC를 이용해서 개발하시는 분들은 http://forum.simflight.com/forum/30-fsuipc-support-pete-dowson-modules/
여기를 거의 내집 드나들듯이 들어가야 합니다 ㅋㅋ FSUIPC 개발자가 직접 질답을 해주고 대응도 생각보다 빠르더군요...
지금은 물어보셔도 기억이 안납니다.. 하하..
FSX를 개발하기 위하여 많은 사람들이 FSUIPC라는 플러그인을 사용합니다.
쉽게 설명하면 FSUIPC는 FSX의 SimConnect를 이용해서 FSX의 데이터를 읽고 쓰기 위해 만든 플러그인 인것입니다.
저도 처음엔 그걸 이해 못해서 -_-
FSUIPC와 WideFS를 패키지로 사버렸죠.(36유로)
그런데 사고 보니
FSUIPC나 제가 직접 SimConnect를 이용해서 만들었을때나 별반 차이가 없었습니다. 왜냐면.. 모션에 사용한 데이터만 뽑아내면 되는것이었죠... 머 737 시뮬레이터 프로젝트에 FSUIPC가 포함되어있어서 어차피 써야 했지만 SimConnect에서 찾은 각각의 variable을 다시 FSUIPC에서 찾아야 하는게 좀 짜증이 나더군요.. 물론 코딩하는 양은 FSUIPC를 사용하면 100줄이 5줄이 됩니다만.....
SimConnect에서
필요한 데이터를 뽑아내는 방법(제가 한 방법, 메뉴포함)
1. SimConnect_MenuAddItem 을 이용하여 메인메뉴삽입.
2. SimConnect_MenuAddSubItem 을 이용하여 메뉴 생성
3. DEFINITION과 REQUET ID, EVENT ID 생성 ( 노 가 다)
4. SimConnect_AddToDataDefinition 를 이용하여 각 DEFINITION과 뽑아낼 데이터를 선택(SDK 설명서에 Variable.htm
문서에 설명이 되어있습니다.)
5. SimConnect_SubscribeToSystemEvent 를 이용하여 이벤트 생성( 시뮬레이션 시작 , 종료, 타이머 등등)
6. 각 이벤트에 대한 CALLBACK 처리( 역시 SDK에 샘플이랑 다 있습니다.)
1. SimConnect_MenuAddItem 을 이용하여 메인메뉴삽입.
2. SimConnect_MenuAddSubItem 을 이용하여 메뉴 생성
3. DEFINITION과 REQUET ID, EVENT ID 생성 ( 노 가 다)
4. SimConnect_AddToDataDefinition 를 이용하여 각 DEFINITION과 뽑아낼 데이터를 선택(SDK 설명서에 Variable.htm
문서에 설명이 되어있습니다.)
5. SimConnect_SubscribeToSystemEvent 를 이용하여 이벤트 생성( 시뮬레이션 시작 , 종료, 타이머 등등)
6. 각 이벤트에 대한 CALLBACK 처리( 역시 SDK에 샘플이랑 다 있습니다.)
FSUIPC를 까보니 SimConnect를 이용하여 모듈을 만들고 FSX에 붙인다음 사용자는 공유메모리를 이용하여 데이터를 빼오는 방법인듯합니다.
좀 귀찮은것은 FSUIPC SDK의 설명서에 나오는 각 variable에 대한 offset값을 찾아야 한다능.. 그런데 이거 비슷비슷한게 많아서 하나하나 다 테스트 해야했죠..
저는 모션큐를 만들기 위한 데이터만 뽑으면 되기 떄문에 Roll Pitch Yaw Heave Surge(맞나) Sway 만 겁나 찾았죠.. 종류가 참 많습니다 -_-;; 이것저것 비슷한거 다 테스트 해보니.. 결국에 쓸만한건
OFFSET 2F70 부터 8바이트씩 2개(PITCH,ROLL) OFFSET 0580 부터 4바이트 1개(YAW인데 값이 좀 이상합니다만.. )와
OFFSET 31C0 부터 24바이트( X, Y, Z 가속도) 를 사용하기로 했습니다...
이 데이터 들이 맞는건지는 확실하지 않으나... 머 나중에 모션 붙여서 테스트 해보면 알겠죠...
혹시 FSUIPC를 이용해서 개발하시는 분들은 http://forum.simflight.com/forum/30-fsuipc-support-pete-dowson-modules/
여기를 거의 내집 드나들듯이 들어가야 합니다 ㅋㅋ FSUIPC 개발자가 직접 질답을 해주고 대응도 생각보다 빠르더군요...
ㅋㅋ 인천공항에서 이륙준비중!!
댓글
댓글 쓰기