チャムコード

チャーさんのUnityゲームラボです。Unityでゲーム制作する時に使うコードやノウハウをメインに発信しています。Unityでゲーム制作したいと思っているなら読んでください。

敵Aiの作り方

Unityで敵の上にHPを表示させる方法「すぐにできます」

投稿日:2023年10月18日 更新日:

うも、チャーさんです。

あなたは、unityで敵にHPを表示させたいですか?

 

この記事ではunityで敵の上にHPを表示させる方法について

お話しします。

 

なのであなたがこの記事を読めば、

unityで敵の上にHPを表示させることができます。

 

 

unityのHP表示は結構わかりづらいところがあります。

なので、どうやったら表示できるのかわからん

ってなりたくなければ、この記事をこのままお読みください。

 

動画はこちらです。

 

Unityで敵の上にHPを表示させる方法

 

では本題です。

 

unityで敵にHPを表示させるには、

  1. スライダーを使って、HPを表示させる
  2. HPバーをカメラの方に常時向かせる。

 

この2つをやればokです。

 

ということで説明していきます。

 

 

スライダーを使ってHP表示させる方法

 

スライダーを使ってHP表示ですが、

これは簡単です。

 

まずはHierarchyの中で、+ボタンをクリックして

UI > sliderをクリックしましょう。

 

するとスライダーが表示されます。

ですがこのままだとデカすぎるので、

canvasのscaleを編集して、サイズを小さくしましょう。

 

 

そのためにまずはCanvasコンポーネントの

Render Modeというのがあるのでそこをクリックし、

World Spaceというのを選びましょう。

 

するとCanvasのRect Transformの部分が

調整できるようになるので、

それでCanvasのサイズを小さくしたら、

 

次は、Sliderの中に子要素で

Handle Slide Areaというスライダバーの左端にある

つまみの部分があるので、

 

そちらを消しておきましょう。

(使う場合は残しておいたらいいです。)

 

 

HPバーを満タンにする

 

次にSliderをクリックし、インスペクターを

見るとSliderというコンポーネントがあるので、

 

そちらのValueの部分のつまみを一番右まで

持っていってください。

 

すると、スライダーのバーが右のほうに動いて

いきます。

いわゆるこれがhp満タンの状態になります。

 

 

また合わせてwhole numbersという部分があるので、

そこにチェックをつけておきましょう。

 

すると整数を扱えるようになります。

元の設定のままだとHPを0~1の少数割合で

管理することになり面倒になります。

 

なのでチェックつけとくのをお勧めします。

 

HPバーが満タンにならないの解決法

 

で次に、気づいたと思いますが、

sceneビューではバーが右端まで行ってませんよね。

 

というわけでこれを解決するために、

次に同じく子要素である、

Fill Area というのを見てください。

 

 

そしてRect Transformというのを見てください。

leftが5Rightが15とそれぞれ数値が入ってますね。

 

ここの数値を0にしてください。

するとバーが全部埋まります。

 

(こちらをFill Area > Fillに関しても同様にしてください。)

 

HPバーに色をつける方法

 

ですが現在のままだとバーが白色で

イマイチわかりづらいですよね。

 

なのでインスペクターの下を見てください。

するとImageというコンポーネントが

ついてるので、そこのColorをクリックしましょう。

 

そしたら色が選択できるようになるので、

好きな色を選んでhpの色をつけてください。

 

 

HPバーが敵についてくるようにする方法

 

ここまできたらスライダーによるhpバーの調整は

ある程度okですので、

次はcanvasを敵オブジェクトの子要素にしてください。

 

これによって、あなたが作ったHPバーも

敵と一緒に動くようになり、

敵が動くとついてくるようになります。

 

*CanvasのコンポーネントのCanvasの

Render ModeをWorld Spaceにしておくのが

条件ですのでお忘れずに。

 

 

敵の上にHPバーを配置

 

あとは、canvasのRect TransformのPos Yの数値を

1とか2にして、敵オブジェクトの上にHPが表示

されるようにしましょう。

 

で、これでHPの表示はできました。

 

 

HPバーをカメラの方に向かせる

 

で、す、が、

 

このままでは、敵が向きを変えたり角度を変えると、

HPバーも一緒に角度を変え、

 

あらぬ方向を向いてしまうようになります。

 

 

それを回避するために、

HPバーだけは常に、プレイヤーのカメラの方を

向くように設定する必要があります。

 

そしてそのためにはスクリプトを書く必要があるので、

CanvasオブジェクトのAdd Componentから

スクリプトを追加しましょう。

 

そしてその中には以下のように書きましょう。

 

void Update()
{

transform.rotation = Camera.main.transform.rotation;

}

 

これだけで、あなたが用意したHPバーが、

常にカメラの方を向くようになります。

 

一応コードの補足をしときますと、

transform.rotationというのがこの場合は、

canvasオブジェクトの角度、向きになります。

 

そしてCamera.main.transform.rotationというのが、

カメラの角度になります。

 

 

「Camera.mainとは?」

とあなたは思うかもですが、こう書くことで

Unityが内部でMainCameraオブジェクトを取得状態

にしてくれて、

 

あとはそれのtransform.rotationにアクセス可能

状態になってるわけです。

 

 

ということで、上記のように書けば、HPバーが

いつでもカメラの方を向くようになり、

 

HPバーが回転したりすることがなくなるので、

そのように運用してください。

 

 

ということで、以上でUnityで敵の上にHPバーを

表示させる方法を説明しました。

 

 

まとめ

 

なのでまとめに入ります。

 

Unityで敵の上にHPバーを表示させる方法は、

  1. スライダーを使って、HPを表示させる
  2. HPバーをカメラの方に常時向かせる。

この2つをやればOKです。

 

すると敵にHPバーを表示させれるので、

ゲームのように楽しい感じにできるでしょう。

 

で、次にあなたは、

「敵が攻撃を受けたら敵のHPが減るようにしたいなぁ」

そう思うことでしょう。

 

以下をご覧ください。

敵のHPを減らす方法を記事にしときました。

Unityで敵が攻撃を受けたらHPを減らす機能の作り方

 

 

上の記事を読めば、

敵のHPを減らす機能まで実装できるでしょう。

 

ということで、本記事は以上です。

お読みいただきありがとうございました。

 

それでは。

チャーさん

-敵Aiの作り方

関連記事

Unityで敵による索敵を距離で行わせる簡単な方法「このメソッド1個使えばいける」

どうも、チャーさんです。 いつもこのブログ、チャムコードに来ていただき ありがとうございます。   あなたは、Unityで敵による索敵を距離で行わせたいですか? プレイヤーと敵オブジェクトと …

Unityで敵に巡回させるならこの3ステップ(ランダム巡回もできる)

どうも、チャーさんです。 あなたはUnityで敵を巡回させたいですか? この記事ではUnityで敵を巡回させる方法を説明します。   なので、この記事を読めばUnityで敵の巡回をすぐにさせ …

Unityで敵が攻撃を受けたらHPを減らす機能の作り方

どうも、チャムコードというブログ運営してる、チャーさんです。   あなたはUnityで敵のHPを減らす機能を作りたいですか? 敵がプレイヤーから攻撃を受けたときに、HPを減らす 処理をつけた …

Unityで敵にプレイヤーを攻撃させる方法

どうも、チャーさんです。   あなたはUnityで敵が攻撃してくるようにしたいですか? この記事ではUnityで敵に攻撃させる方法を書いてるので、 この記事を読めば敵に攻撃させることができま …

Unityで敵を徘徊させたい?ならこうやればいいですよ。

どうも、チャーさんです。   あなたは、Unityで敵に徘徊させたいですか? であればこの記事を読んでください。   読めば、Unityで敵に徘徊させることができるようになります。 …

no image

unityで敵を移動させる方法(詳細にわかりやすく説明します)

どうも、チャーさんです。   あなたはunityで敵を移動させたい、そう思っていませんか? コライダーなどでもできるが、他の方法がないかと探してませんか?   この記事ではコライダ …

Unityで敵に索敵機能を持たせる方法(簡単なやり方)

どうも、チャーさんです。   あなたはUnityで敵に索敵機能をつけたいですか? この記事ではUnityで敵に索敵機能をつける方法を説明します。 なので、   この記事を読めば、あ …

unity-enemy-spawn

Unityで敵をスポーンさせる簡単な方法[速攻でできる]

どうも、チャーさんです。 この記事では、Unityで敵をスポーンさせる方法について お話しします。   なので、あなたがこの記事を読めば、 すぐにUnityで敵をスポーンさせることができるよ …

no image

unityで敵に近づくと追いかけてくるコードとコードの解説記事

どうも、チャーさんです。   あなたはunityで敵に近づくと、 プレイヤーを追いかけてくるという機能を つけたいと思っていませんか?   この記事ではそれを実現するコードと方法や …

unityで敵を消滅させる

Unityで敵を消滅させる方法(敵を攻撃した時に消滅させるとかも)

  どうも、チャーさんです。   あなたはUnityで敵を消滅させたいですか? 例えばプレイヤーが敵を攻撃したら消滅させたり、 そんな風にしたいならばこの記事を読んでください。 & …

最新記事

チャーさん

Unityに関する記事を書いてます。

 

[簡単な経歴]

 

2018年-プログラムを始めUnityの存在を知りハマる。

2019年-エンジニアとして仕事開始(web系)

2021年-UnityでVR開発等にも手を出し始める。

現在-エンジニアとして活動しながらUnityも続行中。

 

youtubeでは、Unityに関する動画をあげてるので、

あなたのUnityスキルアップにどうぞ。