Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。コピー2021.03.10シンプルなアクションゲームを作ってみようの第22回です。Systemに対応していきます。前回はライトのベイクをしました。シンプルなアクションゲームを作ってみよう21-ライトのベイクをする-シンプルなアクションゲームのライトのベイクをして間接光を反映させます。gametukurikata.com2021.03.09シンプルなアクションゲームを作ってみようの他の記事はシンプルなアクションゲームを作ってみようシンプルなアクションゲームを作るのを通してUnityの使い方を学ぶカテゴリです。gametukurikata.comから参照出来ます。Managerで設定したキーやボタンを押した時(例えばInput.GetAxis(“Horizontal”)やInput.GetButtonDown(“Jump”))に、キャラクターの移動やジャンプの処理をさせてきました。ボタンの設定を変更するといった機能をゲーム内に用意する場合は柔軟に変更することが難しいです。Systemでは拡張可能でカスタマイズ可能になっています。Systemに対応するので、これを機会にPS4のコントローラーにも対応してしまいます(InputManagerでも対応は可能です)。Managerが使えなくなります。Managerを使うように戻せますし、両方を使う事も出来ますので、今回はNoを押して自分で設定をし、両方の入力システムを使えるようにします。Systemのインストールを行います。Managerを選択します。Systemを選択してInstallボタンを押しインストールします。インストール途中で以下のようにダイアログが表示されます。Managerを無効にして再起動するかを聞かれているのでNoのボタンを押します。Systemを使えるようにする為の設定をします。Settingsを選択し、Playerを選択します。Handlingの設定をBothと変更します。以下のようなダイアログが出て、設定を有効にするにはUnityエディターを再起動する必要があると表示されるので、Applyボタンを押して設定を有効にします(Unityエディターが再起動されます)。Systemでの対応にします。Systemに対応します。Systemに対応した表記に変わります。Systemで使うアクションの割り当てをするファイルを作成します。Actionsを選択し、名前をMyControlsとします。Managerのボタン設定と同じ感じです。MyControlsファイルをダブルクリックするとアクションの設定ウインドウが開きます。Mapsの+を押し名前をPlayerとします。Actionの部分をダブルクリックし名前をMoveと変更します。TypeをVector2にします。Stickを選択します。Compositeを選択し、名前をArrowとします。Arrowをマウスで選択し設定します。各方向も同じように該当するキーボードの矢印キーを設定してください。矢印キーの設定は以下のようになりました。次にActionsの横の+を押し新しいアクションを追加して名前をJumpにします。Southを設定します。設定の仕方は同じです。Binding>を選択し、PropertiesのBindingのPathを押し、Listenを押してSpaceキーを押し、出てきたSpace[Keyboard]をマウスで選択し、設定します。Southを選択します。SouthはPS4で言うと×ボタンにあたります。次にActionsの右の+を押し、Pauseアクションを作成します。PauseアクションにはEscapeキーとStart[Gamepad]を設定します。Key→Escapeを選択します。Start[Gamepad]はGamepad→Start[Gamepad]で選択します。これでアクションの設定が終わりました。PlayerにPlayerInputコンポーネントを追加するアクション設定のファイルが出来たので次はこのアクションファイルを設定するコンポーネントをPlayerゲームオブジェクトに取り付けます。Inputを選択し取り付けます。InputのActionsに先ほど作ったMyControlsファイルをドラッグ&ドロップして設定します。スクリプトの入力をInputSystemに変更するスクリプトでInputManagerを使った入力処理を記述しているので、InputSystemを使った処理に書き換えます。InputManagerの処理を消したくない場合は別途スクリプトを作るのでもいいです。PlayerControllerスクリプトの入力を変更するPlayerControllerスクリプトの処理を変更します。usingディレクティブの指定と、PlayerInputコンポーネントを入れるplayerInput、PlayerInputに設定したMyControlsファイルで指定しているMoveとJumpのアクションを入れるmoveActionとjumpActionを宣言します。jumpAction;StartメソッドのcanControlの処理の前に以下の処理を追加します。playerInput.currentActionMap.FindAction("Jump");}PlayerInputは自身のゲームオブジェクトに取り付けたPlayerInputを取得します。moveActionとjumpActionは取得したplayerInputから現在のアクションマップを取得し、FindActionメソッドで引数で指定したアクションを取得します。次にMoveメソッドでinputに代入する処理を変更します。moveAction.ReadValue<Vector2>().y);入力値は取得したmoveActionのReadValueメソッドでVector2の値を取得し、xとyをVector3のxとzに設定しています。次にJumpメソッドのJumpボタンが押されたかどうかで判断している部分の処理を変更します。rigidBody.velocity.y);}最初のジャンプの時のJumpボタンを押した時の処理でInput.GetButtonDown(“Jump”)で判断していたのをjumpAction.triggeredでJumpに指定したボタンがトリガーされた時に変更しています。ダブルジャンプ時の条件にもjumpAction.triggeredに変更します。PauseScriptスクリプトの入力を変更する次にPauseScriptスクリプト内の処理を変更します。pauseAction;PauseScriptはGameManagerゲームオブジェクトに取り付けているのでPlayerInputのアクションファイルを自身から取得する事は出来ません。そこでインスペクタでPauseScriptのPlayerInputにPlayerゲームオブジェクトをドラッグ&ドロップして設定出来るようにします。pauseActionはPlayerInputに設定しているアクション設定ファイルからPauseアクションを取得し入れます。Startメソッドを書き換えます。スタート時にポーズUIを非表示にするpauseUI.SetActive(false);}PlayerInputからPauseアクションを取得します。次にUpdateメソッドを変更します。1f;pauseUI.SetActive(false);}}}pauseAction.triggeredでPauseアクションがトリガーされた時にポーズをするようにします。実行して確認してみる機能が出来たので実行して確認してみましょう。今回はPS4コントローラーで動かすだけなので、動画では違いがわかりませんので載せません。(^_^;)PS4コントローラーを接続しても操作が出来ない場合はパソコンを再起動すると動く可能性が高いです。終わりに今回はInputManagerからInputSystemに入力システムを変更しました。次回はCinemachineを使ってカメラがキャラクターの追尾をするようにしていきます。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事シンプルなアクションゲームを作ってみようシンプルなアクションゲームを作ってみよう7-シンプルなプレイヤースクリプトの作成-シンプルなアクションゲームでRigidbodyを使ったプレイヤーの移動スクリプトを作成していきます。シンプルなアクションゲームを作ってみようシンプルなアクションゲームを作ってみよう19-ジャンプ機能を作成する-シンプルなアクションゲームのプレイヤーにジャンプ機能を取り付けていきます。二段階のジャンプも出来るようにします。シンプルなアクションゲームを作ってみようシンプルなアクションゲームを作ってみよう9-カメラがキャラクターを追いかけるようにする-シンプルなアクションゲームでカメラがキャラクターを追いかけるようにしていきます。シンプルなアクションゲームを作ってみようシンプルなアクションゲームを作ってみよう27-霧を発生させる-シンプルなアクションゲームのゲームステージに霧を発生させていきます。Material(物理マテリアル)を作り設定していきます。シンプルなアクションゲームを作ってみようシンプルなアクションゲームを作ってみよう28-データのセーブとロード機能-シンプルなアクションゲームでゲームデータのセーブとロード機能を作成していきます。シンプルなアクションゲームを作ってみよう21-ライトのベイクをする-シンプルなアクションゲームを作ってみよう23-Cinemachineを使ってカメラを操作する-ホーム作ってみようシリーズシンプルなアクションゲームを作ってみようスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。