Simple Minimap System with Exploration Reveal/シンプルな探索領域表示型ミニマップのGDScript

キャラクターの動きに応じて探索済みの領域がだんだん明らかになっていくミニマップシステムです。

トップビューのゲームに向いていると思います。

:warning: 本システムはAIを用いたvibecodingで作られており、細かい質問には回答できません・・・ChatGPT等にコードを読み込ませて質問することでカスタマイズできると思います。

サンプルプロジェクト:

minimap_sample_project.zip (19.2 KB)

使用方法:

◆事前準備

  1. サンプルプロジェクトのMinimapフォルダの中身を任意のプロジェクトに読み込んでください。

  2. minimap.tscnをUIレイヤーに配置します。

    image

◆Minimapノードのセットアップ

  1. World Rectのx,yにミニマップに表示したい領域の左上の座標を指定します。
  2. World Rectのw,hに表示したい領域の高さと幅を指定します。
  3. Mask Sizeはミニマップの大きさです。
  4. Reveal Radiusに、可視領域(霧の晴れていく広さ)を指定します。
  5. Edge Softnessは可視領域の境界線の柔らかさ、Max Darknessは霧のこさを指定します通常は変更する必要はないと思います。
  6. Player Pathはプレイヤーのゲームオブジェクトを指定します。
  7. Rotate Markerが有効な場合キャラクターの回転に応じて現在地マーカーが回転します。
  8. 最後にMinimapの位置と大きさをControl>レイアウト>トランスフォームのサイズと位置で指定します。

◆Minimapノードの中身のセットアップ

  1. MiniMapノードを展開します。
  2. MapSpriteのテクスチャに、「ミニマップの画像」を設定します。
  3. Fogのテクスチャに「霧として使う画像」を設定します。通常ミニマップの画像と同じサイズで黒く塗りつぶされたものが良いでしょう。
  4. Markerのテクスチャに「プレイヤーの現在地マーカーとして使いたい画像」を設定します。

上記手順を行えば自作のミニマップができる・・・ハズです。

「いいね!」 1

これは、キャラクターが移動するにつれて探索した領域が徐々に可視化されるミニマップシステムです。

特にトップダウン(上から見た)ゲームに適しています。

:warning: このシステムは AI ベースの「vibecoding」を使用して作成されたため、詳細な質問にはお答えできない場合があります。カスタマイズしたい場合は、コードを ChatGPT や同様のツールに読み込ませてサポートを受けてみてください。


:file_folder: サンプルプロジェクト

ダウンロード: minimap_sample_project.zip (19.2 KB)


:wrench: 使用方法

① 準備

  1. サンプルプロジェクトの Minimap フォルダの内容を、ご自身のプロジェクトにインポートします。

  2. minimap.tscn シーンをゲームの UI レイヤー に配置します。


② ミニマップノードの設定

プロパティ 説明
World Rect (x, y) ミニマップに表示するワールド領域の左上座標を設定します。
World Rect (w, h) ワールド領域の幅と高さを設定します。
Mask Size ミニマップ表示のサイズです。
Reveal Radius プレイヤーの周囲で可視化される半径(霧が晴れる範囲)です。
Edge Softness 可視領域の端の柔らかさを設定します。通常は変更不要です。
Max Darkness 未探索の霧の透明度レベルです。デフォルト値で問題ない場合が多いです。
Player Path プレイヤーのゲームオブジェクトをここに割り当てます。
Rotate Marker 有効にすると、マーカーがプレイヤーの回転に合わせて回転します。

最後に、Control > Layout > Transform を使用してミニマップの位置とサイズを調整してください。


③ ミニマップノードの内部設定

シーンツリーで Minimap ノードを展開します。

ノード 説明
MapSprite ミニマップの背景テクスチャ(例:マップ画像)を割り当てます。
Fog 霧のテクスチャを割り当てます(通常はミニマップと同じサイズの黒い画像)。
Marker プレイヤーの現在位置を表すアイコンテクスチャを割り当てます。

「いいね!」 2