bigbanner

Unity マルチプレイオンラインゲーム開発

Unityオンラインゲーム作成【Chapter9】チャットの頭上表示

更新日:

前回のChapter8ではチャットの導入を行いました。

しかし現在のチャットのログはUI上にしか表示されず、特に人が増えていった場合、どのプレイヤーがどの発言をしているかがゲーム画面上ではとてもわかりにくい状態となっています。

そのため今回はそのチャットを発言したキャラクターの頭上に一定時間表示するようにします。

チャットの頭上表示

チャットの頭上表示をするためには自分がChatのUIに入力した文字列を自分のキャラクターの頭上に表示しなければなりません。

つまりチャットの頭上表示にはChatManager→PlayerPrefab→PlayerUIという3つのオブジェクトを文字列データが流れるように変更を加える必要があります。

では以下の手順で変更を加えていきましょう。

  1. InRoomChat.csに以下のように一部コードを追加
  2. プレイヤーPrefabにアタッチしているPlayerManager.csを以下のように一部コードを追加
  3. PlayerUIPrefabにアタッチしているPlayerUIScript.csを以下のように一部コードを追加
  4. キャラクターのHPや名前を表示しているPlayerUIのPrefabにチャット用Textオブジェクトを追加し、設定

※追加したコードの行の背景には色が付いていますので参考にしてください。

InRoomChat.csの変更後ソースコード

 

PlayerManager.csの変更後ソースコード

PlayerUIScript.csの変更後ソースコード

PlayerUIPrefabに頭上Chat表示用に子テキストオブジェクトとしてChatTextを追加

以下の画像のようにPlayerUIの子オブジェクトとしてテキストオブジェクトChatTextを生成します。

生成したChatTextの設定は以下のInspectorビューのようにしてください。

頭上チャットの文字のサイズや色やフォントはここで決めることが出来るのでお好みで設定しましょう。

今回は見やすいように白で縁取った黒太文字で表示しています。

最後に以下の画像のように生成したChatTextを親オブジェクトにアタッチされているPlayerUIScriptに設定します。

PlayerUIPrefabを保存後、チャットの頭上表示の設定は完了です。

実際に動かしてみましょう!

チャットが発言者の頭上に表示されましたね!!

これで誰が何を発言しているかが一目瞭然になりました!!

次回予告!!

次回はお待ちかねの攻撃を実装してみようと思います。

お楽しみに!!

 

rectangle_l

rectangle_l

-Unity, マルチプレイオンラインゲーム開発

Copyright© Uniblo-ゆにブロ- , 2022 All Rights Reserved.