SSブログ

XOutput エンハンス版(公開) [GAME]

エンハンス版を公開します。
私としては満足のいく状態になりました、FFBを何とかしたいですがこれに関しては技術的にまったくわかりません・・・・・。以下、前の記事と重複しますがご容赦願います。
権利関係を調べたのですが、結局よくわからない部分があったので以下の様に対応します。
GitHubのソースにはLGPLのLICENSEがあるためLGPLであると解釈しました(ただ、Copyrightの表記がソース上になかったりするので・・・)。
オリジナルのアーカイブに含まれるファイルに、配布条件等権利関係がよく分からないファイルがあるので、当方のアーカイブにはこれらのファイルは含めずXOutputのバイナリのみを公開します(従って動作にはオリジナルのアーカイブが必要となります)。

修正点は以下は今回の修正点( 以前の修正点はhttp://hbkim.blog.so-net.ne.jp/2016-05-19 )
 ・バグ修正
  何点か見つかったバグを修正
 ・Ditectのサポート
  割り当てたいボタン等を操作することで割り当てることが出来ます
 ・スティックのボタンによるエミュレーション(デジタル)
  スティックの操作をボタンで置き換えます。ボタンなのでデジタルに
  なります。

確認はG27でおこなっていますいますので、他のコントローラではなにか不都合がでるかもしれません・・。
Ditectはアナログ軸をある程度自動判定していますが、ハーフ,反転等は必ずしも正しいとは限らないので、必要に応じて変更願います。

ダウンロードは以下からお願いします
 バイナリー
  http://www.ockim.mydns.jp/files/XOutput_20160525_bin.zip
 ソース
  お行儀の悪いクローラ等が根こそぎ持っていくので、リンクは貼りません。
  ソースが必要な方は、バイナリーのリンクのbinをsrcに置き換えてダウン
  ロードしてください。

公開方法や内容に問題がある場合にはコメント等でご指摘ください。

nice!(0)  コメント(26)  トラックバック(0) 

nice! 0

コメント 26

通りすがりのゲーマー

ハンコン対応で喜んでいたらDFGTには未対応ということで、今更ながら頂きました。
とりあえずの操作は問題ありませんが、やはりステアリングのセンター周りがイマイチですね。
デッドゾーンを0にしても遊びがあります。
G27は正式に対応されたということですので、やはりG29などへの買い替えを視野に入れようかと考え中です。

何はともあれありがとうございました。
by 通りすがりのゲーマー (2016-10-08 17:22) 

kim

コメントありがとうございます
所詮、XBOXのコントローラに変換しているだけのものなので、精度はよくないですね。
今回の対応はDX12での正式対応となるので、DX12を利用した別のゲームでも同様の対応になる可能性があるので、本格的にプレーするのであれば今回対応となったハンコンを入手するほうが良いと思います(高かったり日本で売ってなかったりしますが・・・)、あとFFBが効くのも大きいと思います。
by kim (2016-10-10 22:06) 

お名前(必須)

wireless speed wheel(通称Uコン)で試してみました。
予想以上にちゃんと動くので感動しました。
もともとが360コントローラをジャイロ経由にしたガジェットだからってのもありますが。
手間だったかと思いますが、ありがとうございます。
by お名前(必須) (2017-10-15 05:24) 

kim

コメントありがとうございます
動作したようでなによりです。

by kim (2017-10-15 08:10) 

mello

2019年から失礼します。
私はニンテンドースイッチのデバイス「ジョイコン」をPCに繋ぎ、xoutputを使って「フォートナイト」というゲームを遊ぼうとしていました。
ですが、元のxoutputはスライダーの項目が無く、ジャイロ操作の入力をxoutputに設定することが出来ませんでした。
そんな時にこの記事を見つけ、スライダーを追加したxoutputを使うことが出来、改変者様の意図した使用方法では無いかもしれませんが大変感謝しております。

ただ当たり前の話ではありますが、本来スティックの入力はスティック一個分を想定されているので、理想の動きとしている「右スティック入力とジャイロ操作の入力を同時に行う」という機能が現在のxoutputには備わっておらず解決策を探している状態です。

そこで大変厚かましいお願いではございますが、
もし可能なのであれば、
改変されたxoutputに、右スティック入力をもう一つ追加して、二つの右スティック入力を同時に行えるxoutputを作成しては頂けないでしょうか。

知識が無く、色々と失礼なことを言っているかもしれませんがもしよろしければ、ご返信頂けたら大変嬉しいです。長文失礼いたしました。よろしくお願い致します。
by mello (2019-09-12 04:21) 

kim

melloさん
わたしはジョインコン自体見たことも触ったこともないので、書かれていることの意味が理解できませんでした、申し訳ありません。
ただ、お望みの動作は以下のURLで紹介されている方法で出来るような気がしますので一度試してみてはいかがでしょう?
https://hyperts.net/joycon-windows10-setting/

by kim (2019-09-12 12:08) 

mello

ご返信、又、お時間を割いて頂きありがとうございます。
わかりやすく伝えることが出来ず申し訳ございません。

以下のサイトを参考に、使いたいそのコントローラーで遊ぶこと自体には成功しておりました。
https://hyperts.net/joycon-windows10-setting/
https://gumin-ch.com/pcgame-switchplay/
https://www.youtube.com/watch?v=ZCQ1tClBU7g

ただ、「ジョイコン」というコントローラーは少し特殊で、
右スティックの入力と、もう一つ、内臓されたセンサーを使い、
コントローラー自体を上下左右に動かすことでX、Y入力を行える物の、
二つの入力を使って視点の操作をするものになっています。
(左スティックは普通に移動用の入力)
なのでイメージとしては下のURLの画像のように、
https://30d.jp/mello/2
「Right Analog X」と、「Right Analog Y」の項目がもう一つあれば、予想ではありますがその二つの入力を同時に行うことが出来るのではないかと思っております。

調べた限りそれが出来る技術を持っている人はkimさん以外にいらっしゃらないと思い、お時間を取らせて申し訳ないのですが、メッセージを送らせて頂いている次第です。

もし説明していたxoutputの改変が可能なのであれば、
タダでお時間を取らせ過ぎるのも申し訳が立ちませんので、
必要であれば、お仕事として依頼することも考えております。
by mello (2019-09-12 17:55) 

kim

melloさん
mfosse/JoyCon-Driverを使えばジャイロを使えるようですが試されました? 私が書いたURLの一番下のほうです。
vJoyのz,Rzがジャイロではないかと思うのですがどうでしょう?
JoyCon-Driverのconfig.txtでJyroControlsを1にすれば、z,Rzにジャイロの入力が割り当てられるのではないかと。

少々しらべてみましたが、ジョイコンでジャイロセンサーの入力をもらうためには、コントローラに何らかのデータを送る必要があり、送られるデータも加工する必要があるようで、コントローラ固有の処理が必要になるようです、xoutputは汎用的な入力変換プログラムなので個別にデバイスに対応することは難しいです。
ちなみに、右アナログスティックを複数作ってもXInput(プロトコル)で複数の右スティックは存在しないので、出力する方法がありません、ジャイロの出力はどこかのアナログ軸に設定する必要があります、ですから、項目を増やす増やさないの問題ではないと思います。
問題はおそらく、現状でコントローラからジャイロのデータが送られてこないということだと思います、これはデバイス固有の問題なので私にはどうすることもできません、おそらく、mfosse/JoyCon-Driverがそれを実現するドライバーです。
ドライバーがきちんと動作すれば、ジャイロのx,yはvJoyのz,Rzに割り当てられるのだと想像します。

手元にコントローラ本体も無いので確かなことを書けなくて申し訳ないのですが、調べた限りではxoutputでお望みの機能を実現するのは難しいと思います。

by kim (2019-09-12 19:36) 

kim

あー ごめんなさい
私が基本的な部分を勘違いしていたかも・・・・・
もしかして、vJoyの出力がDirectXなのでこれをXInputに変換したいというのが元々の趣旨でしょうか?
そうであれば、話が全く違っていて、私が知る限りXInputで認識できるボタンやアナログ軸は設定画面に書かれているものが全てです、ですから、その部分を増やすことはできません。
現状でジャイロの出力がどこかに出ているはずです、z,RzかなこれがDirectX的にどこに出ているか確認してください(デバイスとプリンターで確認できます)。
確認した軸を、ゲームでジャイロに割り当てられている軸にxoutputで割り当ててください、もし、当該の動作がキーボードのキーやマウスに割り当たっている場合にはJoyKey辺りを併用する必要があります。
PC版のフォートナイト(というかPC版がサポートするコントローラー)にはジャイロ入力はないはずなので、相当する機能がコントローラーの軸かマウスかキーに割り当てられているはず(自由に設定できるゲームもありますが)なのでそれを確認してください。

by kim (2019-09-12 20:19) 

mello

mfosse/JoyCon-Driverと、
vjoyを使ってジャイロを出力することには成功しておりまして、
「Z、Rz」と、「Slider、Dial/Slider」が、それぞれX,Y軸を出力しているようです。
それが画像に上げたXoutputにおける「IAxis6」と「ISlider1」になっていて、ジャイロの動きをXInputに出力してゲームに反映させることはできていました。
ただどうしても解決出来ない問題が、右スティックの出力が一つしかないので、
「右アナログスティックの出力」か「ジャイロ操作の出力」のどちらかしか右スティックの出力に反映させることが出来ないということです。(左スティックは左アナログスティックの移動の出力)
なので「右スティックの出力が二つあればその両方の出力を同時に出来るのでは、、、?」と思い先ほどのコメントに至った次第です。
by mello (2019-09-13 02:58) 

kim

もしかして、ジャイロのデータとスティックのデータを合成したいという趣旨ですか? (要するに視点移動という操作を二つのアナログ軸の合成で行いたい)。
だとすれば、それはゲームの側で実装する問題です、スイッチ版もV5.0からの対応のようですし。
もともと、デバイスとしてはスティックとジャイロは別物です、従って、今の状態が正常です、これらの入力をどう処理するかはドライバーの問題ではなくゲーム側の実装の問題です。
アナログデータの合成はそんなに簡単に実現できるものではありませんしゲームによっても味付けが変わるものでしょう、従ってxoutputの趣旨からも外れます、ゲームの製作会社に要望を出す等していただくしかないと思います。

by kim (2019-09-13 11:57) 

mello

その通りです。
合成出来ればと思っていたのですが、やはり難しいですね...
お時間を割いて色々調べてくださり本当にありがとうございました。
ここまで真摯に話を聞いてくださるとは思っていなかったので、とても助かりました。
by mello (2019-09-13 14:28) 

kim

もう見ていないかな。
今は忙しいのでいつになるかは分かりませんし、期待通りの動作になる保証もありません(多分期待した動作にはならない)が、テスト用のコードを書いてみましょう、本来的にはゲームが対応するべき話という考え方に変わりはないですが。
昔々のコードでかつ自分で書いたものでもなく、言語も普段使わないC#なんで思い出せるかどうか・・・・、このときは動かしたい一心で頑張ったのですが。
期待はしないでくださいね。


by kim (2019-09-16 23:45) 

kim

一応コメントにも書いておきましょうか
なんとなく出来ました
https://hbkim.blog.so-net.ne.jp/2019-09-19
by kim (2019-09-20 00:51) 

mello

まさか作って頂けるとは思いませんでした。本当にありがとうございます。
実際に使ってみたところ、まさに理想通りに動いてくれました。
kimさんには感謝してもしきれません。
重ねてになりますが色々と本当にありがとうございます。
by mello (2019-10-03 08:42) 

kim

気が付いていただけましたか。
機能しているようでなによりです。

by kim (2019-10-03 13:36) 

mass

Switchのプロコンでジャイロの入力をスティックの入力に変えることはできますでしょうか?
by mass (2020-03-31 22:17) 

kim

ご質問の趣旨がプロコンのジャイロ出力をPC上でアナログ軸のいづれかに割り当てたいというものであれば、ジョイコンと同じ方法でジャイロの出力を取り出せていれば可能だと思います。
ちなみに、XOutputはDirectInputからXInputへのコンバータなのでXOutputでどうにかすることは出来ません、VJoy等を利用してWindows用のコントローラとして認識させる必要があると思います。
by kim (2020-04-01 00:32) 

mass

ご返信ありがとうございました。
vJoyを導入までできたのですが、XOutputの設定でD-Padsの設定の選択肢が無いです。そして、どうすればジャイロを割り当てられるのかわかりません。他にも、Left Anaiog Xの下の項目のチェックボックスは、何でしょうか?
無知ですみません、教えていただけると嬉しいです。
by mass (2020-04-01 11:27) 

kim

D-Padsとは十字キーのことだと思いますが、これは、Up,Down,Left,Rightが相当します。
ジャイロはVJoy上でいずれかの軸として認識されているはずです。
上のmelloさんのコメントによれば。
>> vjoyを使ってジャイロを出力することには成功しておりまして、
>> 「Z、Rz」と、「Slider、Dial/Slider」が、それぞれX,Y軸を出力しているようです。
ことですのでご確認ください。

そのチェックボックスは、アナログ軸をボタンでエミュレーションするためのものなので、特殊な用途以外で使う事はありません、通常の使用であればチェックすることは無いはずです。

ちなみに私は、ジョイコンもプロコンも所有していませんのでXOutput以外の事についてお答えするのは難しいです、これらのコントローラをWindowsで使えるようにする記事を書かれている方は結構いますので、そちらで質問された方が的確な返事を頂けるのではないでしょうか?
by kim (2020-04-01 22:38) 

mass

わかりました、もう少し自分で調べて試してみます。
ありがとうございました。
by mass (2020-04-02 00:07) 

K

失礼致します。Fortniteというゲームにこのソフトを用いて、ニンテンドースイッチ のプロコンでプレイしようと思ったのですが、コントローラーのスティックの感度の問題なのか、どれだけ傾けても素早い移動ができません。
何か解決方法はございませんでしょうか。よろしければ教えていただけると幸いです。
by K (2020-05-19 21:08) 

kim

前にも書いていますが私はプロコンもジョイコンも持っていませんし、書かれているゲームをしたこともないのでお答えしようがありません。
実際にプレーしている方のブログ等で聞かれるのがよろしいかと。

by kim (2020-05-19 23:44) 

rony

質問失礼します。
この知恵袋の質問をXOutputで解決することはできるでしょうか?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13228953648

無知ですいません。
何か助言でもあればお願いします。
by rony (2020-07-26 10:58) 

kim

ご質問の趣旨は、接続したコントローラの複数のボタンをXInput仕様の同一ボタンに割り当てたいということでよいでしょうか?
XOutputではXInput仕様のコントローラの各ボタンや軸に対して接続されたコントローラのボタンや軸を割り当てるため、基本的に一対一の対応になるので、解決することは出来ないと思います。

by kim (2020-07-26 11:57) 

rony

わかりました、ありがとうございます。
by rony (2020-07-26 15:14) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0