語彙力
身につけたい
本題
iPadのようなタブレット端末やAndroidのようなスマートフォンゲームでよく見かけた
両端に移動を制御できる丸いものを実装する方法だよ!

プロジェクト設定>「タッチインターフェースを常に表示」にチェック

~Fin~
なのじゃが実際これがなんでできるのか深堀してみた。('ω')
理由はモバイルの丸いもの(以下Virtual Joystick)はデフォルトでGamePadの操作と紐づけてくれてるからです。
プロジェクト設定>「デフォルトのタッチインターフェース」>「Default Virtual Joysticks」

Default Virtual Joysticksを展開するとこんな感じ。
GamePadの操作がデフォルトで設定されているのが分かります。後述するThirdPersonテンプレートみると分かるのですが左の円がGamePadの左ジョイスティックなので移動、右の円が右スティックなのでカメラ移動になりますね。
ThirdPersonCharacter

ThirdPersonテンプレートにはデフォルトでGamePadの操作が組み込まれているのでチェックひとつでお手軽に実装できるというわけですね。(すごい・・・!)
「Default Virtual Joysticks」にはタッチした時の操作がありませんので、「Input Touch」ノードから実装します。ThirdPersonテンプレートにはデフォルトで入っているのでタッチ
した際にジャンプすることが可能です。
そのためGamePadをマッピングしたアクションノードを切り離すとモバイルでも動かなくなります。お試しでカメラ操作を行うノードから切り離してみると

右のカメラ操作だけ動かなくなることがわかります!
でなんでこんな記事を書いたかなのですが、GamePadとVirtual Joystickが紐づいているという記事に中々たどり着けなかったので、チェックを押せば動くんや!という低レイヤーの考えで苦しまないようにするためです。はい、私です。(ノД`)・゜・。
次回は実践的なものやりたい。
※モバイルのあれ「Virtual Joystick」だと思うのですが、「Touch Controls」、「Touch Interact」「Virtual Touch」とか散らかってて検索でにゃーんするので正式名称統一してほしい!1000兆円あげるから!お願い!
↓参考になりました BP 3rd Person Game: Character Gamepad & Touch Controls | 15 | v4.8 Tutorial Series | Unreal Engine
Comments