SIXAXIS の入力をPCで読めるようになったので、試しに作ってみた SIXAXIS の姿勢を画面に反映するアプリです。
さらに SIXAXIS の姿勢をカメラとリンクさせてバーチャル空間をモニター越しに覗くっぽいことをする実験プログラムです。
本当はたぶん加速度3軸+角加速度1軸が取れるはずなんだけど、
この SIXAXIS ドライバーでは角加速度がうまく取れないようで、加速度3軸のみでやっているため、重力方向を軸とした回転が判別できません。
動作環境:
WindowsXP / WindowsVista x86 版
DirectX9 (Pixel shader 3.0 / Vertex shader 3.0)
必要機器:
SIXAXIS または DUALSHOCK3
以下の2つをインストールします。
・「DirectX9 End-User Runtime」
・「Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ」
既にインストールされている場合が多いと思うので、SixTilt 実行時になにも言われなければ気にする必要ありません。
SIXAXISドライバーをインストールします。
http://www.codeproject.com/KB/mcpp/wiredps3axis.aspx
上記サイトから "Driver which initialises the controller" をクリックして、適当にインストールしてください。
※当方では、ドライバーをインストールしたことによるいかなる問題にも対処いたしませんのでご注意ください。
コントローラーをUSBケーブルでPCに直接接続します。(ワイヤレス通信には対応していません)
このときUSBハブを経由するとうまく認識しないようなので、PC本体のUSB端子に直接つなぐようにしてください。
図のように、手持ち可能な小型のモニター(※)に SXIAXIS を固定するというアナログな手法で使います。あくまでも実験なので。
この状態でモニターを動かすと、モニターの動きにリンクして映像が動くので、あたかもモニター越しにバーチャル空間を覗いているように見えるはず…というものです。
※SixTilt は DirectX で画面描画するので、最近はやりの USB 接続のサブモニターには映らないと思います。
操作方法は以下の通りです。
△ボタン: | カメラ切り替え 固定視点→SIXAXIS視点(SIXAXIS表示あり)→SIXAXIS視点(SIXAXIS表示なし) |
左スティック: | SIXAXISの左右回転(角加速度が取れないので苦肉の策) |
L1/L2: | カメラ位置の前後調整 |
R1/R2: | 画角(焦点距離)の調整 |
実際やってみるといまいちVR感に欠けるというか、思ったほど面白くなかった…
ヘッドマウントディスプレイを使ってやればもう少し面白くなるのかも?
Kiyoshi Sakai
2010.7.21