TopDownEngineサンプルの銃の攻撃方向の入力を右スティックに変更

前回Unity で見下ろし型ゲームを作るアセット TopDown Engineサンプルゲーム Koala Dungeon の画面左上の HUD がどのように設定されていて、それを消した際の影響などを調べました。

HUD が必要ない場合削除するだけでもプレイはできますが、GUIManager の設定は Missing と表示されます。

HUD が必要ない場合削除するだけでもプレイはできますが、GUIManager の設定は Missing と表示されます。

今回は、銃の攻撃方向をゲームパッド (Xbox 互換) の右スティックで操作できるようにします。
※ Unity は 2021.3.14f1、TopDown Engine は 3.1.1 です。主人公のキャラクター画像はぴぽや倉庫様のキャラクターチップを使っています。

デフォルトの入力設定

公式の Input | TopDown Engine Documentation では、以下のようにキーボード+マウスの場合とゲームパッドの場合の操作方法の初期設定が説明されていました。

TopDown Engine公式の Default Input の説明画像

TopDown Engine公式の Default Input の説明画像 参照:https://topdown-engine-docs.moremountains.com/input.html

しかし、なぜか右スティックで Secondary Movement (AIM) の操作をしようとしても受け付けてくれませんマウスを動かすと反応するので、AIM 機能としては実装されているのに、入力がうまく伝わっていない、または別の入力が割り当てられているのではないかと思いました。

KoalaDungeon ではゲームパッドの左スティックで移動、RTボタンで連射ができますが、発射する向きがマウスと違い変えられません。

KoalaDungeon ではゲームパッドの左スティックで移動、RTボタンで連射ができますが、発射する向きがマウスと違い変えられません。

右スティックの入力の確認

KoalaDungeon の初期状態では、右スティックを傾けても、前述の説明のような AIM (狙う方向の指示) はできません。その原因を探るために、そもそも右スティック入力Secondary Movement として認識されているのか確認します。

主人公 (Rei-chan) プレハブCharacterHandleWeapon コンポーネントUse Secondary Axis Threshold To Shoot有効にしてテストプレイすると向きは変わりませんでしたが、右スティックを傾けただけで攻撃ができました。
これにより、右スティックSecondary Movement (AIM) に対応していることが確認できました。

主人公ゲームオブジェクトの CharacterHandleWeaponコンポーネントの Use Secondary Axis Threshold To Shoot を有効にすると右スティック傾けで攻撃が発生

主人公ゲームオブジェクトの CharacterHandleWeaponコンポーネントの Use Secondary Axis Threshold To Shoot を有効にすると右スティック傾けで攻撃が発生

そして、テストプレイ中にマウスポインタの方を武器が向いていることから、マウスの位置に武器の向きが連動しており、マウスでのみ照準が制御されていることがわかりました。

AIM 入力方法の設定変更

Weapons | TopDown Engine Documentation には WeaponAim2D/3D コンポーネント攻撃方向を特定の入力に変えられるように設定する説明があります。
WeaponAim2D/3D コンポーネントは、武器のプレハブ付加されます。

武器のプレハブにWeaponAimコンポーネントが追加されていて AimControl は Mouse になっています。

武器のプレハブにWeaponAimコンポーネントが追加されていて AimControl は Mouse になっています。

武器のプレハブを探したときの手順

シーンの銃のアイコンから武器のプレハブまで、次のようにリンクをたどりました。
まず、シーンのマップに配置された武器アイコンをクリックし、 Inspector ウィンドウItemPicker コンポーネントItem の項目をクリックします。

KoalaDungeon マップの銃のアイコンから銃のプレハブにたどり着く手順1

KoalaDungeon マップの銃のアイコンから銃のプレハブにたどり着く手順1

たどりついた asset の InventoryWeapon コンポーネントEquippable Weapon の要素をクリックします。

KoalaDungeon マップの銃のアイコンから銃のプレハブにたどり着く手順2

KoalaDungeon マップの銃のアイコンから銃のプレハブにたどり着く手順2

WeaponAim2D コンポーネントを持った武器のプレハブにたどり着きました。

KoalaDungeon マップの銃のアイコンから銃のプレハブにたどり着く手順3

KoalaDungeon マップの銃のアイコンから銃のプレハブにたどり着く手順3

銃のプレハブの AIM 入力の変更

たどりついた銃のプレハブWeaponAim2D コンポーネントAim Control の設定が Mouse になっていました。
Aim Control の設定を Mouse から Secondary Movement に変更します。

WeaponAim2Dコンポーネントの AimControl の選択を切り替えます。

WeaponAim2Dコンポーネントの AimControl の選択を切り替えます。

テストプレイすると、マウスポインタの位置は無視され、ゲームパッドの右スティックに応じて武器の向きが変わるようになりました。

KoalaDungeon の武器プレハブの WeaponAim2DのAimControlをMouseからSecondaryMovementに切り替えると、マウスポインタの位置が無視され、ゲームパッドの右スティックに従うようになりました。

KoalaDungeon の武器プレハブの WeaponAim2DのAimControlをMouseからSecondaryMovementに切り替えると、マウスポインタの位置が無視され、ゲームパッドの右スティックに従うようになりました。

一応、右スティックで攻撃方向を指定することはできましたが、できれば、マウスを動かしたときはマウスポインタの方向に動くように、プレイ中に自動的に切り替えたいです。
今回と同じくわかるかどうかはわかりませんが、次回はそれについて調べようと思います。

参照サイト Thank You!

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました