3Dアクションゲームの作り方11 HPゲージ・ビルボードシステムを開発しよう

Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)


Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

今回は3Dアクションゲームの作り方講座の第11回です。前回はパーティクルシステムを用いたエフェクトとプレイヤーの消滅・コンティニュー処理を作成しました。

前回の記事:

3Dアクションゲームの作り方10 Unityパーティクルで攻撃エフェクトを作る コンティニュー処理も
今回は3Dアクションゲームの作り方講座第10回です。 前回はプレイヤーが一定範囲内に入った時の衝突判定システムを作り、敵キャラからプレイヤーへの攻撃処理を実装していきました。 前回の記事: 第10回目は攻撃を当てた、食...


第11回目はプレイヤーと敵のHPゲージ(HPバー)を表示し、視覚的にアクションゲームの状況をわかりやすくしていきます。


【Line登録者限定のプレゼントもあるよ!】

Unityスライダーを用いたHPゲージの実装

まずはHPゲージを作成してプレハブにしていきましょう。

スライダー作成

まずプレイヤーオブジェクトに空オブジェクトを作成して「HPBar」とします。この下にバーを作成していきます。

まず、HPバーの子に「UI/Canvas」を作成します。このキャンバスの値を調整しておきます。

先に「Canvas」オブジェクトに付与されている「Canvas」コンポーネントの「RenderMode」を「WorldSpace」に設定します。すると「RectTransform」がだいぶ大きい値になっていると思うので下記のように調整します。

次に、「Canvas」の子に「UI/Slider」を作成しまずは「RectTransform」を下記のように調整します。

ここで一旦「HPBar」(親の空オブジェクト)の位置を少し上に挙げてプレイヤーの上に来るように調整します。(Y = 1.2)あたり。

ここまで行うと画像のようになっています。

次にスライダーの値を調整していきます。本来スライダーは「Handle」と言われる丸い部分をクリックして動かすUIですがこれをHPバーにするためにまずはハンドルを消していきます。

現在スライダーは下記のような構造になっています。

この一番下の「Handle」を消してしまいましょう。するとスライダーの丸部分が消えるかと思います。この状態だと橋の部分に中途半端な空白ができてしまうのでスライダーの各パーツの「RectTransform」の値を変更していきます。

変更するのは「Fill Area」「Fill」「Handle Slide Area」でこれらすべての「RectTransform」の値をすべて0にします。

すると、真っ白な状態になると思います。ここで一旦色を変えていきます。

「Background」を選択しInspectorの「Image」の色を黒に、「Fill」を選択しInspectorの「Image」の色を緑にします。

これで緑のバーになります。ここで一旦バーを動かしてみます。

「Slider」オブジェクトを選択し、Inspectorの「Slider」コンポーネントの下の方にある「Value」という値のスライダーを左右に動かしてみましょう。するとGameビューのスライダーも動きます。

下記のようになっているかと思います。

これでプレハブにするHPバーの完成ですので、Hierarchyの「HPBar」をProjectウインドウの「Assets/AppMain/Prefab」にドラック&ドロップしてプレハブ化しましょう。

プレイヤーにはすでにありますので、敵のプレハブを開いて「HPBar」を追加しておきましょう。

敵のHPバーは、緑になっている「Image」を赤くしておくとわかりやすいかと思います。

ビルボードシステムを開発しよう

HPバーを作成しましたが、プレイヤーは移動するのでこのままだと横を向いたりすると見にくくなってしまいます。

そのためHPバーを常にカメラに向けるようにしていきます。このような処理のことを「ビルボード」といい、簡単なものですが3Dゲームではよく使われるので覚えておきましょう。

ここでは新しく「Billboard」というクラスを作成しておきビルボードしたいUIなどがあったらそのオブジェクトに付与して使うようにしていきます。

ソースコード全文は以下になります。

続きを読む

このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.stores.jp/)で講座閲覧権を取得してね。

次回の記事 : 

3Dアクションゲームの作り方12 敵の移動AI処理を開発 NavMeshの使い方をマスターしよう
今回は3Dアクションゲームの作り方講座の第12回です。前回はHPバーを作成しました。 前回の記事: 第12回目まででは、敵は立ち止まって近くに来たプレイヤーを攻撃していますが、今回は敵を移動させていきましょう。 移動A...


Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き


【Line登録者限定のプレゼントもあるよ!】

コメント

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