[Unity]実機確認時にログを画面に出す

Unityでデバッグを行っている際、開発環境だとDebug.Log()でログを出力できます。

ですが、実機でデバッグしている場合は、Debug.Log()の出力が確認できません。

リモートデバッグを行えばログの確認が行えますが、そこまで手間をかけたくない場合は下記のコードで画面にログを出力できます。

// ログの出力
void Update () {
    log(" Time sinse fromStartup : " + Time.realtimeSinceStartup + "[12345678901234567890]");
    return;
}
 
// ログの記録
private static List<string> logMsg = new List<string>();
public static void log(string msg) {
    logMsg.Add(msg);
    // 直近の5件のみ保存する
    if ( logMsg.Count > 5 ) {
        logMsg.RemoveAt( 0 );
    }
}
 
// 記録されたログを画面出力する
void OnGUI() {
    Rect rect = new Rect( 0, 0, Screen.width, Screen.height );
 
    // フォントサイズを10px,白文字にする。
    // styleのnewは遅いため、本来はStart()で実施すべき...
    GUIStyle style = new GUIStyle();
    style.fontSize = 10;
    style.fontStyle = FontStyle.Normal;
    style.normal.textColor = Color.white;
 
    // 出力された文字列を改行でつなぐ
    string outMessage = "";
    foreach( string msg in logMsg ) {
        outMessage += msg + System.Environment.NewLine;
    }
 
    // 改行でつないだログメッセージを画面に出す
    GUI.Label(rect, outMessage, style);
}



上記のプログラムを実行すると、ログが下記のように画面表示されます。



ゲーム開発者になるための Unity4 徹底ガイド プロが教える効果的なゲーム制作技法

関連記事

コメントを残す

メールアドレスが公開されることはありません。