音楽いつまでか分かんないけどセール中ホームUnityRewiredという入力管理で最強のアセット2019/5/30ドキュメント(英語)入力をまとめて管理できるアセットです。これだけだとイマイチありがたみが伝わらないかもしれませんが、使ってみてすっごく楽になりました。キーボード、ゲームパッド、PS4、XBOX360、マウス、モバイルのタッチ操作とかを良い感じに実装できます。同じようなアセットは他にもあるんですが、Rewiredのすごいところはコントローラーのネイティブの機能も使えることです。PS4のタッチも使えるみたいです(試してませんが)。Switchのコントローラーにだって対応しているとドキュメントに書いてあります。いうかこれを購入した理由はPS4のコントローラーを振動させたかったからでした。Unityで振動させる方法が中々分からなかった......。みたいなことが書いてあってこれを頼ることにしました。いうか、入力管理系のアセットはこれだけで良いとさえ思えました。導入WindowからInputManagerをもったコンポーネントを作成します。sceneを選択してください。使いまわすことが多いのでprefabとして作成したほうが良いと思います。sceneとして作成します。専用のウィンドウが表示されます。使うときの操作を一通り書いてみます。Playersplayersボタンを押して、newボタン。新しいプレイヤーを追加します。マルチプレイをする場合は複数newボタンをおしてプレイヤーを追加する必要があります。ActionsActionsボタン、Createmapボタンを押します。入力したい情報を設定します。Name--入力として使う文字列Type-ボタンかAxis(JoyStickのような軸)かの2つが重要です。ここではJumpボタンと水平移動用のHorizontalを設定しました。Axisの場合、Positive(+方向)とNegative(ー方向)の文字列も設定する必要があります。それぞれのボタンがどのActionsに紐づくかを設定していきます。今回の場合、JumpやHorizontalに対応するものを設定していきます。MapsCreateMapボタンを押すと上記の画像になるはずです。左にコントローラ一覧があります。対応するコントローラーを選べば接続されてあるものが自動で適応されるようです。上にあるGamePadTemplateは対応するものがなかった時に設定されるようです。PS4--対応XBOX360--未対応こんなときはXBOX360のコントローラーだとGamePadTemplateが適用されます。それではGamePadTemplateを設定していきます。newボタンを押してElementから対応するボタンを選択します。Actionを適用します。この例だと、左JoyStickのX軸(横)がHorizontalに紐づきます。ボタン1がJumpに紐づきます。Keybodeやマウスも同じようにCreateMapを押して設定できます。補足ですが、公式によるとUnknownControllerにも設定をした方が良いようです。コントローラーによってはGamePadとして認識できないものもあるだとか。その場合、Axis0がX軸、Axis1がY軸になることが多いとのこと。Players再びPlayersタブに戻り、先ほど作成したMapを設定します。MapでPlayer0に適用できます。これで入力をスクリプトからとれるようになりました。感覚的に操作できて簡単だと思います。いっても、ドキュメントが英語なのでてこずりましたけども。Update(){if(_player.GetButtonDown("Jump"){Debug.log("Jump");}}}ReInput.players.GetPlayer(数字);でプレイヤーごとの入力をとれます。UnityのInputと同じような感じでとれます。上記のスクリプトだと、GetButtonDown("Jump")でキーボードでもゲームパッドでもJumpの入力を受け取れることができます。こんな感じで、感覚的にキーボードやゲームパッドのボタンなんかを設定できて、スクリプトから簡単に入力をとれるようになりました。シェアしてみませんかLINE!0関連記事モデルを血まみれに変える(雑)簡単にです。テクスチャ赤く塗るだけです。記事を読む3Dのアニメーションで詰まったり購入したアセットからアニメーションを使うとき。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。