| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity初学者肯定能用得上的50个小技巧 -> 正文阅读 |
|
[游戏开发]Unity初学者肯定能用得上的50个小技巧 |
本博客基于Unity2018.4.36版本+Visual Studio2017版本,总结了本人在工作学习中使用Unity和写脚本的50个超实用小技巧。对于Unity新手来说掌握这些技巧一般也能熟练使用Unity编辑器了;对于Unity初级开发者来说,掌握这些脚本开发技巧,对于提升开发效率是有一定的事半功倍的效果的。(不同版本快捷方法按键可能不同) Unity实用小技巧
👉一、Unity编辑器使用小技巧1、最大化窗口按住Shift+空格键,可以快速最大化鼠标所在的窗口,而不用右键或选择窗口右上角的Maximize命令。 2、保存程序运行时组件属性面板的改变值我们希望把程序运行时物体组件改变的值复制下来,然后把该值赋值给编辑状态下的物体组件初始值,可以这么操作: 3、Find References In Scene(查找资源在场景中的引用)当我们需要查找资源(脚本、图片、预制体、材质球等)被场景中那些物体引用到了,可以在该资源的右键菜单中点击find references in scene命令即可查看该资源在场景中的引用情况: 4、Select Dependencies(全选当前资源的全部依赖)资源的右键菜单select dependencies命令可以查找到当前资源的全部依赖。在我们导出package时经常要用到,为了确保导出的包不丢失资源,可以在scene的右键菜单中点击Select Dependencies命令,这时project面板中就可以看到当前场景的的全部依赖资源了,此时再点击Import Package导出包。 5、场景物体高亮选择在Scene面板右上角的Gizmos下拉列表中,勾选Selection Outline选项表示在选中物体时显示高亮边缘,否则不显示。 6、Scene与Game视图对齐当我们需要让game视图显示的内容和scene一样时,可以在Hierarchy面板选中Camera,按下Ctrl+Shift+F,即可快速将Game视图的内容与Scene显示一致。 7、查找含有某组件的游戏物体当你需要查找某个组件挂载到了那些游戏物体上时,可在Hierarchy面板的搜索框中输入组件名称,即可看到。(注意输入名称时不要带空格!)如: 8、Revert Factory Settings恢复布局出厂设置当你不小心将编辑器布局弄乱时,可点击编辑器右上角Layout打开下拉菜单,选择revert factory settings即可恢复布局默认设置。 9、查找某种类型的资源在Project面板中的搜索框中输入“ t:+资源类型 ”,即可过滤显示某种类型的资源,比如输入“t:script”,会显示所有脚本,输入“t:texture”,会显示所有贴图,输入“t:scene”,会显示所有场景文件等。 10、显示/隐藏Gizmos如果你觉得场景中有些物体带有图标影响你的操作了,你可以单击Scene面板右上角的Gizmos下拉列表,选择显示或隐藏某些组件的图标和Gizmos标识;也可以单击Game面板右上角的Gizmos按钮,显示或隐藏所有资源的图标和Gizmos。 11、给游戏物体或脚本自定义图标选中游戏物体或脚本,点击其Inspector面板左上角的小三角符号,可以游戏物体或脚本指定一个特定颜色的标识,做路径寻路或空物体的可视化比较有用。也点击Other按钮,选择自己喜欢的图片作为标识。(Unity小彩蛋:命名为GameManager的脚本图标为齿轮样式) 12、工具栏快捷键点击键盘上的Q、W、E、R、T、Y快捷键可快速切换移动,选择,缩放等工具 13、合并场景当我们新建demo场景测试一些小功能后,可以在Project面板中,将demo场景拖动到主场景上,依次点击:,Merge into existing——Semantic and merge tool,即可将场景进行合并。 14、Scene场景视图中的三维可视化快捷操作方法1.旋转视角:同时按下【Alt+鼠标左键】快捷键,以当前轴心点来旋转视角。 15、多看多学多记Unity手册和脚本API参考手册Unity手册打开方式: 16、善于使用Console控制台,并且会用!Console(控制台)是Unity中重要的调试工具,按下【Ctrl+Shift+C】快捷键可打开该视图,控制台会显示输出调式信息,脚本编译时和项目运行是的错误、警告或信息。我们要学会看控制台的错误信息,根据这个信息去定位出现的错误的位置,如果第一时间不能根据错误提示解决,那就要学会在错误位置断点调试,找到报错的原因,并去解决它。如下图: 17、Inspector调试模式在Inspector面板右上角的下拉菜单中,选择Debug命令,可启动调试模式,此时将显示组件包含的所有变量,包括私有变量。当运行编辑器时,可以实时查看各组件所有变量的变化。 18、快速新建脚本并挂载到游戏对象上选中游戏物体,在其Inspector面板上点击Add Component按钮,在搜索栏输入你要新建脚本的名字并按下回车键,这个新脚本就会直接挂载到该物体身上,然后双击脚本即可打开编辑器进行代码编写。 19、颜色拾取和复制粘贴在使用颜色面板时,取色笔可以拾取Unity编辑器之外的颜色。我这有一篇Unity拾取屏幕外像素颜色的脚本哦!传送门: 20、Inspector面板数值输入在Inspector面板中涉及到数值输入的字段,不仅可以直接输入数据,也可以在输入框输入数学表达式(加减乘除均可),按下回车键后Unity会将计算结果显示到输入框中。 21、Inspector面板的锁定选择Inspector面板右上角的小锁按钮,或在下拉菜单中执行Lock命令,即可将当前选中的游戏物体的Inspector面板锁定。然后你还可以指定Add Tab→Inspector命令,添加一个Inspector面板,这样就能方便的在两个游戏物体直接复制组件数据,不用点来点去那么麻烦了。 22、展开/折叠父物体下的所有子物体节点在Hierarchy面板中,按住Alt键,点击某一父物体属性节点,可展开当前节点下的所有子节点;再点击节点即可折叠所有子节点。 23、保存编辑器窗口布局可以自定义自己喜欢并习惯用的Unity窗口布局,设置好之后,如果以后的项目也希望用这个布局,那你需要选择编辑器右上角的Layout下拉菜单中的Save Layout命令,可将该布局保存,以后都可以选择此布局使用。 24、创建游戏对象/数组元素副本快捷键选择一个游戏物体或这多选一组游戏物体,按下Ctrl+D快捷键即可快速创建该游戏物体的副本,用同样的方法也可以创建数组元素的副本。 25、 逐帧查看程序运行运行时点击暂停按钮右侧的步进(Step)按钮,可在程序运行时逐帧查看程序运行状态,对于定位错误位置有很大帮助。 26、查看游戏运行时性能统计点击Game窗口右上角的Stats按钮可以查看游戏性能统计数据,如帧率、批处理等指标。 27、测试游戏时静音点击Game窗口右上角的Mute Audio按钮,可在程序运行时将所以声音关闭。 28、快速切换Scene窗口的2D和3D窗口点击键盘字母上面的数字2按键可快速切换2d和3d模式。 29、开关场景特效在Scene面板顶部的图片下拉列表中,可选择开关某种类型的特效。 30、隐藏和锁定渲染层级在编辑器右上角的Layers下拉菜单中,点击对应层右侧的眼睛按钮,可以隐藏或显示某个层上的游戏物体;点击锁按钮,可对某个层进行锁定或解锁,当被锁定时,该层上的所有物体将不能被选择。 👉二、C#脚本写作小技巧1、Visual Studio自动语句补全使用VS写脚本时,输入 if、for、switch、foreach、try、while等语句后可双击Tab键完成语句补全 2、脚本不挂载到游戏对象执行一般来说,脚本都是要挂载到游戏对象上才能执行,但Unity提供了一个方法可以不用挂载脚本到游戏对象上也可以在程序运行时执行某个方法的语句。只需要在脚本的方法声明[RuntimeInitializeOnLoad(RuntimeInitializeLoadType.BeforeSceneLoad)] 即可,常用于程序初始化前做一些额外的初始化工作,代码如下:
3、随机获取一个布尔值Unity里面的随机类Random中使用Random.value可以返回0~1之间的随机数,所以可以让其返回值与0.5f进行比较,就可以获取一个随机布尔值True或false,代码如下:
4、游戏对象比较时建议使用CompareTag方法当使用到游戏对象的标签Tag进行比较时,从性能上考虑,建议使用CompareTag方法,而不用=去进行判断。
5、移动代码行在Visual Studio中,按下Alt+键盘上/下键,即可使鼠标光标所在代码行上移/下移。 6、养成写 #region和#endregion 的好习惯写代码除了养成写注释的好习惯外,也要养成写#region和#endregion 的好习惯,当你的代码有成百上千,甚至更多行时,使用该语句可将两者之间包含的代码块折叠,方便阅读。 7、数据类型struct和Class的序列化如果需要给数据类型struct和Class在面板上赋值,可以在struct和Class声明前添加[System.Serializable]即。如:
8、高亮显示Debug.Log对应的游戏对象当使用Debug.Log方法输出信息时,可将gameObject作为此方法的第二个参数,当程序运行时,单击Console面板中对应的输出信息,可在Hierarchy面板中高亮显示挂载了此脚本的游戏物体。
9、风格化Debug.Log的输出信息使用debug.log输出字符串信息时,可以用富文本标记来强调内容,如:
10、初始化时缓存组件引用如果某个组件需要被频繁的访问时,可以在程序初始化时获取到该组件的引用,而不是在需要时才去获取,也就是减少使用GetComponent< T>(),从而避免由于重复获取引起的性能开销。
同理,尽量不适用Camera.main获取相机组件,尤其避免使用类似以下方法:(会带来更大的性能消耗)
11、字符串性能优化如果某些字符串在整个项目中不会改变且被频繁使用,可将其存储在静态只读变量中,从而节省内存分配,如:
12、快速注释代码按下Ctrl+K+C组合键可快速注释选中代码块或光标所在处代码行,Ctrl+K+U取消注释 13、快速对齐代码按下Ctrl+K+F组合键可快速将选中代码块或光标所在处代码与上下文对齐。 14、快速打开查找与替换模式按下Ctr+F组合键可快速打开查找模式:(可选择当前文档或整个项目等查找匹配字符串) 15、快速定位到函数或变量定义处鼠标光标放置在变量或函数方法处,按下F12可快速定位到其定义的代码行。 16、快速查找函数或变量的所有引用鼠标光标放置在变量或函数处,按下Shift+F12组合键可快速查看其所有引用,单击某一引用即可定位到其代码行。 17、检查脚本中空的Start和Update函数检查空的MonoBehavior Start和Update方法,无论你有无写逻辑,它Start函数都会执行一次,Update函数也是会每帧执行一次。如果没有逻辑实现就将其删掉,因为跑空函数多少会损耗效率。 18、自定义脚本模板在你Unity版本安装目录下依次打开:Editor/Data/Resources/ScriptTemplates即可看到一堆脚本模板,选择你常用的脚本模板进行修改,如NewBehavioutScript.txt 19、快速比较距离将两点直接的距离与一个固定距离进行比较时,可使两点相减后取平方(即sqrMagnitude),然后用该值与某个距离值的平方进行比较。不建议使用Vector3.Distance方法获取两点之间的距离,然后与给定的距离值进行比较。因为Vector3.Distance(a,b)相当于(a-b).magnitude,即求平方根,而sqrMagnitude方法省去了求平方根的操作,所以比magnitude执行快。
20、方便常用的属性为变量添加一些属性可使它们在Inspector面板中更容易被使用,下面列举一些常用的属性:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:49:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |