2008年5月14日水曜日

WiiRemote 2nd

追記(2008/11/02):ここに書くのを忘れていたけどQC用のパッチにしました

追記(2008/9/27):
Sample_WiiRemote2.zipのリンク先の'W'が'w'になってました.すみません.直しました.http://y30.net/pg/cocoa_prj/Sample_WiiRemote2.zip



以前のときはFrameworkが0.5のsrcしか見つからなかったのですが今回はsvnから取得して最新のFrameworkを利用.
ヌンチャクのキャリブデータもとれてしっかり加速度がでました.が,IRの距離とかいろいろ不明.

まぁわたしが試す為にDarwiinRemoteのコードをみながらFrameworkの機能を自分がわかるように作ったサンプルなのでガラクタであることはご了承ください.環境はMacOS X 10.5.2.

まずはFramework
1.
> svn co https://darwiin-remote.svn.sourceforge.net/svnroot/darwiin-remote darwiin-remote

接続時に鍵関連で確認されるので一時的(t)か永久(p)を押せばcheckoutが開始されます.
2.darwiin-remote/WiiRemoteFramework/WiiRemoteFramework.xcodeprojをクリックしてXcodeを立ち上げ.
3.アーキテクチャ(i386かppcか)やSDK (10.4か10.5か)を環境に合わせる.(構成はReleaseを選択した.
4.ビルド(ビルドと実行ではない).
5.build/Release/WiiRemote.framework(フォルダ)を/Library/Frameworksへコピー(移動).


次にSample_WiiRemote
1.download http://y30.net/pg/cocoa_prj/Sample_WiiRemote2.zip
2.Sample_WiiRemote.xcodeprojをクリックしてXcodeを立ち上げ.
3.ツリー内のFrameworks/Linked Frameworks/WiiRemote.frameworkが赤字の場合は情報パネル(apple+i)でWiiRemote.frameworkへのパスを指定してあげる.
3.ビルド(と実行)


使い方
1.システム環境設定/Bluetooth環境設定を開く
2.Sample_WiiRemoteを起動.
3.Bluetooth環境設定の左リスト中にWiiリモコンが無い事を確認.あったら削除.
4."Discovery"ボタンを押す.

5.Wiiリモコンの1,2ボタンを同時押し.
6.登録されればテレメトリーが出る.


7.失敗した場合は3(削除等)から再度トライ.
8.IRはセンサーバーに電源が回っていないと表示されません.
9.IRのDistとAngleは正規化されていない.Dist(距離)は左右の点の距離(未正規化)なので大きいほど近い.AngleやX, Yはおそらくリモコンを逆さまにしたりすると間違う.左右の点の参照順序が左,右の順として固定してしまったため.


さて,これってQuartzComposerのパッチに入れられないかなー.なんて思ってるんだけどどうだろう?

0 件のコメント: