Unity中的Debug类调试使用

2023-11-11

UnityEngine.Debug:

Class containing methods to ease debugging while developing a game.

该类中包含了一些便于游戏开发时的调试方法。
Class Variables

 isDebugBuild

static var isDebugBuild : boolean

In the Build Settings dialog there is a check box called "Development Build".

在"Build Settings" 对话框中有一个"Development Build"的选项。

If it is checked isDebugBuild will be true. In the editor isDebugBuild always returns true. It is recommended to remove all calls toDebug.Log when deploying a game, this way you can easily deploy beta builds with debug prints and final builds without.  

如果复选框被选择,isDebugBuild则为true。在编辑器中isDebugBuild总是返回true。在游戏发布时,这个命令可以移除所有Debug.Log调用。这样,你就可以轻松地发布带有调试输出的测试版和没有这些调试信息的最终版。

Class Functions

 DrawLine

static function DrawLine (start :Vector3, end :Vector3, color :Color = Color.white, duration : float = 0.0f) : void

Draws a line from the point start to end with color for a duration of time. If duration is 0 then the line is rendered 1 frame.

绘制一条从开始点到结束点的线,需要指定绘线的颜色和持续时间。如果持续时间为0,那么该线只会被渲染1帧。

The line will be drawn in the scene view of the editor. If gizmo drawing is enabled in the game view, the line will also be drawn there.

该线被绘制在编辑器下的Scene窗口中。如果Gimzo绘制方法被开启,那么该线同样会被绘制到Game窗口中。

 DrawRay

static function DrawRay (start :Vector3, dir :Vector3, color :Color = Color.white, duration : float = 0.0f) : void
Draws a line from start to start + dir with color for a duration of time. If duration is 0 then the line is rendered 1 frame.

从开始点绘制一条dir方向和长度的线,需要指定绘线的颜色和持续时间。如果持续时间为0,那么该线只会被渲染1帧。

The line will be drawn in the scene view of the editor. If gizmo drawing is enabled in the game view, the line will also be drawn there.

该线被绘制在编辑器下的Scene窗口中。如果Gimzo绘制方法被开启,那么该线同样会被绘制到Game窗口中。

 Break

static function Break () : void

Pauses the editor.

使编辑器暂停。

This is useful when you want to check certain values on the inspector and you are not able to pause it manually.

当你想在运行到某种情况下游戏自动暂停下来以方便你查看对象属性面板中的值时,这是非常有用的。

 Log

static function Log (message : object) : void

Logs message to the Unity Console.

将日志信息输出到Unity控制台。

static function Log (message : object, context :Object) : void
Logs message to the Unity Console.

将日志信息输出到Unity控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object an error occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。

 LogError

static function LogError (message : object) : void

A variant of Debug.Log that logs an error message to the console.

Debug.Log的一个变种,它将输出一个Erro类型的调试信息到控制台。

static function LogError (message : object, context :Object) : void

A variant of Debug.Log that logs an error message to the console.

Debug.Log的一个变种,它将输出一个Erro类型的调试信息到控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object an error occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。 

 Warning

static function LogWarning (message : object) : void
A variant of
Debug.Log that logs a warning message to the console.

Debug.Log的一个变种,它将输出一个Warning类型的调试信息到控制台。

static function LogWarning (message : object, context : Object) : void

A variant of Debug.Log that logs a warning message to the console.

Debug.Log的一个变种,它将输出一个Warning类型的调试信息到控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object a warning occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。

 

Unity调试方法:

1.安装Unity3D安装包内置的MonoDevelop,MonoDevelop官方下载的版本是没有Unity3D 的调试插件的。

2.打开Unity ,选择Edit –> Preference ,设置外部编辑器为MonoDevelop 。

3.运行MonoDevelop(如果MonoDevelop不能运行,则需要安装 .Net 3.5 ),选择菜单(Tools –> Preference) 打开选项设置窗口,在左边的导航窗口的最后一个节点(Unity –> Debugger),在右边设置Editor Location为正确的位置(即Unity.exe执行文件Path),然后勾选Launch Unity Automatically和Build Project in MonoDevelop ,按OK按钮保存。

4.在Unity Editor的Project窗口点击鼠标右键,在弹出菜单中选择Sync MonoDevelop Project(或者选择菜单栏中的Assets -> Sync MonoDevelop Project),将自动运行MonoDevelop并打开对应的项目。

5.在MonoDevelop中编程、为源代码设置断点(F9),关闭Unity Editor,击调试按钮(F5)开始调试,在自动打开的Unity Editor中点击Play按钮,断点就开始起作用了。

6.MonoDevelop的调试需要完成本帧所有调试才能返回给Unity,即调试中途Unity Scene的信息将不会更新。

 

实例演示:

</pre><pre name="code" class="cpp">using UnityEngine;
using System.Collections;

public class GUITest : MonoBehaviour
{
    int i = 0;
    void OnGUI()
    {
        if (GUI.Button(new Rect(0, 0, 100, 50), "Cliclk"))
        {
            i++;
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.up, Color.red, 5);
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.right, Color.green, 5);
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.forward, Color.blue, 5);
            Debug.LogError("Click", this);
        }
    }
}

Game:
 
 
 
 
Scene:
MonoDevelop:

原文地址:http://wg2009perfect.blog.163.com/blog/static/127997663201111103951886/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity中的Debug类调试使用 的相关文章

  • Unity3D研究院之游戏开发中的人工智能AI

    人工智能这个东西在游戏中是非常重要的 人工智能说简单了就是根据随机的数字让敌人执行一些动作或逻辑 说难了TA需要一个非常复杂的算法 本文我主要说说Unity3D中人工智能的脚本如何来编写 首先你应该搞清楚的一点AI脚本属于一个工具类脚本 工
  • Unity3D之MonoBehaviour

    Unity3D中的MonoBehaviour是一种基于组件的编程架构 用于开发游戏和应用程序 它是Unity引擎中用于创建行为的基类之一 并且可以让你通过重写其方法来定义对象在游戏运行时的行为 首先 在Unity中创建一个游戏对象并向其添加
  • 关于Albedo贴图、颜色贴图、Metallic 贴图、Specular贴图、法线贴图、视差贴图、凹凸贴图、Height Map高度贴图、AO 贴图Occlusion 贴图、Emission 贴图等

    在学习unity的过程中 被各种贴图弄得晕头转向 为了弄清楚各种贴图 查询了很多资料 粗略的整理如下 只要耐心看完 对贴图的基本用法基本上就没问题了 1 Albedo 贴图 可以看做是Diffuse颜色贴图 Albedo 反照率 贴图 用于
  • Animator之RootMotion

    Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移 这个就是通过 applyRootMotion 来达成
  • Unity3D方向键控制人物移动的代码

    代码 var v Input GetAxis Vertical var h Input GetAxis Horizontal transform Translate transform forward Time deltaTime move
  • Unity3D射线检测

    射线检测主要用于像子弹是否打中物体 捡取物品等情况 本来面向百度想找例子看看 不过没找到合适的 还是自己总结尝试吧 以下测试Unity3D版本 2017 4 2f2 射线的检测步骤如下 1 Ray 这个类为了产生一个射线 如果我们想要场景中
  • 关于unity3的中关于创建方法的总结

    关于创建基本物体 有些情况会使用上 物体碰撞 游戏里怪物和英雄的触发事件上 创建一个简单物体 隐藏mesh可以作为简单的触法器使用 多次创建预制体Prefab 方法Instantiate original Object position V
  • Unity+Pico 手柄按键控制

    一 定义手柄按键API 1 InputDevices GetDeviceAtXRNode 通过XRNode获取对应的设备 2 XRNode是一个枚举类型 包含LeftEye RightEye CenterEye Head LeftHand
  • Unity笔记:修改代码执行的默认打开方式

    使用 External Tools 偏好设置可设置用于编写脚本 处理图像和进行源代码控制的外部应用程序 External Script Editor 选择 Unity 应使用哪个应用程序来打开脚本文件 Unity 会自动将正确的参数传递给内
  • Unity编辑器扩展——进度条显示通用方法

    在我们使用Unity编辑器扩展做一些批处理的工具时 通常会需要显示一个进度条 这样不会让Unity一直卡住不动 使得使用者不知道当前的进展 那么如何显示进度条呢 涉及的相关API有 EditorUtility ClearProgressBa
  • RAIN{INDIE} 自动寻路

    Unity游戏中有较多的自动寻路插件 看过几个 大同小异 而RAIN中的Behavior Tree感觉很好 听名字就知道很条理 下面 就用它做个简单的寻路小例子 首先 导入RAIN的包 结构如下 在使用的过程当中还会产生几个文件夹用来存放E
  • unity本地分数排行榜简单解决方案(Json)

    具体效果 大体方法 创建一个分数类Score和一个分数类的容器List
  • unity3d 输入法相关API

    Input inputString 获取输入的文字 正在打的中文是接受不到的 只有在文字写到文本框才能获取 Input imeCompositionMode 是否是激活输入框状态 on 是 Input compositionString 空
  • unity粒子特效附上贴图后播放动画

    转自 http jingyan baidu com article f96699bbb1a0d6894f3c1b77 html 参考 http www unitymanual com thread 2993 1 1 html dsign a
  • Unity3D 官方文档 平台特殊化之Standalone和多显示器的处理

    版本 unity 5 6 语言 C 总起 Standalone 我一眼看下去的理解就是PC机平台 官方文档中说该平台指的是Mac Windows和Linux 这篇文章主要讲的是Standalone平台下的设置 通过点击菜单栏的File gt
  • Unity3D之Rigidbody

    目录 常用的Rigidbody属性和方法 rigidbody AddForce rigidbody AddTorque rigidbody velocity rigidbody angularVelocity rigidbody Sleep
  • Unity3D如何修改Button显示的文字以及深入了解Button组件

    在创建了一个Button后 结构如图 先仔细观察一下Button的Inspector视图 发现其中竟然有一个叫Button的脚本组件 新建脚本 代码如下 并将该脚本绑定给Canvas组件 using UnityEngine UI using
  • 对Unity3D 静态批处理和动态批处理的理解

    Draw Call就是CPU调用图像编程接口 像OpenGL或者 DirectX 简单来说 Draw Call就是由CPU发起的一个命令 添加到一个命令缓冲区 当GPU完成了上一次的渲染任务之后 会从命令缓冲区的命令队列中再取出一个并执行
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • Unity3d中脚本无法编译问题(Monodevelop)

    使用Monodevelop打开脚本 编译时报错 具体错误忘记了 原因是 net框架引起 升级到 net框架4 5后解决

随机推荐

  • 北大肖臻老师<<区块链技术>>笔记1

    课程的大纲 密码学基础 比特币的数据结构 共识协议和系统实现 挖矿算法和难度调整 比特币的脚本 软分叉和硬分叉 匿名和隐私保护 以太坊是后面的 首先是密码学基础的学习 crypto currency 虚拟货币 是不加密的 区块链上所有的教以
  • Cesium-terrain-builder(CTB)在Centos7中安装并生成地形数据

    Cesium terrain builder CTB 在Centos7中安装并生成地形数据 前言 步骤 安装docker 下载镜像并创建容器 生成地形数据 总结 前言 1 使用docker镜像 homme cesium terrain bu
  • linux运行appimage,技术

    你有没有下载过 AppImage 文件 而你不知道如何使用它 或许你可能知道如何使用它 但是你每次要运行它时必须要进入到下载了该 AppImage 的文件夹中来运行它 或者手动为其创建启动程序 使用 AppImageLauncher 这些就
  • 基于Open3D的点云处理5-点云之间的距离计算

    计算在一片点云中的每一个点在另一片点云中最近点的距离 常规写法 通过k d Tree进行搜索每个点的最近点 k idx dist k dTree search knn vector 3d pc2 points i k 通过k d Tree进
  • 万物分割SAM家族 越发壮大!HQ-SAM、FastSAM 和 FasterSAM(MobileSAM)

    卧剿 6万字 30个方向130篇 CVPR 2023 最全 AIGC 论文 一口气读完 1 更高质量 Segment Anything in High Quality 最近的 Segment Anything Model SAM 代表了分割
  • 在 Visual C++ 中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误

    症状 当 C 运行时 CRT 库和 Microsoft 基础类 MFC 库的链接顺序有误时 可能会出现以下 LNK2005 错误之一 nafxcwd lib afxmem obj error LNK2005 void cdecl opera
  • 面试用到的 常见SQL语句

    1 有一张shop表 有三个字段article author price 选出每个author的price的最高的纪录 要包含所有字段 解法一 使用相关子查询 SELECT article author price FROM shop s1
  • 数字电路设计之同步时钟采样模块

    同步时钟采样模块 为的是使得外部输入的异步信号需要经过系统时钟的同步化 且将输入的异步信号整形成一个时钟长的脉冲信号 module clk syn clk rst s in s out input wire clk input wire r
  • Python中的类——完美描述现实世界的事物

    Python学习 类 目录 Python学习 类 前言 类的基础语法 定义 构造方法 继承 掠夺 前言 众所周知 现实世界的事物由两部分组成 即属性和行为 类也可以包含属性和行为 所以描述现实世界事物是非常合适的 例如 属性 灰发中分背带裤
  • java之Excel处理工具类

    package com hxy thesis common utils import com hxy thesis ht domain import com hxy thesis xp domain XpUserDO import org
  • 求数组中连续n个元素使其和最大

    给定一个数组 求出数组中连续的一些元素使其和的值最大 如果所有元素都为正数 显然整个数组即为所求的 如果所有元素的值为负数 则所求的最大值为0 这是在编程珠玑上看到的 其时间复杂度由O n3 减为O n 了 public class Max
  • 大数据学习第2天----------------linux 安装mysql 出现安装依赖问题解决(centos7)

    问题 安装mysql过程中出现的依赖 root hadoop mysql 5 7 16 rpm ivh mysql community devel 5 7 16 1 el7 x86 64 rpm warning mysql communit
  • 实录:SUSE服务器下的LVM配置

    SUSE Linux 存储阵列目前是主流应用 根据自己的工程经验 以下总结下suse 服务器下如何使用LVM管理软件进行阵列配置 在SUSE服务器对阵列进行配置一般有两种模式 1 直接使用fdisk 外挂存储设备名 对其进行分区划分 使用f
  • 【Linux】浅谈网络协议栈-网桥br0

    目录 1 什么是桥接 2 linux的桥接实现 3 网桥的功能 4 网桥的配置 1 什么是桥接 简单来说 桥接就是把一台机器上的若干个网络接口 连接 起来 其结果是 其中一个网口收到的报文会被复制给其他网口并发送出去 以使得网口之间的报文能
  • 计算机软件研究方法与技术路线,研究方法与技术路线

    研究方法与技术路线 由会员分享 可在线阅读 更多相关 研究方法与技术路线 2页珍藏版 请在人人文库网上搜索 1 1 研究方法1 实地调查法 在凤阳县地区和安徽科技学院附近分别进行调查 实地了解凤阳县中小企业对财会人员的需求及招聘要求 2 问
  • 第38.2节 osg加载大tif-10.20活动直播资源&中秋活动参赛源码

    目录 本节内容 本节内容 根据2021 10 20直播活动的内容 使用VPB处理影像高程的示例 将资源进行打包 里面使用的是VS2019 若使用其它版本的VS 则需要对应的OSG编译包 则在此链接获取 osgChina权威发布 vs各版本第
  • Flutter 自定义单选按钮和自定义复选框

    Flutter 自定义单选按钮和自定义复选框 前言 一 自定义单选按钮 二 自定义复选框 总结 前言 在日常开发中 很多时候系统自带的单选按钮 复选框无法满足我们的需求 那么就需要自定义样式的按钮 本篇文章将记录如何自定义单选按钮 复选框
  • Vue实现Markdown

    前言 本文将介绍如何使用Vue和SpringBoot实现一个Markdown编辑器 其中Vue用于前端 SpringBoot用于后端 实现数据存储和接口调用 项目背景 Markdown是一种轻量级的标记语言 用于简化文本编辑 最初由John
  • 初等数学概论

    author hjjdebug date 2016年 01月 18日 星期一 21 36 50 CST article 初等数学概论 记得高中的哲学书上说的 真理是相对的 没有永恒 绝对的真理 而我们这里讨论的数学 却是永恒绝对的真理 放之
  • Unity中的Debug类调试使用

    UnityEngine Debug Class containing methods to ease debugging while developing a game 该类中包含了一些便于游戏开发时的调试方法 Class Variable