Unreal Engine公式のUMGのチュートリアル
仮想キーボードのインタラクションを作成するを行っていて
詰まったことと解決法をまとめておきます。
開発環境
- UE5(Version: 5.0.3)
- Visual Studio2022
- 1-2 WidgetInteractionコンポーネントをどこに追加するかがわからない
- 3-1のKeypadDisplayブループリントをどう設定すればいいかわからない
- 4-5 Text変数の設定がわからない
- 数字を入力してもKeypadDisplayに描画されない
- 【検証】2-7 ButtonのIs Focusableをtrueにするとどうなるか
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の一番左にうっすらとキャレットが表示されているのが
確認できます。
参考
【検証】2-7 ButtonのIs Focusableをtrueにするとどうなるか
trueにした場合の説明を読んでもわからなかったので
試してみました。
数字を入力した時にButtonにフォーカスが移り
Displayのキャレットが消えることがわかりました。
3-3のKeypadブループリントを設定する時に
Window Focusableのチェックを外しましたが
このチェックを入れても同じことが起こることが
わかりました。
以上です。