【Unity】初心者が覚えるべきDebug.Logの使い方

#環境
Unity 2019.3.7f1

#Debug.Logって？
Unity側で用意された標準機能　
Debug.Log()
は定型文です。呪文として覚えましょう！
開発中めちゃくちゃ使うので勝手に覚えちゃうと思います笑

#どんな時に使う？
・変数の中身を知りたいとき
・何の処理が行われたかをわかるようにしたいとき(テキストを表示)
・処理が実行されたか確認したいとき

#前準備　コンソールウインドウを開く
![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/73cedc74-98b9-dd51-3f38-01559af4224d.png)

このような画面が出ます。
ここにDebug.Logの中身が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/4ba53139-7b61-3f44-e58e-3ceea3970d01.png)

#使ってみる
####・変数の中身を知りたいとき

**スクリプトを用意**
　名前はTEST_scriptにしました。

```CSharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TEST_script : MonoBehaviour{

    int a;//aというint型の変数を宣言
    
    void Start()
    {
        a = 10;//変数aの中身を10に設定
        Debug.Log(a);//コンソールウインドウに変数aの持っている数値を表示
    }
}
```

**空のゲームオブジェクトを用意**
ヒエラルキー上で右クリック→空のオブジェクト作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/b71ea404-b34a-2864-d832-11a368477aa1.png)
空のオブジェクトが作成された！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/80863c85-8c59-0f6b-a50f-1a83fbb40e16.png)

**先程作ったスクリプトを空のオブジェクトへドラッグ＆ドロップ**
インスペクターにスクリプトが割り当てられたことを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/0b2d054d-cdc3-1f5e-935e-a0e93dcae305.png)


**実行ボタン押す**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/8f9c7a1e-090b-9b84-9d95-377944306cb3.png)

変数aの中身が表示されました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/ebc6f0e8-95b2-798a-75a8-ba4d80d8448f.png)


####・何の処理が行われたかをわかるようにしたいとき
スクリプトのDebug.Log()のかっこ内を"ダブルクォーテーションで囲んで文字を入力


```CSharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TEST_script : MonoBehaviour
{
    int a;//aというint型の変数を宣言

    // Start is called before the first frame update
    void Start()
    {
        a = 10;//変数aの中身を10に設定
        Debug.Log("aに10を代入");//コンソールウインドウにテキストを表示
    }
}
```
テキストが表示されました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/30714de2-e8e4-eb83-ac6f-edfe5f14c844.png)

####・処理が実行されたか確認したいとき
if分の中身が実行されたか見てみましょう。

```CSharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TEST_script : MonoBehaviour
{
    int a;//aというint型の変数を宣言

    // Start is called before the first frame update
    void Start()
    {
        a = 10;//変数aの中身を10に設定

        if(a == 10)//aが10だったらif分の中身の処理実行
        {
            Debug.Log("if文の中身が処理された");//コンソールウインドウにテキストを表示
        }
        
    }
}
```
if分の中身が処理されたことがわかります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/a28d5e8a-3db9-addf-fc53-7c05f45ffa45.png)



###少し応用
"a="+a といれるとテキストと変数の中身を同時表示できます。

```CSharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TEST_script : MonoBehaviour
{
    int a;//aというint型の変数を宣言

    // Start is called before the first frame update
    void Start()
    {
        a = 10;//変数aの中身を10に設定

        Debug.Log("a="+a);  
        
    }
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613985/70c0a0ca-186d-43cd-3314-c0e729b32d06.png)
表示された変数の内容がわかりやすくなります。

楽しいUnityライフを！