Chapter 31

◽ レベル上のスタティックメッシュの情報を取得

ポコ太郎
ポコ太郎
2022.01.04に更新

それではレベルに配置したアセットの情報を取得してみましょう。

Editor Utility Widget を作成

新しく『Editor Utility Widget』を作成します。「EUW_GetActorInfo」と名付けました。

作業領域の調性

BP を開いたら作業しやすいようデザイナの右上の「Fill Screen」を「Custom」に変えます。

これから作る UI のサイズを意識しながら「Width」と「Height」を設定します。

左上に「Zoom 1:1」と表示されている状態が原寸サイズなので目安にしましょう。

各ウィジェットを配置

📚 Hierarchy パネル内に図のようにウィジェットを配置します。

  • 🧱 Button
    • 🧱 Text(ボタンの上の文字)
  • 🧱 Text(ボタンの右に表示する文字)
  • 🧱 Button
    • 🧱 Text(ボタンの上の文字)
  • 🧱 Text(ボタンの右に表示する文字)

見た目のままですが、上段のボタンはスタティックメッシュアクターの名前を取得して右隣にテキストで表示します。下段のボタンは使用マテリアルを取得してテキストで表示します。

コンパイルして『Editor Utility Widget』を起動してイメージに近いサイズにします。

各ウィジェットの設定

以下のような感じで設定してください。
座標や大きさなどは全く同じにする必要はありません。

ボタン

ボタン(上段) ボタン(下段)

ボタン上のテキスト

ボタンのテキスト(上段) ボタンのテキスト(下段)
  • 📋 APPEARANCE
    • Font > Size = 12
    • Justification = Align Text Center

ボタン横のテキスト

ボタン横のテキスト(上段) ボタン横のテキスト(下段)
  • 📋 APPEARANCE
    • Font > Size = 15
    • Justification = Align Text Left

ボタンのクリックイベントを追加

2つともイベントを追加しておきましょう。これでデザイナ側の作業はOKです。

アクターの名前を取得する BP の作成

コンテンツブラウザ上のアセットがレベル上のアクターになると情報の取得が複雑になっていきますが、レベル上で選択中のアクターを取得して情報を得る大きな流れは同じです。

まずはこちらのように組んでみてください。「📓 Flip Flop」は処理を通る度に出力が「A」と「B」で切り替わります。スイッチの ON/OFF のトグルのようなことが手軽にできます。図の例ではボタンを押す度に「📗 Get Display Name」と「📗 Get Object Name」を切り替えてログに出力します。

テストで実行

レベル上の適当なスタティックメッシュアクターを選択します。

ウィジェットの「Actor Name」ボタンを押す度に名前が変わっていることが分かります。

図の例では、アクターの名前は「CubeMesh」ですが、アウトライナ上でカーソルを乗せると「ID Name: CubeMesh_5」と表示されます。

📰 Details 📰 World Outliner

取得した情報を Text ウィジェットに表示

また BP に戻って図のように組んでください。「📗 Append」の「B」の中身は改行です。「📗 ToText (String)」で文字列を Text 型にキャストして「📘 SetText (text)」で Textウィジェットの文字列を変更しています。

コンパイルして保存します。

BP を実行

同じスタティックメッシュアクターを選択して「Actor Name」ボタンを押すと『Editor Utility Widget』上に Display Name と Object Name が2つ並んで表示されました。