2009.10.26 15:08:21
category:[actionscript , spacenavigator]
tags:[actionscript , as3 , spacenavigator]
まさか先に書かれてしまうとは思わなかったw
というわけで、teraco27にてSpaceNavigatorライブラリをお披露目してきました。
SpaceNavigatorはXYZの3軸に対して移動および回転を行うことが出来るインターフェースデバイスです。
今日PCで使われているインターフェースデバイス、例えばマウスを例に挙げれば、ほとんどのマウスはXYに対する移動にしか対応していません。また、回転にも対応していません。
SpaceNavigatorは「キャップ」と呼ばれる大きなボトルキャップのような部分を前後左右、そして上下に動かして移動を行うことが出来ます。上下に動かすという都合上、本体の台座は重くなっています。
また、キャップを傾けたり捻ったり等回転動作も行うことが出来ます。
と、まぁ文章では伝えにくいものなので、使用イメージなどの詳細については以下のサイトを参照してください。
さて、面白いデバイスだという事はおわかりいただけたと思います。
というわけで、Flashで使うためのライブラリとサーバーを組んでみました。
まだ暫定公開ですが、SparkProjectにコミットしていますので、SpaceNavigatorをお持ちで、Windowsユーザー(理由は後述)の方はsvnでチェックアウトしてみてください。
チェックアウト用URLはこちら。
http://www.libspark.org/svn/as3/SpaceNavigator/
仕組みは基本的にGainerと同じです。
外部アプリケーションとしてSocketサーバーを立て、そのソケットサーバーからFlashへ値の受け渡しをしています。
SocketサーバーはPythonで組んでおり、SpaceNavigatorから提供されているDLLを利用して値を取得しています。先ほどチェックアウトをWindowsユーザーに限ったのはこれが原因です…が、どこぞの先生が1時間足らずでMac用を作ってくれました。
僕の作ったWindows版は現在暫定公開ということでUI無しの状態ですが、そのうちつけます。また、ローカルのポートを使用するためセキュリティサンドボックス侵害にもお気をつけください。
肝心の使い方ですが、上記のリポジトリにサンプルも添付しています。
ごくごく短いコードですので、見ればすぐにわかると思います。
さて、SpaceNavigatorはGainerと違いエンドユーザー向けにデザインされている製品であるため、商用としてブース等に設置しても見栄えよく使うことが出来ますが、ひとつだけ注意点があります。
もちろん今回公開したSpaceNavigatorライブラリは商用・非商用に関わらず使っていただけます。しかしSpaceNavigatorそのものには商用向け(SpaceNavigator SE)と非商用向け(SpaceNavigator PE)があります。もし商用という形でSpaceNavigatorを使用される場合はその点をご注意ください。