0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Unity】取得してないのにコード中唐突にでてくるgameObject、transform、tagを解説

Last updated at Posted at 2020-06-19

環境

Unity 2019.3.7f1

はじめに

ネットでやりたい処理内容を探していると

・gameObject
・transform
・tag

こいつら唐突にでてきませんか?
あれ?いつ取得したの?とりあえず動くからいいか・・・

でもなんかもやもや。。。

今回はそんなもやもやを解決します!

結論

ゲームオブジェクトにスクリプトをアタッチすると、
そのスクリプトはアタッチされたゲームオブジェクトの

・ゲームオブジェクトクラス
・トランスフォームクラス
・タグ

の情報を勝手に取得します。
そして、その呼び出し呪文が

・gameObject
・transform
・tag

なわけです。

なので、
スクリプトをアタッチしたゲームオブジェクトのみ、
ゲットコンポーネント不要でゲームオブジェクトの情報やトランスフォームの情報を操作できるのです!

具体例をみていきましょう。

具体例

それぞれの値の中身を見てみましょう。

まず、空のオブジェクトを作成します。
(名前はobject123に変更してみました)

image.png

 
スクリプトを作成し、先程のオブジェクトにアタッチします。
(名前はtestにしました)
image.png
 
コードはこちら

test
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour
{    
    void Start()
    {
        Debug.Log("gameObject="+gameObject);
        Debug.Log("transform="+transform);
        Debug.Log("tag="+tag);              
    }
}

 
実行結果
コンポーネントを取得してないのにそれぞれの情報が入っていることがわかりますね。
image.png

実際に使ってみる

では、実際にこれらの情報を使って処理してみましょう。

処理したい内容
・gameObjectを使ってオブジェクトの名前を変える
・transformを使ってオブジェクトの位置を変える
・tagを使ってタグの名前を変える

test
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour
{   
    void Start()
    {        
        gameObject.name = "123";//このスクリプトがアタッチされたオブジェクトの名前を変更
        transform.Translate(1, 2, 3);//このスクリプトがアタッチされたオブジェクトの位置を変更
        tag = "Player";//このスクリプトがアタッチされたオブジェクトのタグ名を変更 タグはあらかじめ用意しておく必要有り
    }
}

 
実行結果
オブジェクト名、タグ名、オブジェクト位置が変更できました。
image.png

おわりに

今回紹介した呪文たちをみたら、
スクリプトがアタッチされたオブジェクトについて
なにかしらの処理をしてるんだなーと考えると良いと思います。

良いUnityライフを!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?