前言

嗨咯,大家好我是小棋,最近我在整理一些Unity开发的小窍门,发现了Brackeys的宝藏视频:http://bit.ly/1kMekJV。

但是这些小窍门只有视频版本,不利于查阅。

因此今天我整理下文字版,里面还有一些我自己的经验和观点,算是一次学习笔记,也希望能够帮到大家。

67.视图工具(QWERT)

在scene视图下可以按下Q、W、E、R、T来切换视图工具

68. RectTransform 3D

使用RectTransform 3D也可以在scene视图下缩放3d物体

unity snap setting unity snap settings_拖拽

69. ctrl + 移动

按住ctrl并且移动物体,可以每次移动一个单位

70. 设置移动的参数

接69,点击Edit -> Snap Settings 可以做出更多的设置

unity snap setting unity snap settings_unity_02

设置界面:

unity snap setting unity snap settings_unity_03

71. 顶点自动对齐

按住V并且拖拽物体的顶点,可以自动对齐其他物体的顶点

unity snap setting unity snap settings_游戏引擎_04

unity snap setting unity snap settings_拖拽_05

72.管理编译集

创建自定义的程序集可以缩减C#的编译时间

unity snap setting unity snap settings_拖拽_06

将新建的Assemblies移动到对应目录下,这个目录下的C#脚本都会编译到这个程度集里。

比如:创建的文件命名为Level1

unity snap setting unity snap settings_游戏引擎_07

73. WaitForSeconds 和 timeScale

当timeScale为0时,协程中的WaitForSeconds将会失效。

unity snap setting unity snap settings_unity snap setting_08

一种解决办法是改用:

unity snap setting unity snap settings_拖拽_09

74. 参数缓存

使用私有变量来缓存一些常用变量

unity snap setting unity snap settings_游戏引擎_10

75. 不要使用Camera.main

(似乎并没有讲原因?)

No:

unity snap setting unity snap settings_unity_11

Yes:

unity snap setting unity snap settings_c#_12

76. readonly用于不会变动的字符串

经常使用且不发生变化的字符串可以用 readonly 前缀减少内存分配。

unity snap setting unity snap settings_unity snap setting_13

77. Range属性

可以使用 [Range(0f, 10f)] 调整属性的范围:(可以滑动哦~)

unity snap setting unity snap settings_unity_14

78. Space属性

[Space]可以在Inspector中添加一个空行

unity snap setting unity snap settings_c#_15

79. Header属性

Header属性可以在Inspector的属性上方添加标签注释

unity snap setting unity snap settings_c#_16

80. Tooltip属性

[Tooltip(“text”)]可以在鼠标悬浮在属性上的时候弹出提示内容

unity snap setting unity snap settings_c#_17

81. 在编辑器中浏览资源商店

你不仅可以在网页上浏览资源商店,还可以在编辑器内浏览。

网页:

Ultimate Screenshot Tool | Utilities Tools | Unity Asset Store

编辑器:

记得好像是在package manager里面可以打开,可以找一下。

unity snap setting unity snap settings_游戏引擎_18

82. 合并场景

你可以把一个场景拖拽到另一个场景中去合并他们

83. 复制物体

按住ctrl+d然后拖拽物体可以复制一份出来

unity snap setting unity snap settings_游戏引擎_19

84. 复制设置

你同样可以按住ctrl + d复制一份设置中的列表项,如下图的Jump

unity snap setting unity snap settings_游戏引擎_20

85. 编辑器预设

你可以使用presets保存你的编辑器预设

unity snap setting unity snap settings_拖拽_21

86. 遍历物体的直接子物体

unity snap setting unity snap settings_unity snap setting_22

87. 修改层次视图的显示顺序

transform.SetSiblingIndex(index)

unity snap setting unity snap settings_unity snap setting_23

before:

unity snap setting unity snap settings_拖拽_24

after:

unity snap setting unity snap settings_游戏引擎_25

88. 保存选中对象

Edit -> Selection -> SaveSelection 1

unity snap setting unity snap settings_游戏引擎_26

点击之后可以保存当前选中的对象,之后可以通过 Load Selection 1 加载回来。

unity snap setting unity snap settings_拖拽_27

89. Regions

可以使用Region添加折叠块:

unity snap setting unity snap settings_拖拽_28

90. 暂停编辑器

EditorApplication.isPaused 可以暂停编辑器

unity snap setting unity snap settings_游戏引擎_29

91. 逐帧运行

暂停按钮旁边的逐帧按钮,可以让程序每次执行一帧。

unity snap setting unity snap settings_游戏引擎_30

92. Stats窗口

Stats按钮可以显示一些大致的游戏参数

unity snap setting unity snap settings_拖拽_31

93. Profiler

更详细的性能信息需要在Profiler里面查看

unity snap setting unity snap settings_c#_32

94. 在Profiler中测试程序的运行情况

可以用这几行代码测试程序在profiler中的运行情况

unity snap setting unity snap settings_拖拽_33

95. 独立浏览窗口

右键点击预览窗口,可以让他脱离出来,进而可以拖动到你喜欢的位置。

unity snap setting unity snap settings_游戏引擎_34

96. 静音

点击右上角的Mute Audio按钮可以让你的游戏静音。

unity snap setting unity snap settings_拖拽_35

97. Invoke Repeating

InvokeRepeating函数会在已经激活的物体上永远持续循环下去,就算你设置对象SetActive(False)也不会改变。

unity snap setting unity snap settings_unity snap setting_36

98. Frame Debugger

Window -> Analysis -> Frame Debugger

会显示每一帧详细的渲染信息。

unity snap setting unity snap settings_unity snap setting_37

99. Physics Debugger

下一个按钮,Physics Debugger可以用来显示物体的碰撞形状。

unity snap setting unity snap settings_拖拽_38

可以用来定位碰撞体相关的错误:

unity snap setting unity snap settings_unity snap setting_39

100. 最后一条!!!

永远不要再做MMO RPG 了!!!