WisdomSoft - for your serial experiences.

デバッグ

Debug クラスを用いて Unity ツール上の「Console」タブ内に任意の文字列を出力する方法を説明します。

文字を出力する

ゲーム開発環境である Unity は、DirectX や OpenGL といったグラフィック API を意識することなく、容易に3次元グラフィックを扱えます。しかし、変数等の値を確認するためにテキストとして表示するとき、これをゲーム画面上にレイアウトするのは手間となるでしょう。開発段階で、便利にデバッグする方法が必要です。

開発中のデバッグに必要となる機能は UnityEngine.Debug クラスから提供されます。

UnityEngine.Debug クラス
public sealed class Debug

例えば Unity の「Console」ウィンドウにテキストを表示するには Debug クラスの Log() メソッドを使います。同様の機能は MonoBehaviour クラスの print() メソッドで可能でしたが、print() メソッドは内部で Debug クラスの Log() メソッドを呼び出しているだけです。

Debug クラス Log() メソッド
public static void Log (object message)

Log() メソッドの内容は print() メソッドと同じです。message パラメータに指定したオブジェクトの文字列表現を出力します。

コード1
using UnityEngine;

public class Test : j
{
    void Start() 
    {
        Debug.Log("Stand by ready");
    }
}
コード1 実行結果
コード1 実行結果

コード1を実行すると、上の実行結果のように Unity の「Console」ウィンドウ上に Log() メソッドに渡した文字列が表示されます。

同様のメソッドに、警告としてメッセージを出力する LogWarning() メソッドと、エラーとしてメッセージを出力する LogError() メソッドも用意されています。Log() メソッドによる通常の出力よりも強力なメッセージとして扱われます。

Debug クラス LogWarning() メソッド
public static void LogWarning (object message)
Debug クラス LogError() メソッド
public static void LogError (object message)

どちらのメソッドも、message パラメータに指定したオブジェクトの文字列表現が出力される点は Log() メソッドと同じです。ただし、これらのメッセージは警告やエラーとして、通常のメッセージとは区別されます。

コード2
using UnityEngine;

public class Test : MonoBehaviour
{
    void Start() 
    {
        Debug.Log("Stand by ready");
        Debug.LogWarning("Warning");
        Debug.LogError("Error");
    }
}
コード2 実行結果
コード2 実行結果

コード2の実行結果から確認できるように、LogWarning() メソッドで出力した文字列には警告用のアイコンが、LogError() メソッドで出力した文字列にはエラー用のアイコンがついています。