投稿記事

ブループリントの記事 (1)

ひみつ結社 2019/11/17 18:21

ゲームパッド コントローラーの話

下記に記したコントローラーについての問題は、未来のキジネコにより修正されました。
XBoxコンでもPS4コンでもその他のパッドでも、大概使えるようになりました。
何か問題があったらJoyToKeyを使う感じで、よしなに


どうも、年末が近づいて来てなんか微妙にブルーなキジネコです。
いや、年末の定義は人によって違う気がするので、もうすでに年末なのかもしれません。

キーコンフィグ機能を実装した


UE4にはアクションマッピングというプロジェクト設定があって、そこに使用するキーの種類とキーを押したときのイベント名を登録しておくだけで、ゲーム中にキーボードやゲームパッドでゲームを操作することができます。
これの良いところはキーをイベントに登録して使用するので、いつでも簡単に使用するキーを変更できることです。
攻撃はAキーに設定してたけど、Bキーに変更したくなったぞ!という時にプログラムを修正する必要がありません。便利です。

しかしー!

UE4にはデフォルトでこのキーをゲーム中に変更する機能がないみたいなのです……
もちろん直接改造して変更できるようにしたり、プラグインを導入することによって変更可能にすることはできるようなのですが……正直よくわかんない……いや、わかる部分もあるんだけど、なんか中途半端な知識でいじりたくない……
という問題が発生してしまいました。

とはいえキーコンフィグ無しというのも苦しいので、いろいろ調べており大変時間がかかりました。

そして結果的に、上記のアクションマッピング機能を使わないという選択に至りました。
アクションマッピングと同じことをする処理を作り、置き換える方法で修正を施しました。
幸いまだデータは多くないので何とかなったのですが、中盤以降だったらすごくやばかったと思います……

ちょっと不本意だし……なんか本当にこれでいいのか?って気分になりましたが、まあ、動いたので問題が発生しなければ、これで行こうと思っています。

キーコンフィグ用のレベル作成 動作テスト版


とりあえずプログラム的な処理だけ先行して確認するために、キーコンフィグ用のUIの動作チェック版をつくりました。
見た目あれですが、内部的な機能としては最低限動いているようです。

まだキーの検査や危ないキーの排除などはしていないので設定によってはゲームが破綻してしまうのですが、その辺はおいおい塞いでいこうと思います。

一応デフォルトでキーボードのおすすめ設定を何種か入れておく予定ですが、キーボード、マウス、パッド、で各々好きにしてくださいという方針でいいのかなと思っています。

ゲームパッドの種類について

今までXBoxコントローラーを使用して制作を進めていたのですが、他のコントローラーも試さないといけないと思い、スーファミっぽいコントローラーを購入しました
↓こんなの


なんか、軽くてコンパクトで良い感じです!!

ただ……、UE4では直接認識できませんでした。

PCのゲームパッドの入力には種類があって、UE4でデフォルト認識するのは
XInput方式のものだけのようです(Xboxコンみたいなの)
↓こんなの


DirectInput方式パッドはデフォルト設定では認識しません。
↓こんなの

ただし、UE4のプラグインでDirectInput方式のパッドを認識できるようにする設定があったので、それで解決する……

……と思ったのですが ダメでした

完全にダメではないのですが、動作が不安定すぎるのです、そもそも方向キーの入力で送られてくる数値がXInput方式とは異なっていたり、原因はわかりませんが、ボタンが反応するときとしないときがあったりと、そのままでは全くゲームができる状態になりませんでした。

しかも、どれか一つのコントローラーに合わせてプログラムを調整したとしても、他の種類のパッドでは意味がなさそうなのです………

いや……それは無理……対応しきれるわけない

そして最終的に……
JoyToKeyが一番安全なのではという結論に達しました。

パッドが直接反応しなかったらJoyToKeyを使用して間接的に接続してください…
の方針に舵を切るなら、ゲーム制作的には何も難しいことしなくて済むから超楽ではあるし……
中途半端にDirectInput方式サポートしようとして失敗するくらいなら、JoyToKeyにしたほうが皆幸せになりそうな気がしてきたのです……

そんなわけで、いったんパッド関連の調整は中止して、DirectInput方式のパッドはJoyToKeyにお任せしようと思います。

JoyToKeyについて

JoyToKeyをご存じない方のために、簡単に説明すると、
本来キーボードで操作しているコマンドをゲームパッドに割り当てて動作させることができるツールです。

キーボードのスペースキーでジャンプできるゲームがあったとして
JoyToKeyでパッドのAボタンにスペースキーを設定しておけば、
パッドのAボタンを押したときにゲームがスペースキーが押されたと認識するようになるのです。
これを使えば、キーボードで操作できるゲームであれば、ほとんどのコントローラでゲームができるようになります。

設定画面も簡単で↓のように対応するボタンにキーボードのキーを設定するだけです。

下記のサイトが公式ページで簡単に入手して導入できますので、パッドの設定で困ったら試してみるといいかもしれません。

もし、コントローラを使いたいけど対応していないから諦めてた……
わざわざゲーム内でパッド用の設定をするのが面倒……
ゲームによってパッドを使い分けるのがめんどくさい……
なんて人も、問題が解決するかも……!!

JoyToKey公式ページ
https://joytokey.net/ja/

ダウンロード


※ちなみに
Xbox 360 Controller Emulatorとうものもあるようです。
私は試したことありませんが、人によってはこっちのほうがあっているのかも?

なんだかんだでいろいろやったのですが、
今回の記事のキー関連の設定と、不具合潰しがほとんどで、見た目としてあまり進捗が感じられず、いやーん、なかんじです。
とりあえず、操作関連の方針検討も落ち着いてきたので、再びゲーム部分の制作を進めていこうと思います!

夏は暑くて嫌だったけど、寒いのもヤダ!!
いい感じの気候がいいんだぁああ!!!
回転すしうまうまガシャポン

過去作一覧←クリック

トレジャーハンターエリル+へっぽこ魔法少女マヤカFLASHゲームセット
https://www.dlsite.com/maniax/work/=/product_id/RJ258930.html


ひみつ結社の横スクロールアクションゲームセットが販売中ですので、もしよかったら、体験版を遊んでみてくださいー。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索