Meiryo’s blog

やってみて詰まったことを備忘録として残すブログ

【UE5】公式UMGチュートリアル「仮想キーボードのインタラクションを作成する」で詰まったことと解決法

Unreal Engine公式のUMGのチュートリアル
仮想キーボードのインタラクションを作成するを行っていて
詰まったことと解決法をまとめておきます。

開発環境
- UE5(Version: 5.0.3)
- Visual Studio2022

1-2 WidgetInteractionコンポーネントをどこに追加するかがわからない

UE5のBP_FirstPersonCharacterはキャラクターと銃が
分離されているのでSphereがありません。
そのためWidgetInteractionコンポーネント
どこに追加するか迷いました。

これはFirstPersonCameraの子に追加し
手の位置に移動することで解決しました。

3-1のKeypadDisplayブループリントをどう設定すればいいかわからない

KeypadDisplay ブループリントを開きクラスを [Draw at Desired Size] に設定した [KeypadDisplayWB] を追加しDraw at Desired Size にチェックを入れます。

とありますがKeypadDisplayブループリントを
開いてもUserInterfaceカテゴリが見つからず
どこで設定を行えばいいのかわかりませんでした。

これはKeypadDisplayブループリントを開いたら
Widgetコンポーネントを追加し、
WidgetコンポーネントのUserInterfaceカテゴリで
設定を行うことで解決しました。

英語のドキュメントでは「Widgetコンポーネントを追加し」と
あるので誤訳?のようです。

4-5 Text変数の設定がわからない

「TextArray」と呼ばれる Text 変数をします。ブループリントを コンパイル して Default Value を 0 に設定します。

とありますが変数はText「配列」なのかと
DefaultValueは0と1212どちらを設定するのか迷いました。

これもまた誤訳のようなので手順の画像の通り設定すれば
大丈夫でした。
ちなみに英語のドキュメントだと下記のようになっています。

数字を入力してもKeypadDisplayに描画されない

これは数字を入力する前に
KeypadDisplayを右クリックしてからでないと
入力されないようです。

下記の画像はクリック後なのですが
Displayの一番左にうっすらとキャレットが表示されているのが
確認できます。

参考

forums.unrealengine.com

【検証】2-7 ButtonのIs Focusableをtrueにするとどうなるか

trueにした場合の説明を読んでもわからなかったので
試してみました。

数字を入力した時にButtonにフォーカスが移り
Displayのキャレットが消えることがわかりました。

3-3のKeypadブループリントを設定する時に
Window Focusableのチェックを外しましたが
このチェックを入れても同じことが起こることが
わかりました。

以上です。