ゲームパッドコンフィグプラグイン

フォーラムルール
素材の利用規約を決めたいけど、どんなことを書けばいいのか分からない場合は、
素材のテンプレートをご利用下さい。
アバター
しぐれん
記事: 687
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by しぐれん » 2019年7月08日(月) 05:51

Switchプロコン対応のためにゲームパッドの詳細を表示する機能を調整中です。
現在ツクールMVでプロコンが動かない問題に対応するために調査中です。
持っている方がいたら、検証お願いします。

>にゃたまさん
効果音は全て一括でPlayEquip(装備変更)に流しています。
前回の更新で、playApplySound()という関数を追加して、そこに処理を任せる形にしました。
これは効果音の変更を容易にするためだったのですが、何か問題が出てしまったようですね。

効果音の変更はプラグインパラメータで対応する予定はありませんが、外部から改造できるように再定義可能な関数を用意します。
Mano_InputConfigにあるWindow系クラスにplay**Soundという関数を追加します。
ここを横から再定義で書き換えればコントロールできます。
プラグインパラメータで対応しないのは、ファイル名を初期値として決め打ちすると、ファイルがない時に面倒だからです。
(デフォルトの効果音が削除されていないという保証はないため)

有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付
アバター
しぐれん
記事: 687
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by しぐれん » 2019年7月08日(月) 09:08

次期バージョンの試作品です。
ハードウェアの取得と、コンフィグのサウンド切り替え用の改造場所を用意しました。
添付ファイル
Mano_InputConfig.js
(78.98 KiB) ダウンロード数: 5 回
有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付
アバター
にゃたま
記事: 726
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by にゃたま » 2019年7月09日(火) 10:40

しぐれん様

しぐれん さんが書きました:次期バージョンの試作品です。


お返事ありがとうございます。
次期バージョンとのことで更新箇所も多いみたいですが、音の問題は解決しましたが、
今度は別の問題が発生してしまいました。
ゲームパッドが接続されてないと以下の画像のように表示されます。

スクリーンショット 2019-07-09 10.26.21.png


ゲームパッドが接続されていないことをヘルプウィンドウとして表示して表示していただけるのは
有り難いですがコマンドを増やすのはどういう意図があるのでしょうか?
「詳細」コマンドを追加せずとも接続されてない旨のみ表示できませんか?


追伸
尚、余談ですが当方のサイトにこちらのプラグイン紹介させていただきました。
今後こちらのプラグインの利用率が増えることを願います。
アバター
しぐれん
記事: 687
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by しぐれん » 2019年7月09日(火) 12:39

>にゃたまさん
プラグインの紹介、ありがとうございます。

新規項目ですが、コントローラーを刺している状態だとコントローラの情報を表示します。
ただ、コントローラの詳細は常時表示が適切か判断できなかったのでこの形式です。
また、設定を保存などに対しても画面上部のヘルプに説明を出すかどうか検討してます。
そのため、このような形になっています。
ヘルプ表示で何かを出すか、現在検討中なのでそのあたりは意見を聞きながら仕様を確定させていこうと思います。
有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付
アバター
にゃたま
記事: 726
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by にゃたま » 2019年7月09日(火) 15:00

しぐれん様

コマンドの順番ですが以下のようにpadInfoをexitのあとにさせていただきました。
makeCommandList()の中身の下の項目をいじってみましたがとりあえず大丈夫そうです。
非表示にしたい場合はpadInfoをコメント化することでできるみたいですね。
ありがとうございます。とりあえずこれで行こうと思います。
this._command =[
default_,
apply,
exit,
padInfo
];

あと当方の使っているF310というゲームパッドで詳細を見てみましたが
以下のように右端の折り返すところで切れてしまいます。
できたら切れずに単語の区切りとかで折り返せるといいですね。
また、ヘルプウィンドウに詳細を表示するなら3行はほしいかもです。
それか詳細を選択して新しいウィンドウに表示するとかですかね…
そうすれば複数行はいけそうです。
スクリーンショット 2019-07-09 14.53.11.png
アバター
しぐれん
記事: 687
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by しぐれん » 2019年7月09日(火) 18:12

追加修正を行いました。
コントローラの詳細表示を常時に変更して、コマンド枠を1つ開けました。

表示を3行にして画面に入りきらない場合に対応。
このヘルプ画面は初期は下にあって、一部のウィンドウと重なる問題がありましたが、上にすることで問題が無くなりました。
添付ファイル
Mano_InputConfig.js
(78.81 KiB) ダウンロード数: 3 回
有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付
アバター
にゃたま
記事: 726
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by にゃたま » 2019年7月10日(水) 00:54

しぐれん様

この度は3行表示及び常時表示に対応いただきありがとうございます。
これで一層使いやすくなったと思います。
ただ、プラグインパラメータに残してあるtextPadInfoは不要になったと思うので、
問題なければ削除してもよろしいかと思います。
代わりにヘルプウィンドウを有効にするかという項目を入れても良いかもしれません。
全てのユーザーがヘルプウィンドウを表示したいわけではないかもしれませんので。

F310というゲームパッドはXInputとDirectInputを切り替えできるので
以下のようにスイッチにより切り替えが可能です。
これらは同じパッドです。
スクリーンショット 2019-07-09 23.30.33.png

スクリーンショット 2019-07-09 22.54.30.png


F310では特別問題なく快適に操作できています
XInputのときはXbox360controllersという設定ツールが必須ですが
DirectInputは特にインストール不要でそのまま特別な設定もせずプレイできます。
なので取説等にゲームパッドはF310での動作確認しかしていませんってことにします。
いわゆる推奨環境といわれるものですね。


ニンテンドースイッチのプロコンを接続して試してみましたが、
Macではプロコン用ドライバがない為Steam経由でしかツクール側では認識しないようで
一応操作はできるのですがヘルプウィンドウではパッドが無いことにされます。
操作できたといっても十字キーは動作しないしキー配置も謎でよくわかりません。
一応左アナログスティックでキャラを操作できますが十字キーのほうが操作しやすいです。
プロコン側から右スティックでマウスカーソルを動かせたり
左クリックしたことにできたりしますがむしろその機能いりませんし(汗)
Steam側でマウスが動く機能を無くす方法を模索したけどわかりませんでした。



気になる点としてはゲームを起動して一度もゲームパッドを操作してなくて
ゲームパッドコンフィグを出すとパッドが見つからないことにされるので
その点はツクールの仕様みたいなもの?(yanfly製GameConfigでも☓でしたし)なので
取説に一度何かのボタンを押さないと認識しませんと記載すべきでしょうね。


ところでMano_InputDirect試しましたが仕組みがよくわかりませんでした。
一応エレコム製JC-U3613Mというコントローラーもあるけれども
これはキー配置がF310とは異なります。
スクリーンショット 2019-07-10 0.58.37.png


これは基本左アナログスティックで移動する形なので(十字キーが動作しない)使いづらいため
動作環境から外していました。

Mano_InputDirectをONにしたところ十字キーが動作するようになり、
代わりに左アナログスティックは動作しなくなりました。
ただし十字キーが動作するといってもずっと左が押され続けたりとかして
キャラクターが動き続けてしまいとても正常な動作ではありませんでした。
やはりJC-U3613Mは動作環境から外すことにします。

とりあえずF310とJC-U3613M以外のコントローラーについては特別助言できずすみません。

StuddardLayoutでないボタンの位置が統一されてないゲームパッドを
一つ一つ対応していくのは大変かもしれませんが対応しようという心意気は素晴らしいと思います。
今後に期待しています。

長文失礼しました。参考になれば幸いです。

追記
JC-U3613Mのボタン配置は取説に載っていました。
万一対応していただけるのであれば以下を参照していただければ。
https://www.elecom.co.jp/support/manual ... 1543200145

因みにこのコントローラーのX-InputはMacのドライバが無いため動作しません。
Xbox360controllersで認識しませんでした。
アバター
しぐれん
記事: 687
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by しぐれん » 2019年7月10日(水) 04:56

textPadInfoは削除しました。
表示制御は可能ですが、バグ報告の方法をどうしようか問題。
任意のボタンで表示できる実装にもできるけど、ボタンがわからないと動かせないジレンマ。

左アナログスティックについては対応したので動くはずですが、ダメだとしたら辛いですね。
にゃたまさんのDLしたInputDirectがスティック未対応のバージョンの可能性があるので、再DLお願いします。

パッド操作を行っていない場合に接続が認識されないのは仕様ですね。
どちらかというと、ブラウザの仕様なのでこちらでは対応できません。

プロコンについては謎の挙動が多すぎるので、後日実機テストを行います。
他に2名の動作報告(まともに使えるとは言ってない)があるのですが、挙動がバラバラだったり入力がおかしかったりします。

左に行き続けるのは心当たりはあります。
DirectInput系列のコントローラで左スティックと十字キーを同時に動作させるためにgamepad.axes[9]を読み込んでいるのですが、十字キーが別の場所で制御されaxes[9]には異なる入力が入っているパターンがあります。
効果があるかわかりませんが、対策コードを検討しますので、vscodeのステップ実行でaxes[9]の数値を見てもらえるでしょうか?
お手数おかけします。
有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付
アバター
にゃたま
記事: 726
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by にゃたま » 2019年7月10日(水) 12:16

しぐれん さんが書きました:左アナログスティックについては対応したので動くはずですが、ダメだとしたら辛いですね。
にゃたまさんのDLしたInputDirectがスティック未対応のバージョンの可能性があるので、再DLお願いします。

左に行き続けるのは心当たりはあります。
DirectInput系列のコントローラで左スティックと十字キーを同時に動作させるためにgamepad.axes[9]を読み込んでいるのですが、十字キーが別の場所で制御されaxes[9]には異なる入力が入っているパターンがあります。
効果があるかわかりませんが、対策コードを検討しますので、vscodeのステップ実行でaxes[9]の数値を見てもらえるでしょうか?


「vscodeのステップ実行」というのがよくわからないのですが
$gameVariables.setValue(4,gamepad.axes[9]);のようにゲーム変数に代入して
それをくらむぼん様のDebugMoniterで値を画面に表示させて確認してみましたが
(ゲーム変数を小数点対応にするプラグインは別途必要ですが)
待機時に常に1.285714...という数値が入っているので「if(value>=1){」内の以下のコードをコメント化したら
待機時に勝手に動かなくなりました。

newState[14]=true; //left
newState[12]=true; //up

但しやはり左スティックは動作しなくなります。
viewtopic.php?f=5&t=8062
こちらから一番上の最新版と思われるものを入れました。
バージョン表記がないので実際最新かどうかわかりません。
というか私は過去にDLしたものもバージョンをファイル末尾に打って管理する派なので
バージョン表記がないと結構困ります。ようは上書きしません。
更新内容の表記はなくて構いませんのでせめてバージョン表記だけでもしていただけないでしょうか?

追記
音が出なかった件ですがプロジェクトを新しくしたときにシステムから装備の音を削除していた
ことが原因だったようです。大変失礼しました。
アバター
しぐれん
記事: 687
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームパッドコンフィグプラグイン

投稿記事by しぐれん » 2019年7月10日(水) 12:59

VScodeの件了解です。
色々複雑なのをやっているようなので、先入観で導入済みと考えていました。
axes[9]が1.285714...のような数値を取るのは見たことが無いので、ハード依存だと考えます。
とりあえず、一番上の条件(value>=3)を(value>=1.2)に変更することで対応できたと思います。

バージョン情報ですが、一時的に入れました。
ただ、しばらくは1日未満の更新が多いと思いますので、バージョン情報付け忘れもあり得ます。

閾値については自動検出できる方法を検討していきます。
添付ファイル
Mano_InputDirect.js
(8.36 KiB) ダウンロード数: 5 回
有償でプラグイン作成リクエストに対応しています。
ご興味のある方は、こちらのリンクからどうぞ。
ツクールMV・プラグイン作成依頼受付

“MV:プラグイン素材” へ戻る