Skip to content

GenerateMinimapTexture ja

Shun Moriya edited this page Jan 11, 2023 · 1 revision

ミニマップを生成する

このページでは、生成したダンジョンのミニマップを
テクスチャアセットとして保存する方法
実行時に Widget へ表示する方法 の 2 つに分けて説明します。

最初は、まずエディタ上でテクスチャを生成できることを確認してください。
そのあとで、実行時の UI 表示やアイコン表示へ進むと理解しやすくなります。

このページのゴール

  • エディタでミニマップテクスチャを生成できる
  • 実行時にミニマップを UI に表示できる
  • 必要に応じてアイコンを重ねて表示できる

先に知っておくこと

  • エディタでテクスチャを生成するには、直前にダンジョンを生成していること が必要です
  • 実行時に表示するには、ADungeonGenerateActor からミニマップ用オブジェクトを取得します
  • 最初はテクスチャだけを確認し、アイコン表示はあとから追加すると切り分けやすくなります

前提

  • QuickStart.ja.md が完了している
  • ダンジョンを正常に生成できる
  • エディタの Window > DungeonGenerator でプレビューできる、またはレベルに ADungeonGenerateActor を配置している

A. エディタでミニマップテクスチャを作る

まずは、コンテンツブラウザに保存されるミニマップテクスチャを作ります。
この方法は、見た目の確認や UI 試作に向いています。

1. 先にダンジョンを生成する

ミニマップテクスチャは、直前に生成したダンジョン情報 を使って作られます。
まだダンジョンを生成していない場合は、先に Generate dungeon を実行してください。

2. 生成ボタンが有効になることを確認する

ダンジョン生成情報が有効な場合だけ、次のボタンを使えます。

  • Generate texture with size
  • Generate texture with scale

ボタンが押せない場合は、ダンジョンが正常に生成されていない可能性があります。

テクスチャ生成画面

3. テクスチャを出力する

目的に応じて、どちらかのボタンを使います。

  • Generate texture with size
    出力サイズを直接決めたいときに向いています
  • Generate texture with scale
    密度を基準に出力したいときに向いています

4. 出力先を確認する

ボタンを押すと、テクスチャアセットがコンテンツブラウザの ProceduralTextures フォルダに作成されます。

5. 階層ごとの違いを確認する

ミニマップは 階層ごとに別テクスチャ として生成されます。
多階層ダンジョンでも、今どの高さにいるか把握しやすくなります。
下層の階層ほど薄い色で表現されます。

B. 実行時に Widget へ表示する

ゲーム中にダンジョンを生成する場合は、テクスチャアセットを保存せず、
ミニマップをそのまま Widget に表示できます。

1. ダンジョン生成後にミニマップ用オブジェクトを取得する

ADungeonGenerateActor によってダンジョンが生成されると、
DungeonMinimapTextureLayer オブジェクトを取得できます。

2. 現在の階層に対応するテクスチャを選ぶ

DungeonMinimapTextureLayer から、プレイヤーの高さに応じた現在階層のテクスチャを取り出します。

3. Widget に設定する

取り出したテクスチャを Widget の Brush に設定して表示します。

C. アイコンを重ねて表示する

ミニマップにプレイヤー位置や目標物のアイコンを出すと、探索しやすくなります。
アイコン表示の補助には DungeonIconWidget を使います。

1. 表示したいアイコンを用意する

まず、ブラシに表示したいアイコンを設定します。

2. アイコンを登録する

表示位置の登録には Register or Set を使います。
同じ ID のアイコンがすでに存在する場合は更新として扱えます。

3. アイコンを解除する

不要になったアイコンは Unregister で登録を解除します。

確認する

  • テクスチャ生成ボタンを押すと ProceduralTextures にアセットが作られる
  • 階層ごとにテクスチャが分かれている
  • プレイヤーの高さに応じて現在階層のミニマップが切り替わる
  • アイコンが期待した位置に表示される

よくある失敗

  • Generate texture with size / Generate texture with scale が押せない
    直前にダンジョンが生成されているか確認してください
  • テクスチャは作れたが UI に何も表示されない
    DungeonMinimapTextureLayer から取得したテクスチャを Widget 側へ設定できているか確認してください
  • 表示される階層がずれる
    プレイヤーの高さからどの階層を選ぶかの条件を見直してください
  • アイコンが出ない
    Register or Set の ID と表示座標、ブラシ設定を見直してください

補足

実際の組み込み例は、サンプルプロジェクトの Content/Widget/Main/PlayGameWidget が参考になります。

次に読む

Clone this wiki locally