ps:想了想,虽然有些比较常识化,但是还是保留了(应该就这一篇)。
1、Pixel Prefect Camera
摄像机上挂载该组件能使2D像素风格的游戏画面更整洁清晰。需要使用Package Manager安装2D Pixel Prefect包。
2、Copy Component
点击组件的右上角设置图标,Copy Component->Paste Component Value。
3、随机布尔值
Random.value返回的值在0~1之间,将其与0.5f比较。
4、结构体代替类
如果数据结构保存有限个值类型变量,使用Struct代替class。class实例由gc处理,但struct变量使用完后立刻自动解除内存分配。
5、VS自动语句补全
双击Tab键。
6、反向播放动画
Speed属性设置为-1。
7、快速比较距离
不建议使用Vector3.Distance,使用sqrMagnitude和距离的平方比较。
8、显示私有变量/隐藏公有变量
[SerializeField]private int count;
[HideInInspector]public string ipAddress;
9、文件夹快捷方式
将经常访问的文件夹的快捷方式拖入Project面板,可双击打开该目录。
10、F/Shift+F
选择游戏对象,按下F键,Scene视口中央将移动到该游戏对象处;按下Shift+F键,可将视口与该游戏对象锁定。
11、对其Scene和Game视图
Hierarchy面板,选中摄像机,按下Ctrl+Shift+F。
12、Tag比对
不建议使用==,可使用CompareTag方法。
13、分隔符
Hierarchy面板物体太多时,可通过特定命名GameObject的方式来分割。
14、查找
Hierarchy面板可以通过物体名、组件名查找;Project面板可通过t:+资源类型、名字查找
15、展开/折叠所有节点
Hierarchy面板,按下Alt键,鼠标左键点击树形节点。
16、开关场景特效
Scene面板顶部的图片下拉列表。
17、MenuItem属性
在函数前添加该属性,可在编辑器的菜单栏执行该函数。
18、ContextMenu属性
被该属性标记的函数能够在脚本上下文菜单调用。
19、最大化窗口
Shift+空格。
20、序列化Struct和Class
[System.Serializable]
21、数值输入
在Inspector面板中涉及数值输入的字段,可以输入数据+符号,结果会自动计算。
22、锁定Inspector
右上角“锁”的图标。
23、Inspector调试模式
右上角下拉菜单,Debug命令。
24、高亮显示Debug.Log对应的游戏对象
Debug时,将gameObject作为方法的第二个参数。
25、脚本挂载
1)拖拽
2)Add Conponent
26、Unity能够读取部分第三方创作软件保存的项目文件,如:Photoshop的PSD、Blender的源文件等。
27、字符串拼接
用StringBuilder(引用System.Text),不要用字符串相加。
28、工具快捷键
快捷键Q、W、E、R、T、Y切换移动、旋转、缩放等。
29、吸附
按下Ctrl键对游戏对象进行移动、旋转、缩放,将以步进形式进行操作。选择Editor->Snap Setting设置步进大小。按下V键,选择游戏对象顶点进行拖放,以此顶点为基础把游戏对象吸附到其他顶点位置。
30、管理程序集
Project面板Create->Assembly Definition,创建程序集并放入指定文件夹,定义依赖关系,可以减少编译时间。
31、WaitForSecondRealTime
避免Time.timeScale=0,导致的WaitForSeconds方法不会停止等待,后续代码不会执行的情况。
32、缓存组件引用
初始化时预先获取该组件的引用,避免重复获取。
33、字符串性能优化
如果某字符串在整个应用过程不会改变且被频繁使用,将其存储为静态只读。
34、方便变量使用
1)变量前加Range属性限定在某个范围内使用滑块调节
2)两个变量之前加[Space]可添加一个空行
3)添加Header可加入一段文字
4)加ToolTip,当鼠标悬停可显示变量说明
35、合并场景
Project面板,将一个场景文件拖到另一个上。
36、foreach循环遍历游戏对象的所有子物体。
37、#region和#endregion