发布时间:2023-04-29 12:30
本文首发于简书:https://www.jianshu.com/p/e10fb2240a79
前言
作为一名Unity3D游戏开发者,无论是初学者,还是已经就业的工作者,在平时的学习工作里,掌握一些Unity开发的高级技巧,能够很好的节省开发时间,提高开发效率,毕竟世界如此美丽精彩,我们应当把时间花费在更有价值的事情上。
Unity开发技巧:
1、借助编辑器自带的标记功能为脚本分类,在检视面板中点击脚本图标下方的小三角,即可为脚本设置颜色或选择图标,可以选择自定义的图标。
2、在使用Debug.Log函数时传递游戏对象给第二个参数gameObject,既可在点击控制面板的输出信息时自动定位到对应的游戏对象,方便查找游戏物体。
3、希望游戏运行第一帧暂停,可以先点击暂停按钮,然后点击播放按钮,这样程序就会在Update函数执行一次后暂停。
4、如果想在检视面板查看脚本的private私有变量,只需点击Inspectore,在弹出菜单中选择Debug即可。
5、在层次视图的搜索框中输入完整的脚本或组件名称,即可找到所有绑定了该脚本或组件的对象。或者在搜索框中输入t:加上某个类别如light,即可找到使用同类组件的对象。
6、右键点击检视面板下方的预览窗口即可让预览窗口跳出来,然后自己选择合适的地方停靠,这样切换模型查看就不会影响到其它面板。想让预览窗口回到原位,只需右键点击窗口,在弹出菜单中选择Close Tab即可。
7、分别按键盘键Q、W、E、R、T可以依次切换界面上的小工具。除此之外,按数字键2或3还可以切换场景为2D模式或3D模式。
8、好不容易才调好的坐标,结果发现是在运行模式下,如果退出运行模式就还原了怎么办?可以在检视面板右键点击组件名,在弹出界面中选择Copy Component,然后退出运行模式后同样右键点击组件名,在弹出界面中选择Paste Component Values即可。
9、所有数值类型的字段,都支持在检视面板中直接输入简单的数值表达式。
10、如果编辑器意外崩溃了,但场景未保存,这时可以打开工程目录,找到/Temp/_Backupscenes/文件夹,可以看到有后缀名为.backup的文件,将该文件的后缀名改为.unity拖拽到项目视图,即可还原编辑器崩溃前的场景。
11、在层次视图中选中某个游戏对象,按快捷键Cmd/Ctrl+D即可复制该对象,对于检视面板中的数组字段也可已同样的方式来复制元素。
12、检视面板中所有的颜色字段都是支持复制和粘贴的,只需右键点击颜色字段既可选择操作。
13、如果觉得在场景视图中调整对象视角太不方便,可以按住右键结合键盘上的A、S、W、D、Q、E键像走路一样调整到合适的视角,然后点击GameObject菜单下的Align With View即可将游戏视图的视角与场景视图同步。
14、在场景中选中某个对象,按F键会将该对象聚焦到屏幕中心,但在移动该对象时镜头并不会跟随。如果按两次F键,或者按Shift+F键,即让镜头跟着该对象后面移动。
15、不借助Unity 5.3最新的多场景编辑工具,也可以在两个不同场景间复制对象。只需在层次视图中选中目标对象,右键单击在弹出菜单中选择Copy,打开目标场景后粘贴到层次视图即可。
16、如果同一文件夹下的所有图片是一个序列帧动画,可以将整个文件夹拖拽到工程目录,选中所有图片后将纹理格式改为Sprite并点击Apply,然后将所有图片一起拖拽到层次视图或场景,Unity会自动询问是否创建动画并弹出对话框询问动画文件保存位置。并且点击保存后会自动在层次视图中生成包含该动画文件的游戏对象,点击运行即可看到序列帧动画。
17、在工程视图或层次视图中,按住Alt键同时点击对象,就可以展开或收起该对象所有的子节点,包括嵌套子节点。
18、如果你的屏幕够大,可以在开发过程中打开多个场景或其它视图,这样在调整时就可以看到场景的不同区域或角度。
19、如果你是极具冒险精神的程序员,那这个技巧一定要去试试。Unity里面的文件名、类名、函数名、变量名、序列化定义甚至是Tag名称都可以支持中文,不过不建议大家这么做!
20、如果不确定正在使用的插件是否有更新,可以在编辑器中点击Window菜单下的Asset Store,然后点击Asset Store界面上的下载按钮,会出现所有下载过的插件列表,该列表会显示插件是否需要更新或重新下载。
21、当需要拖拽对象至检视面板时,常常会因为操作原因导致检视面板的内容已经改变了。这时可以点击检视面板右上方的锁图标,锁定检视面板,这样不论其它视图如何切换,检视面板都会显示固定内容。
22、如果你的鼠标的中键是可以按下的,可以按住鼠标中键来平移整个场景。或者将鼠标移至物体上后点击中键按钮,编辑器会以平移的方式将物体中心移动鼠标位置。
23、如果脚本出现错误,Unity编辑器会因为检查到出错而无法进入运行模式,这时可以在项目视图中新建文件夹WebplayerTemplates,然后将出错的脚本拖入此文件夹下,所有位于该文件夹下的文件都会被识别为一般文件从而不会当作脚本被编译,这样就可以运行游戏了。
24、在场景中按住右键可以以视点为中心查看整个场景。如果希望物体始终保持在焦点处,可以在层次面板双击该物体,然后按住Alt键后用鼠标查看周围场景,并且物体一直位于焦点。
25、如果需要拼合两个物体,可以自己分别在两个物体上创建立方体当作锚点,按住V键进入顶点选择模式,然后选择锚定立方体上需要拼合的两个顶点,即可将物体无缝拼接在一起。
如果需要旋转物体,可以按下Cmd/Ctrl键后用鼠标操作旋转,这样可以让物体每次固定旋转15度,最终转到正确位置。
26、如果希望物体可以紧贴地面,但倾斜角度不好调整,这时可以在物体上添加Mesh Collider和Rigidbody组件,然后点击运行,借助Unity的物体引擎来计算位置。待物体坠落到地面后复制所有物体,停止运行后删除原先的物体再粘贴运行时复制的内容,并删除所有物体上的Mesh Collider和Rigidbody组件即可。
27、如果发现Unity打包安卓平台生成的apk体积过大,可以找到PlayerSettings中的安卓平台,默认情况下Device Filter设定为FAT(ARMv7+x86),即同时打包32位和64位。如果只需发布到32位或64位平台则单独选择对应的一种即可。这样可以有效减小包体积。
28、从项目视图点击右键创建的脚本会自动填充一些代码。其实这些自动填充的代码模板也是可以自定义的。