+
*
+
ココ先生
ゲーム開発の案内役
この記事では 敵対視と狙われ先を伝える脅威表示UI設計ガイド を、読んで終わりにせず、敵が誰を狙うかを、頭上の矢印と画面の危険フレームで表示します。
+
*
+
はじめちゃん
ゲームエンジン学習中
敵対視と狙われ先を伝える脅威表示UI設計ガイド を読む前に、まずUnity のどこを見ればよいかを確認したいです。
敵が誰を狙うかを、頭上の矢印と画面の危険フレームで表示します。
敵の攻撃処理と、狙われている表示を分けて作るのですね。
SetTargetで相手を受け取り、Playerを狙う時だけ赤くします。

完成イメージ
狙う相手を受け取る
敵AIが決めたTransformをSetTargetで保存します。
頭上の矢印を変える
Playerを狙う時は赤、それ以外は黄の矢印を表示します。
危険を画面でも知らせる
Playerが狙われた時だけDanger Frameを表示します。
導入
敵が誰を狙っているかを、敵の頭上の矢印と画面端の警告で表示します。Playerを狙う時だけ赤くする実装です。
これから作るもの
- Enemy の子に World Space Canvas を作り、Image を
TargetArrowと名付けます。 - Canvas に Image を作り、
DangerFrameと名付けます。 - Enemy に
ThreatIndicatorを付け、Arrow と Danger Frame をInspectorへ入れます。
ステップ1: 狙う相手を保存する
SetTarget は敵AIが攻撃相手を決めた時に呼びます。
[SerializeField] private Image targetArrow;
[SerializeField] private Image dangerFrame;
[SerializeField] private Transform player;
private Transform currentTarget;
public void SetTarget(Transform target)
{
currentTarget = target;
}
ステップ2: 頭上の矢印を更新する
private void LateUpdate()
{
var targetsPlayer = currentTarget == player;
targetArrow.enabled = currentTarget != null;
targetArrow.color = targetsPlayer ? Color.red : Color.yellow;
dangerFrame.enabled = targetsPlayer;
}
完成版
using UnityEngine; using UnityEngine.UI;
public class ThreatIndicator : MonoBehaviour {
[SerializeField] Image targetArrow, dangerFrame; [SerializeField] Transform player; Transform currentTarget;
public void SetTarget(Transform target) { currentTarget = target; }
void LateUpdate() { bool danger=currentTarget==player; targetArrow.enabled=currentTarget!=null; targetArrow.color=danger?Color.red:Color.yellow; dangerFrame.enabled=danger; }
}
危険フレームを出す条件は何ですか?
現在のターゲットがPlayerと同じTransformなら表示します。
流れは「準備状態を表示」から始めて、「Next Buttonで進める」で操作を入れる、と覚えればよいですか?
その通りです。その後に「操作中を確認」で途中状態を見て、「結果表示で結果を見る」で結果を確認します。順番を固定すると、失敗した場所も見つけやすくなります。
つまり、いきなり完成システムにせず、状態名、表示、値の変化を小さくそろえるのですね。
はい。最後は「敵対視と狙われ先を伝える脅威表示UI設計ガイドをわかりやすく考える」の考え方で、難しい処理をプレイヤーに伝わる短い合図へ置き換えられるか確認しましょう。
この記事のまとめ
敵が今誰を狙っているか、危険がどこへ向いているかを短時間で伝えるための脅威表示設計を整理します。
大きな違いを生むのは、派手な性能よりも 毎日触れる環境を無理なく整えること です。見やすい画面と使いやすい道具がそろうと、学習や次の一歩を決めやすくなります。