新生FF14 PlayStaion Move ナビゲーションコントローラーでプレイ XInput wrapper for ds3 編

始めに

新生FF14をPCでプレイしていて、キーボード・マウス操作のWASD移動に慣れないな、と思ったことは無いでしょうか。
FPSでは非常にメジャーなこの操作方法ですが、日頃家庭用ゲーム機を遊んでいるユーザーに取ってはなかなか取っ付きにくいものがあります。
筆者もそのひとりで、キーボード操作の利便性を損ねること無く、移動だけはゲームパッドで行なえないかと常々思っていました。そこで目に止まったのが、こちらのPlayStation Moveナビゲーションコントローラ(以下PSナビコン)でした。

f:id:cartesia:20131011233032j:plain

PS Moveシステムの左手側コントロールデバイス、片手操作であることがポイント。

但し、PSナビコンを含むPS3コントローラーはWindowsでドライバが標準でサポートされていないため、普通にUSBケーブルでPCとつなげるだけでは動作しません。そこで色々と調べたところ、PS3コントローラーをWindowsで動かすには、MotioninJoyという外部ツールを用いる方法が一般的であることが分かりました。

MotioninJoy
試しに導入し、実際に遊べるところまで行き着いたのですが、
・常時ネット接続が必要で、セキュリティ面で不安がある
・時々コントローラーからの入力が受付なくなることがあり、安定さに欠ける
といった理由で、別なやり方がないかを更に調べたところ、XInput wrapper for ds3というツールに行き当たりました。

XInput wrapper for ds3
XInput wrapper for ds3は簡単に言えば、マイクロソフト社が策定した"Xinput"というWindowsのゲームコントローラー用のAPIと、PS3コントローラーの間を橋渡しするツールになります。X360ceというツールをご存知であれば、それのPS3コントローラ専用版、と思って頂ければ近いかと思います。

公式サイトの説明、及び有志の動画を元に無事導入が行なえたので、WASD操作の悩まれている方 および MotioninJoyからの脱却を考えている方に向け、この度日本語の解説サイトを立ち上げた次第です。

※注意※
XInput wrapper for ds3の導入には、適度なレベルのWindowsの知識が求められます。
以下の説明で少しでもピンと来ない部分がある方は、導入を見送られる方が無難です。
また、あくまで筆者の環境で動作確認した内容を元に記述しておりますので、すべての環境での動作を保証するものではないこと、また、サポートも出来ないことをご了承の上、自己責任で導入頂けますよう、宜しくお願い致します。

(筆者の環境)
Windows 7 Professional 64bit版 SP1


0. MotioninJoyのアンインストール
MotioninJoyをインストールしている場合、XInput wrapper for ds3をインストールする前にアンインストールが必要です。
MotioninJoyをインストールしていない場合は、このステップは不要ですので読み飛ばしてもらって結構です。
1. XInput wrapper for ds3のインストール から進めて下さい。

以下、Administrator権限があるアカウントで実行していること、またUAC(ユーザーアカウント制御)を無効もしくは一時無効に設定できていることが条件となります。

0-1.MotioninJoy 本体の削除
・[スタート]-[全てのプログラム]-[MotioninJoy]
・DS3 Toolを起動。
・[Options]タブを開き、
   -Auto run
   -Auto check update information
   -Placing it in system tray when click close button
のチェックを外し、"Save changes"で保存する(レジストリに残骸が残った場合の、自動起動関係の不具合回避の保険)。
・DS3 Toolを終了し、念のため再起動。
・[スタート]-[全てのプログラム]-[MotioninJoy]
・"Uninstall"を実行して本体をアンインストール。
・再起動。

0-2.MotioninJoy ドライバの削除
・[コントロールパネル]-[デバイスマネージャー]
・"Windows クラス用のMicrosoft 共通コントローラー"を展開。
・"MotionJoy Virtual Xinput device for Windows"を右クリック、削除を選択。
    確認ダイアログで"ドライバのソフトウェアも削除する"にチェックをいれ、OKで確定。
    "MotionJoy Virtual Xinput device for Windows"が複数あれば同様に削除する。
・再起動。

・フォルダの検索窓で「MijXfilt.sys」を検索。検索にひっかかった「MijXfilt.sys」を手動で削除(Shiftを押しながらの削除で、完全削除になります)。

Bluetooth接続で使用していた場合
MotioninJoyはBlueToothドライバとUSBドライバが独立して2つ存在するため、両方削除する必要があります。環境によっては前段のステップで両方削除が完了していることもあります。
・再起動後、コントローラとPCをUSBケーブルで有線接続する。
・[コントロールパネル]-[デバイスマネージャー]
・"Windows クラス用のMicrosoft 共通コントローラー"でまた"MotionJoy Virtual Xinput device for Windows"が表示されたら、右クリックから削除を選択し、OKで確定。
・再起動。

0-3.MotioninJoy関係のレジストリの削除
・[スタート]-[ファイル名を指定して実行]-[regedit.exe]
・"MijXfilt.sys"で検索し、ヒットしたPathのキーや、"MotionJoyXFiler"のキーを削除する。削除できない場合は無理に削除しないほうが無難です。

0-4.メーカー製Bluetoothドライバをインストールしている場合
外付けBluetooth接続でMotioninJoyを使用していた場合、メーカー製のBluetoothドライバをインストールしていると思います。
XInput wrapper for ds3でもBluetooth接続でPS3コントローラーを使用したい場合、メーカー製ドライバは不要になりますのでアンインストールして下さい。
後述しますが、新生FF14でのPS3コントローラーのBluetooth接続は推奨致しません。使用しない場合、どちらにせよBluetoothは不要なため、結局アンインストールすることになると思います。
Bluetooth内蔵タイプの場合は、残しておいたほうが無難です。
またまた再起動。


1. XInput wrapper for ds3のインストール
いよいよXInput wrapper for ds3のインストールです。
サイトは英語で難しそうなのですが、インストール自身は非常に簡単です(MotioninJoyと比べると段違いに難易度は低いです)。
Bluetooth接続をする場合/有線接続の場合でのインストール方法違いは2箇所のみで、差分は[BT]赤字で記載しています。
また、OSによってインストールの手順に若干差がありますので、こちらはそれぞれに分けて記載します。

1-1.準備
XInput wrapper for ds3をインストールするにあたり、以下のものが必要になります(公式サイトより)。

(1)Microsoft .NET 4.0 最新サービスパックのインストール(Windows Updateで最新状態に更新しておく)
(2)Visual C++ 2010 再頒布可能パッケージ 最新サービスパックのインストール(Windows Updateで最新状態に更新しておく)
(3)DirectX エンドユーザー ランタイムのインストール(新生FF14が動作している環境であれば、恐らく最新になっています)
(4)Xbox 360 Controller for Windows アクセサリー(統合ソフトウェア)。
※インストールの順番があるので、この段階ではインストールせず、ダウンロードだけしておいて下さい。ここあたりから入手。
(5)純正 DualShock3 または SixAxis コントローラー。PSナビコンももちろんOKです。
(6)Administrator権限でログインしていること。
(7)(もしBluetoothで無線接続をする場合)Bluetooth 2.0 以上で + EDR 対応の Bluetoothアダプター。
Bluetoothアダプターは、XInput wrapper for ds3側がサポートしている機器である必要があります。
公式サイトのCurrently Supported Donglesにサポートしている機器のハードウェアIDが一覧化されています。
ハードウェアIDは、実際にアダプターを挿してみて、デバイスマネージャーの[プロパティ]-[詳細]-[プロパティ]-[ハードウェアID]で見ることが出来ます。筆者はMotioninJoy時代に使用していたBT-Micro3E2Xを試したところ、USB\VID_0A12&PID_0001とサポートされていたアダプターであることがわかり、実際に動作確認も出来ました。ご参考まで。

Bluetoothをオススメしない理由ですが、筆者の環境ではMotioninJoy/XInput wrapper for ds3ともに、BT接続の場合、固有の場所でかなりの頻度でコントローラが入力を受け付けなくなる(もしくは受付が鈍くなる)場所があり(例 ワンダラーパレスのどーもくん先の、魚2匹にトンベリ3匹が徘徊している曲がり角など)、安定しなかったからです。
筆者は現在、有線でプレイしていて非常に安定しています。


1-2.XInput wrapper for ds3のインストール
筆者の環境は Windows 7 Professional Edition 64bit版 SP1で、実際に動作確認済です。
他のOSのインストール手順に関してはサイトの記載に則ってのものであり、実際に自分で動作確認をしたものでは無いことを予めご了承下さい。


[Windows 7/8の場合]

①使用するコントローラーをUSBケーブルでPCと有線接続します。ハードとして認識はされますが、この時点ではもちろん動作しません。
[BT]BluetoothアダプターをUSBポートに挿し、Windowsの標準ドライバを自動インストールしておきます。メーカー製ドライバのインストールは不要です。

②事前にダウンロードしておいた、Xbox 360 Controller for Windows アクセサリーをインストールします。

公式サイト の上段にある、Download latest version here. から最新パッケージをダウンロードします。
10/8現在、最新版は SCP-DS3-Driver-Package-1.0.0.103.7z です。

④パスが通っているフォルダに、パッケージの中身を置くためのフォルダを新規作成します。
デスクトップや2バイト文字(日本語など)が入ったフォルダ名はNGです。特にこだわりがなければ、公式ページに書かれている
C:\Program Files\Scarlet.Crush Productions を作成すると良いでしょう。

⑤作成したフォルダに、ダウンロードしたドライバパッケージを解凍します。

⑥解凍したScpServer\binフォルダの中にある、ScpDriver.exeを実行します。

⑦Configure Serviceにチェックが入っており、Bluetooth Driver と Force Installにチェックが入っていないことを確認の上、Installボタンをクリックします。

f:id:cartesia:20131012005749j:plain


[BT]Configure Service とBluetooth Driver にチェックが入っており、Force Installにチェックが入っていないことを確認の上、Installボタンをクリックします。 f:id:cartesia:20131012010614j:plain

 

⑧インストールログがいっぱい流れ、ところどころにドライバのインストールを確認するダイアログが表示されます。順次OKをクリックしてインストールが終わるのを見守りましょう。

⑨インストールが完了すると、ログ画面にInstall Summaryが表示されます。Exitで終了します。

⑩以上でインストールが完了です。成功していれば、[コントロールパネル]-[デバイスとプリンター]に"Xbox 360 Controller for Windows"が表示されます。また、右クリックして[ゲームコントローラーの設定]-[プロパティ]からボタンの動作の確認も行なえます。


[Windows XP/Vistaの場合]
①使用するコントローラーをUSBケーブルでPCと有線接続します。ハードとして認識はされますが、この時点ではもちろん動作しません。
[BT]BluetoothアダプターをUSBポートに挿し、Windowsの標準ドライバを自動インストールしておきます。メーカー製ドライバのインストールは不要です。

公式サイト の上段にある、Download latest version here. から最新パッケージをダウンロードします。
10/8現在、最新版は SCP-DS3-Driver-Package-1.0.0.103.7z です。

③パスが通っているフォルダに、パッケージの中身を置くためのフォルダを新規作成します。
デスクトップや2バイト文字(日本語など)が入ったフォルダ名はNGです。特にこだわりがなければ、公式ページに書かれている
C:\Program Files\Scarlet.Crush Productions を作成すると良いでしょう。

④作成したフォルダに、ダウンロードしたドライバパッケージを解凍します。

⑤解凍したScpServer\binフォルダの中にある、ScpDriver.exeを実行します。

⑥Configure Serviceにチェックを入れ、Bluetooth Driver のチェックを外し、Force Installにチェックを入れた状態でInstallボタンをクリックします(画像のOSバージョンは無視してください)。f:id:cartesia:20131012005754j:plain

 

[BT]Configure Service 、Bluetooth Driver、Force Installすべてにチェックが入ってることを確認の上、Installボタンをクリックします(画像のOSバージョンは無視してください)。f:id:cartesia:20131012005757j:plain


⑦インストールログがいっぱい流れ、ところどころにドライバのインストールを確認するダイアログが表示されます。順次OKをクリックしてインストールが終わるのを見守りましょう。

⑧インストールが完了すると、ログ画面にInstall Summaryが表示されます。Exitで終了します。

⑨最後に、事前にダウンロードしておいたXbox 360 Controller for Windows アクセサリーをインストールします。

⑩以上でインストールが完了です。成功していれば、[コントロールパネル]-[デバイスとプリンター]に"Xbox 360 Controller for Windows"が表示されます。また、右クリックして[ゲームコントローラーの設定]-[プロパティ]からボタンの動作の確認も行なえます。


2.JoyToKeyのインストール
XInput wrapper for ds3までインストールが行なえれば、PSナビコンをWindows上で操作できる条件が整いました。
今回の狙いは新生FF14でPSナビコンでのWASD操作なので、アナログスティック等にキーボードのキーを割り当てたいと思います。
キーボードのコントローラの割り当てには、この手の目的では定番の「JoyToKey」を使用することになります。

JoyToKey

(以下公式サイト説明文抜粋)
JoyToKey (Joy2Key) は、ジョイスティックの入力をキーボードやマウスの入力に変換し、さまざまなアプリケーションを操作できるようにするユーティリティソフトです。


割り当て方法などの詳細説明は省きます。ほぼ直感的に設定できますので、ヘルプなどを見て行なって下さい。
他のゲームでも設定の切り替えが出来るよう、新生FF14用に1つ設定ファイルを準備しておくと良いでしょう。

以下は実際に筆者が使用している設定です。

[Options]

f:id:cartesia:20131012012931j:plain

L2トリガーが恐らくZ軸扱いになっておると思いますので、オプション画面で[設定するボタンの種類]を"すべての軸を表示(8軸+POV×2)"にして、すべてのボタンへの登録が行えるようにしておいて下さい。
また、入力のしきい値でボタン入力の反応度合いを設定できます。あまり敏感だと特に移動時に斜めに入りやすくなるため、筆者はここを25%にしています。

[Joystick1]
筆者の環境では、PSナビコンがJoyToKey上では以下のようなボタンアサインになっていました。

f:id:cartesia:20131012013011j:plain

アナログスティック上 = Stick1:↑
アナログスティック下 = Stick1:↓
アナログスティック左 = Stick1:←
アナログスティック右 = Stick1:→
十字キー上 = POV1:↑
十字キー下 = POV1:↓
十字キー左 = POV1:←
十字キー右 = POV1:→
○ = Button 2
× = Button 1
L1 = Button 5
L2 = Axis5(>0)
L3 = Button 9


それぞれに対し、筆者は以下の様にキーを割り当てしています。レガシータイプ準拠です。

アナログスティック上 = Stick1:↑ => W(前移動/初期値)
アナログスティック下 = Stick1:↓ => S(後移動/初期値)
アナログスティック左 = Stick1:← => A(左移動/初期値)
アナログスティック右 = Stick1:→ => D(右移動/初期値)
十字キー上 = POV1:↑ => 8(パーティリスト移動:上/キーバインド変更)
十字キー下 = POV1:↓ => 2(パーティリスト移動:下/キーバインド変更)
十字キー左 = POV1:← => 4(アンカー移動:左/キーバインド変更)
十字キー右 = POV1:→ => 6(アンカー移動:右/キーバインド変更)
○ = Button 2 => 0(決定/キーバインド変更)
× = Button 1 => -(キャンセル/キーバインド変更)
L1 = Button 5 => Alt(複合入力用)
L2 = Axis5(>0) => Ctrl(複合入力用)
L3 = Button 9 => F11(一番近くの敵をターゲット/初期値)

筆者はキーボードの数字キーとテンキーの数字キーを「キーバインド変更」でごっそり入れ替えており、ホットバーの登録をすべてテンキーに集約しています。
この設定の利点は、左手=PSナビコン(主に移動やターゲット操作) / 右手=マウス(カメラ操作) or テンキー(ホットバー登録アクション実行) と、両手でスムーズな操作が行なえるところにあります。

ホットバー登録アクションは、Alt同時押し/Ctrl同時押しとテンキーの複合入力を駆使することによって数をカバーします。

例)ホットバー4の9に 「かばう」 を登録しておき、キーバインド変更で ホットバー4の9に"Alt+Num9"をアサインしておく。左手ナビコンのL1(Alt)と右手テンキーの9の同時押しで、「かばう」が発動する。 etc.

「HUDレイアウト変更」で横ホットバーを縦に4つ積み重ね、該当アクションをテンキーと同じ配列にすると、視覚的にも分かりやすくなるのでオススメです。

設定がひと通り終わったら、メモ帳などで実際にボタンを押してみて、期待する結果になるかを確認します。

ここまで無事確認できたら、いざプレイ!です。PSナビコンの使い勝手の良さを実感頂けることと思います。

以上、長文となりましたが、今後の新生FF14ライフに少しでも役に立つことができれば幸いです。