こちらではVitaTV(PlaystationTV)でDualShockコントローラーでモーションコントロールサポートを追加するプラグインDSMotionを紹介します
「ds3vita」または「ds4vita」プラグインを使用して実際の PS Vita で使用すると、コンソールの内部モーション センサーをコントローラーのセンサーに置き換えることができます (ただし、「ds3vita」ではうまく動作しません。制限事項のセクションを参照してください)。
プラグインは 2 つあります。
カーネルプラグインdsmotion.skprx : Bluetooth 呼び出しをフックして DualShock コントローラーのパケットをキャッチし、インターセプトされたモーションデータを取得するためのユーザーサービスを公開します。
ユーザープラグインdsmotion.suprx : カーネルプラグインサービスを呼び出し、SceMotion関数の戻り値として指定されたデータを再解釈します。
互換性
NPXS10007 - ウェルカムパーク - スケートボードゲームをプレイできます。
PCSF00214 - Tearaway - PS Vita を振るように要求する導入部は、コントローラーを振ることで通過できるようになりました。
PCSF00349 - 花 - ゲームはプレイ可能です。
PCSF00007 - WipEout 2048 - モーション コマンド オプションを使用してゲームをプレイできます。
PCSA00029 - アンチャーテッド ゴールデンアビス - 第 12 章のリバー ゲームとその他のバランス ミニ ゲームを完了できます。
PCSB00360 - Rayman Legends - マーフィーはモーションコントロールを必要とするアクションを実行できるようになりました。
PCSB00031 - Virtua Tennis 4 - 「Match VR」モードでは、水平方向のコントロールが反転しているように感じる場合があります (読み取り制限)。
PCSF00024 - Gravity Rush - 「無重力」モードでは、水平方向のコントロールが反転しているように感じる場合があります (読み取り制限)。
制限事項
DualShock 3 コントローラーを使用する場合は、PS TV の USB に直接接続しないでください。そうしないと、信号が Bluetooth ではなく USB 経由で送信され (キャッチされません)、コントローラーには外部充電器を使用してください。
「ds3vita」を搭載したクラシック PS Vita ではうまく動作しません。理由は不明ですが、モーション コントロール サンプルが時間の経過とともに間隔が開きすぎているようです。
これは、文書化されていない「SceMotionDev」カーネル関数の代わりに、文書化された「SceMotion」ユーザー関数をフックします。これらのカーネル関数を理解できれば、単一のカーネル プラグインとの互換性を高めることができます (ユーザー プラグインは不要になります)。
コントローラーを逆さまにすると、計算された方向が間違っています (ゲームで垂直に高く見ようとすると、これが起こる可能性があります)。
現在、ジャイロスコープのデータは方向計算中に利用されていません (試したときにドリフトの問題が発生したため)。数学/IMU のスキルをお持ちの場合は、お気軽にご連絡ください。
一部のゲームでは、水平方向のコントロールが反転しているように見える場合があります (特に FPS および TPS の視点の場合) が、これは誤った印象です (実際の PS Vita では、デバイスを左に傾けるとビューが右に移動し、その逆も同様です)。
下記リンクよりdsmotion.skprxファイルとdsmotion.suprxファイルをダウンロード
・ux0(メモリーカード)に保存する場合
ux0:tai/フォルダの中にdsmotion.skprxファイルとdsmotion.suprxファイルを保存
ux0:tai/config.txtを開いて追記
*KERNEL
ux0:tai/dsmotion.skprx
*ソフトのタイトルID又はALL
ux0:tai/dsmotion.suprx
・ur0(本体)に保存する場合
ur0:tai/フォルダの中にdsmotion.skprxファイルとdsmotion.suprxファイルを保存
ur0:tai/config.txtを開いて追記
*KERNEL
ur0:tai/dsmotion.skprx
*ソフトのタイトルID又はALL
ur0:tai/dsmotion.suprx
ソフトのタイトルIDを、モーション制御が必要なタイトルIDに置き換えるか、すべてのタイトルに影響を与えるALLに置き換えます
本体を再起動で適応
コメント
コメントを投稿