良い例が思いつかなかったので、今回はキャラクターがジャンプしたら、
ウィジェット上にJump
と表示するようにします。
キャラクターの体力などを表示する。みたいな状況で使える(UE4初心者並みの想像力)
一番下に全体図を置いているので、わかる人はそこまで飛んでください。
ThirdPersonBP
からプロジェクトを作成。
コンテンツブラウザからブループリントウィジェットを作成。
ウィジェットを開いて、適当にテキストを置いておく。
テキストをクリックすると、画面右側に詳細が出るので、そこからバインディングを作成
以下のような画面になると思います。
うまくできたら画面左から変数を追加してください。
このとき変数の右側をクリックして目が開いた状態になるようにしてください。
これをすることで外部からNewVar_0
変数を読み出せるようになります。
先ほど追加した変数の型をtext
にします。
変数をドラッグアンドドロップしてください。
このときGet Text
Set Text
と表示されるのでGet Text
としてください。
これでひとまずウィジェット部分は終わりです。
コンパイルして保存して閉じてもらって構いません。
コンテンツブラウザからThirdPersonCharacterBP
を開いて、イベントグラフに移動します。
最初は、プレイ画面にウィジェットを表示させるところから。
イベントグラフを右クリックし、イベントBeginPlay
を追加します。
イベントBeginPlay
からにょきにょきと伸ばし、Create Widget
を選択
Create Widget
からクラスを追加。上で作った、ウィジェットを選択してください。
Create Widget
からにょきにょきと伸ばして、Add To Viewport
を選択
コンパイルして実行すると、何も表示されません。
はい、最初に作ったウィジェットの変数NewVar_0
に何も設定してないからです。
ThirdPersonCharacterBP
のイベントグラフを開いたときにデフォルトでいろいろ置いてあると思います。
その中からインプットアクションJump
を引っ張ってきます。
引っ張ってきたら、最初に作ったウィジェットの変数NewVar_0
をSet
で配置します。
こんな感じで配置したらおしまい。
(注: これは後々、スパゲッティになる人の書き方です。)
下のほうにきれいに直したブループリントを置いています。
コンパイルしてプレイ。
ジャンプキーはスペースバーで設定されていると思います。
うまく表示されましたでしょうか。
スペースバーを押している間画面にJump
と表示されるはずです。
かなり雑に説明したのでわかりにくかったらごめんなさい。
最後に全体図を置いておきます。
丸い点はReroute
ノードです。
スパゲッティにならないようにするために作られた(?)ノードだと勝手に思っています。(よくわかってない)
Jump
を囲っている白色の四角はコメントです。
複数のノードを囲んで右クリックして一番下にあるのがそれです。
特定のノードにコメントをつけたいときは、つけたいノードを右クリックして一番下。