広告あり

Unreal Engine コツコツ自習_五角形グラフを作成する方法

UEコツコツ自習シリーズ
スポンサーリンク

五角形グラフ(レーダーチャート)を作成する

今回は、五角形グラフ(レーダーチャート)を作成する方法を備忘録にします。

※作業環境:UEバージョン5.3.2

備忘録

プレイヤーのステータスをどうしてもレーダーチャート(五角形グラフ)にしたいときがありました。

有料アセットは金額が高いので、自作するためにいろいろ調べて実装しました。

今回は、参考にした記事を紹介します。

参考記事

みつまめ杏仁

アンリアルエンジンでGUIを作るための情報を発信してくれています。
たくさん情報を発信してくれているので、UIデザイナーの参考になります。

UEテク

いろんなUEテクニックを発信してくれています。
YouTubeにも動画が上がっているので参考にしやすいです。

五角形グラフ(レーダーチャート)作成

みつまめ杏仁さんの記事を参考に、五角形グラフ(レーダーチャート)のメッシュとマテリアルを作成しました。

今回は詳しい説明は省略しますので、参考記事のリンクからご確認ください。

ざっくり流れだけまとめておきます。

Blenderで五角形の形状のメッシュを作成する

Blenderで五角形のメッシュを作成し、各軸の頂点に頂点カラーを設定します。

Blenderとは、3DCG製作やVFX向けデジタル合成、アニメーション制作などができる無料ツールのことです。

作成できたらUE用のデータに変換して、UEエディタ上でプロジェクトにデータをインポートします。

マテリアルを作成する

作成した五角形メッシュに設定するマテリアルを作成します。

分かりにくいですが全体像はこんな感じ

マテリアルを作成するときに躓いた箇所がありました。

それは、各頂点の位置を調整する処理の「If」ノードの設定です。

「If」ノードの「Equals Threshold」の設定値が初期設定のままだと、五角形メッシュの形状が思うように変わりませんでした。

各頂点ごとに「If」ノードの「Equals Threshold」の値を調整して、イメージ通りに変化できるようにしました。(※各頂点ごとに値が異なります)

マテリアルのプレビュー形状に、メッシュを設定しておくと確認しやすいです。

やり方は以下の記事で紹介しています。

マテリアルが完成したら、メッシュにマテリアルを設定します。

ブループリントを作成する

メッシュとマテリアルが出来たので、ブループリントを作成します。

これで五角形グラフを準備できました。

ウィジェットに五角形グラフ(レーダーチャート)を表示

UEテクさんの記事を参考に、作成した五角形グラフ(レーダーチャート)をウィジェットに表示しました。

ここでも詳しい説明は省略しますので、参考記事のリンクからご確認ください。

ざっくり流れだけまとめておきます。

カメラと五角形グラフを配置する

何もなく邪魔にならない場所にカメラと、表示する五角形グラフを配置します。

カメラの描画ターゲットを作成します。

五角形グラフ以外を非表示にする

ウィジェットに表示する用のマテリアルを作成します。

テクスチャには、先ほど作成した描画ターゲットを使います。

マテリアルが作成できたら、ウィジェットの表示したい場所にマテリアルを配置します。

マテリアルは、ウィジェットに「Image」要素を追加すれば設定出来ます。

これでウィジェットに五角形グラフを表示することが出来ました。

五角形グラフの各頂点位置の調整

マテリアルで設定した各頂点の値を変化させて、五角形グラフの形状を変更していきます。

マテリアルの値を変更するには、「Set Scalar Parameter Value」ノードを使用します。

Inputピンの設定はこんな感じ

  • Targetには、五角形グラフを指定しています。
  • Parameter Nameには、変更したいパラメーター名を指定します。
    今回は五角形グラフなので、5ヵ所変更するパラメーターがあります。
  • Valueには、新しい値を指定します。
    繋いでいる「Get Paramater」は自作したPure関数です。

下の写真は「Target」に指定している「Rader Mat」の変数作成処理です。

「Create Dynamic Material Instance」ノードの処理結果を変数化しています。

下の写真は「Get Paramater」関数の処理です。

指定した「Index」の値から配列の要素を出力しています。

配列内に各頂点のパラメーターを保管している感じです。

配列内の値を変更することで、五角形グラフの形状を操作できるようにしています。

五角形グラフ(レーダーチャート)完成

完成したのがこちら

これで何とか実装出来ました。

もっと良い方法があると思いますが、私の今の知識と検索能力ではこれが限界です。

時間に余裕があれば、マテリアルだけで製作できないか再挑戦したいと思います。

有料アセット「Radar Chart Widget」

ちなみにFABの有料アセットで「Radar Chart Widget」があります。

これを使えば簡単に実装できるかもしれませんが、結構金額が高いので諦めました。

他の記事を探す

他の記事も気になる方は、以下の記事の目次を確認ください。

タイトルとURLをコピーしました