長い事ほったらかしていたフォースフィードバック(以下FF)の話です。
前回は振動機能付きゲームパッドを購入してディスクリプタ類を調べたけどイマイチわからないという話を書きました。
また並行してPCからFFデバイスを制御する方法も知っておく必要があると考え、MSDNのこのページにC#から制御する例があったので実行してみましたが、下図のエフェクト作成処理でエラーが出ます。
因みにビルド環境はVisualStudio2010Expressです。
この原因は何でしょう? このまま数カ月止まっていました。
どうしようかなーと思ってたところ、MEDさんからフォースフィードバックどうなってんの?というリクエストもあり、重い腰を上げました。
とりあえず上のサンプルプログラムは一旦置いとく事とし、代わりにDirectXのSDKにFFConstというサンプルが付いていたので、こっちを試してみます。これはC++で書かれた例です。
しかしこのサンプルはビルドすると”afxres.h”が無いと言ってエラーになりました。
ググッてみると”afxres.h”はMFCの関係だそうで、VisualStudioのExpress版には含まれていないので代わりに”windows.h”を使えばいいらしいです。
次に”..\..\DXUT\Optional\directx.ico”が無いと言ってきます。とりあえずここは”.\directx.ico”に変更し、ビルドディレクトリにdirectx.icoをコピーしてきました。
これで無事実行でき、下の様なウィンドウが開きます。そして枠内をマウスでクリックすると確かにゲームパッドが振動しました。
ほんの少しだけ前進したのですが、OpenStickをFF化するにはまだまだハードルがあります。 エフェクトをデバイスに送る部分はどうやらドライバを書く必要がありそうです(Windowsのドライバなんて書いた事ありません)。
という事で道は遠いです、また「ぼちぼち堂本舗」になると思います。
こんにちは。
まずは振動させられたということでよかったです。
次は、ドライバの作成ということですが、なかなか厄介そうですね。
こちらの方もぼちぼちでよろしくお願いします。
MEDさん
こんにちは。
そうですね。フォースフィードバックは’夢’ですので諦めず
ぼちぼち進めていきます。