Unity3D :重要的类 - Debug

推荐:将NSDT场景编辑器加入你的3D工具链

3D工具集:NSDT简石数字孪生

重要的类 - Debug

Debug 类用于可视化编辑器中的信息,这些信息可以帮助您了解或调查项目运行时发生的情况。例如,您可以使用该类在控制台窗口中打印消息,在 Scene 视图和 Game 视图中绘制可视化线条,以及在编辑器中从脚本暂停运行模式。

此页面概述了 Debug 类及其使用该类编写脚本时的常见用法。有关 Debug 类的每个成员的详尽参考,请参阅 Debug 脚本参考。

记录错误、警告和消息

Unity 本身有时会将错误、警告和消息记录到控制台窗口。Debug 类使您能够从您自己的代码中执行完全相同的操作,如下所示:

Debug.Log("This is a log message.");

Debug.LogWarning("This is a warning message!");

Debug.LogError("This is an error message!");

三种类型(错误、警告和消息)在控制台窗口中都有自己的图标类型。

写入控制台窗口的所有内容(由 Unity 或您自己的代码)也会写入到日志文件 。

如果您在控制台中启用了 Error Pause,通过 Debug 类写入控制台的任何错误都将导致 Unity 的运行模式暂停。

您还可以选择为这些日志方法提供第二个参数,指示消息与特定游戏对象相关联,如下所示:

using UnityEngine;

public class DebugExample : MonoBehaviour

{    void Start()

    {

        Debug.LogWarning("I come in peace!", this.gameObject);

    }

}

这样做的好处是,当您在控制台中单击消息时,与该消息关联的游戏对象会在层级视图中突出显示,从而允许您识别与该消息相关的游戏对象。在下图中,您可以看到单击 “I come in peace!” 警告消息会突出显示 “Alien (8)” 游戏对象。

Debug 类还提供了两种在 Scene 视图和 Game 视图中绘制线条的方法。它们是:DrawLine 和 DrawRay。

在这个例子中,一个脚本被添加到场景中的每个球体游戏对象,它使用 Debug.DrawLine 指示它与 Y 为零的平面的垂直距离。请注意,此示例中的最后一个参数是线条在编辑器中应保持可见的持续时间(以秒为单位)。

using UnityEngine;

public class DebugLineExample : MonoBehaviour

{

    // Start is called before the first frame update

    void Start()

    {

        float height = transform.position.y;

        Debug.DrawLine(transform.position, transform.position - Vector3.up * height, Color.magenta, 4);

    }

}

Scene 视图中的结果如下所示:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《腾讯桌球:客户端总结》 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身。虽然基于Unity3D,很多东...
    吴秦阅读 24,686评论 12 142
  • 整理自 Unity3D研究院之手游开发中所有特殊的文件夹 1. Editor 前提: 文件夹名称为 Editor ...
    Rdxer阅读 295评论 0 0
  • Unity3D塔防开发流程 配置环境及场景搭建 编程语言:C#,略懂些许设计模式,如果不了解设计模式,BUG Mo...
    Grape_葡萄阅读 3,007评论 1 3
  • 前言 喜欢请点赞 目标阅读者:Unity新手 项目程序员 简单的前置:编程习惯 Unity常用API 按键Inpu...
    PA_阅读 6,600评论 0 5
  • 本文原创版权归 博客园吴秦所有,此处纯粹技术收藏,如有再转,敬请于显示位置标明原创作者及出处,以示尊重!! 作者:...
    Magic_Dong阅读 4,589评论 0 7