Unity学习笔记(1)-“Hello World”之Unity的调试和log

原创 2017年04月23日 18:43:27

       作为一个合格的程序员,持续保持学习的状态是十分必要,学习3d有一段时间了,期间接触过虚幻引擎,unity等3d引擎,个人的看法是虚幻引擎功能强大,但unity更适合开发手游,想来自己从2011年底开始接触ios游戏开发时就接触过unity,当时因为自己一直在开发2d游戏,且在2d手机游戏开发上,cocos2d-x有着很好的易用性,所以选择了cocos2d-x作为自己的主要开发引擎学习,同时当时的自己,作为一个游戏开发的一年级菜鸟,还很难理解unity的设计以及全部的功能,学习了一些3d知识,再回来看unity,觉得它是一个易入门难精通的游戏引擎,更适合长期学习使用,虽然不开源,但是随着引擎功能的发展,其使用的灵活性也逐渐提高,因此从去年开始,我开始重新学习unity引擎,同时为了记录自己的学习历程和收获,我的博客将开始Unity学习笔记系列文章的连载,这部分教程将记录一些我学习的心得和体会,另外目前Unity的教程虽多,但成体系的很少,基本都是基于某一方面的讲解,本教程将争取将Unity的知识形成体系,另外本教程介绍的相关辅助代码和框架,我也会继承到我的一套框架中,并在合适的时间开源,希望各位读者为本教程提出改进意见,我们一起完成一套易用的Unity框架中...

       本篇文章介绍Unity中的调试技巧,一般介绍一门新技术时都要从“Hello World”开始,但这里不打算再重复的介绍在屏幕上显示一段文字的方法,因为有大量教程可以做到,这里将介绍如何在Unity中进行调试,作为一名有经验的游戏开发者,调试方法非常重要,我们日常工作有很大部分时间是在debug和调试,所以一个好的调试方法非常重要,本篇将介绍在Unity中断点调试的方法和输出Log的方法

(一)断点调试法

        断点调试是我们日常调试的一个重要手段,提到在Unity中断点调试,首先需要介绍MonoDevelop,它是一个跨平台的开发工具,主要用于.net相关的开发,在使用Unity开发时,MonoDevelop是我们重要的开发工具,在Windows开发环境中,我们可以使用VS或者MonoDevelop作为我们的开发工具,而在Mac系统下,我们使用MonoDevelop作为我们的开发工具。在下载安装完成Unity后,我们需要到MonoDevelop的官网中下载安装MonoDevelop(http://www.monodevelop.com),然后我们需要在Unity的Preference中配置MonoDevelop:


       然后我们需要创建一个unity的工程并新建场景,Unity的工程会自带一个默认的场景,当我们保存场景时,我们需要为场景命名,同时我们在场景中创建一个Cube立方体,然后我们在资源视图中创建一个C#脚本(如果没有特殊说明,本教程中使用C#脚本),然后把C#脚本附到Cube上(addComponet->Script->脚本名),这时运行场景,我们的脚本就起作用了,但是这时运行,我们的断点并不起作用,是因为MonoDevelop没有和Unity编辑器连接,有两个方法可以连接,一个是关掉当前Unity编辑器,运行MonoDevelop,这样保证编辑器窗口由我们的MonoDevelop调用,这个方法并不推荐,因为每次运行都要启动Unity,费时间并且不方便我们同时编辑场景,第二个方法,就是在MonoDevelop的运行菜单中选择Attach To Process,从而可以使在MonoDevelop中调用的断点起作用。




(二)打印Log

      在调试时我们需要在打印一些Log信息来帮助我们,Unity中提供了Debug.Log帮助我们把信息打印在控制台上,如图所示:


      然而,这些有时往往不够,在真机上调试时,我们看不到控制台上的Log,我们需要在屏幕上显示,关于显示Log到屏幕上,可以参考这篇博客:

http://blog.csdn.net/cartzhang/article/details/49818953

      我把这篇博客介绍的DebugConsole集成到我的框架中,DebugConsole目前支持error(红色),warning(黄色)和common(绿色)三种,我们可以根据需求来修改我们的代码,关于这部分代码的修改,后面的博客还会详细介绍。运行效果如图所示


      需要说明的是,在我的博客里,除非特别必要,不会介绍简单的Unity窗口布局和简单操作这些内容,需要的读者可以查一下相关资料

      能力不足,水平有限,如有错误,欢迎指出

      下一篇介绍Android打包和Ios运行在Xcode下的操作

版权声明:本文为博主原创文章,未经博主允许不得转载。

IOS开发笔记1-写一个hello world!程序

转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/52294237 本文出自:【顾林海的博客】 序言从今天开始正...
  • GULINHAI12
  • GULINHAI12
  • 2016年11月19日 07:24
  • 447

LaTeX学习笔记(一)—Hello World!

要不要学习LaTeX,其实自己纠结了好久。         从网上各种文章看,LaTeX和Word各有特色。而且有人认为,LaTeX的功能Word几乎都能实现,吹嘘LaTeX的人其实是Word没学好...
  • zhanyongjia_cnu
  • zhanyongjia_cnu
  • 2017年06月22日 16:12
  • 214

Unity调试:在GUI界面绘制Log信息

本文的主要目的是在将Unity项目发布成APK后,在APK的操作界面方便查看应用中的LOG信息,以方便调试 实现的方式主要是利用Unity自带的Debug.Log()方法再次封装,使用GUI...
  • WandDouDou
  • WandDouDou
  • 2016年12月05日 15:08
  • 864

Unity3d的iOS调试实用技巧

其实也不能算”Debug”, 只能算”Log”, 如果有更好的“调试”(troubleshooting, monitor, efficiency)方法欢迎指出 一开始以为是什么古灵精怪的错误...
  • avi9111
  • avi9111
  • 2016年06月12日 16:50
  • 4324

unity通过android adb查看真机日志

前几天跑某大公司面试,问我会不会在android真机调试的时候直接输出到控制台,当时有点懵逼,居然不知道控制台是什么东西了,居然理解成了输出到eclipse...我觉得程序没有通过eclipse打包,...
  • u010133610
  • u010133610
  • 2016年06月23日 22:34
  • 7373

unity学习笔记(1)-hello unity

unity3d是目前使用最广泛的3d游戏引擎之一,本系列教程将使用unity制作一款坦克大战游戏,从而带大家体验一下unity的使用。        这一篇教程主要介绍引擎的安装和环境的搭建,最后,我...
  • bill_man
  • bill_man
  • 2016年06月01日 14:49
  • 2133

Nginx学习之一-第一个程序Hello World

本例子实现了一个简单的hello world程序。运行效果: 虚拟机Ubuntu中: win7中chrome浏览器: 一、config文件编写 Nginx提供了一种...
  • xiajun07061225
  • xiajun07061225
  • 2013年06月19日 16:50
  • 22422

【Unity3D】基础知识学习笔记

Unity3D基础知识学习笔记 1、基础知识: 标题栏 菜单栏 工具栏:变换工具、gizmos切换、播放控件、层列表、布局列表 功能窗口 2、资源及资源类型:在project里面能够create的资...
  • woaini454186694
  • woaini454186694
  • 2016年05月25日 22:53
  • 4625

Unity应用发布如何在本地查看Debug输出?

为了方便在Android平台上本地查看Debug输出,可以将Debug输出写入到本地文件中。然后在本地硬件中查看Debug输出。...
  • ZFSR05255134
  • ZFSR05255134
  • 2016年07月09日 17:43
  • 3350

TensorFlow实现机器学习的“Hello World”--Mnist手写数字识别

TensorFlow实现机器学习的“Hello World”上一篇博客我们已经说了TensorFlow大概怎么使用,这次来说说机器学习中特别经典的案例,也相当于是机器学习的“Hello World”,...
  • DilemmaVF
  • DilemmaVF
  • 2017年03月28日 13:52
  • 821
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity学习笔记(1)-“Hello World”之Unity的调试和log
举报原因:
原因补充:

(最多只允许输入30个字)