【UnityC#講座】TagをString(文字列)で使えるの知らなかった


Unity2018.1.5f1
Windows10

TagをStringで/トップ

今回はTagについてです。

TagをStringで/Inspector左上

私はてっきりTagは衝突判定のOnTriggerとOnCollission、そしてMain Cameraの識別ぐらいにしか使えないと思っていました。
こんな感じで。

そうそう、Tagでオブジェクトを検索することもできました。

ですが最近、Stringとして普通に(?)使えることに気づきました。
知らなかった方のために例を出して紹介します。

■Tagを追加する

まずはTagの基本を確認しましょう。
TagはオブジェクトのInspectorの左上から替えられます。

TagをStringで/Tagの替え方

このAddTagをクリックして出る画面からTagを追加できます。
Tagsの右下の+ボタンを押すと出る入力ウィンドウに追加したいTagを入れてSaveすると登録完了です。

TagをStringで/Tagの登録

■3D TextでTagを表示する

今度は3つの3D Textをそれぞれ設定したTagに替えます。

Hierarchy > Create > 3D Object > 3D Text

TagをStringで/3D Text

これらのTagを左から順にLeft, Middle, Rightに設定しました。

もし3D Textがぼやけている場合はぼやけなくなるまでFontSizeを拡大し、それからCharacterSizeから縮小してください。

TagをStringで/3D Textの設定

スポンサーリンク

これをスクリプトでそれぞれ設定したTagに替えます。

こうなりました。

TagをStringで/3D Textのタグ表示

大したことではないのですが、私にとってはTagをテキストとして使えるというのはエポックメイキングでした。

さて、それの何が良いのかと言うと、同じスクリプトを使ってもTagごとに別々のことをさせられることです。

■Tagごとに別々のことをさせる

次はまず空のオブジェクトを出しC#スクリプトを書きます。
どちらも名前はColorChangeにしました。

別のオブジェクトからTagの情報を受け取り、LeftタグとMiddleタグとそれ以外のタグ(Rightタグ)に色の情報を送ります。
これをColorChangeオブジェクトにアタッチしてください。

次に3D Textのスクリプトに書き加えます。

さてこれを起動すると同じスクリプトなのに別々の色を受け取ります。

TagをStringで/3D Textをタグごとに色替える

例えば主人公、仲間、敵に同じステータスのスクリプトを使いたい時に便利だなと思いました。

■タグを取り換える

ついでにTagを取り換える方法もメモしておきましょう。

さて、今回はこれで終わりにします。
ではでは。

■関連記事

【動画あり】魔物使いゲームを作ると宣言してから半年が経った

スポンサーリンク

目次に戻る