Unity使用技巧
Unity使用技巧
Scene界面中的对齐操作
单位对齐(Unit snapping)
选中要操作的对象,按住 Ctrl 键后,可以按照指定的步长对目标进行移动、旋转和缩放。在 Edit-Snap Settings 窗口中可以设置每次在X/Y/Z轴上移动的距离、每次缩放的倍数和每次旋转的角度,也可以在该窗口中将对象对齐到离其最近的坐标网格处。
表面对齐(Surface snapping)
选中要操作的对象,切换到Move工具,按住 Ctrl+Shift 后拖动移动工具的中心(注意,是中心而不是单个坐标轴),可以将对象对齐到其他对象的碰撞器表面。
朝向旋转(Look-at rotation)
选中要操作的对象,切换到Rotate工具,按住 Ctrl+Shift 后拖动旋转工具的中心(注意,是中心而不是单个旋转轴),可以使对象的forward朝向鼠标所指的其他对象的碰撞器表面位置。
顶点对齐(Vertex snapping)
选中要操作的对象,切换到Move工具。按住 V 键或者按下 Ctrl+Shift+V 进入顶点对齐模式。松开 V 键或再次按下 Ctrl+Shift+V 退出顶点对齐模式。
在顶点对齐模式下,将鼠标移动到对象的要进行对其的那个Mesh顶点上,然后拖动旋转工具的中心(注意,是中心而不是单个旋转轴),可以将该顶点对齐到其他对象的Mesh顶点上。
窗口操作
Scene窗口相机模式
点击Scene窗口右上角坐标轴下面的 Persp 和 Iso 按钮可以分别将Scene切换到正交投影视图(Orthographic)和透视图(Perspective)模式。
右键点击这两个按钮或者直接左键点击坐标轴,可以使Scene窗口从指定的角度显示其中的内容,这在进行对齐操作时很有用。
锁定窗口
Unity编辑器中的窗口的右上角大多都有一个 小锁头 图标,点击这个图标可以锁定/解锁该窗口。锁定窗口后,该窗口中的内容不再被动改变。
举例说明,Scene中有两个GameObject,名为A和B,当选中A后,Inspector中会显示A的数据,再选中B后Inspector中会自动变为B的数据。如果这时将Inspector窗口锁定,再去选择其他GameObject,Inspector中的内容不会再跟着改变,仍然会显示B的数据,其中的数值仍然可以调整。其他窗口的锁定也是同样的道理。
比较特殊的是Scene窗口的锁定,当锁定Scene窗口时,它的效果Scene窗口会保持当前的观察角度,不能旋转视角,只能进行平移。
取消预览窗口的停靠
使用鼠标右键点击预览窗口的标题栏,可以取消预览窗口的停靠状态(undock),使其弹出成为一个独立的窗口并且可以随意拖动,再次点击其标题栏可以使其返回停靠状态。
自定义GameObject图标
选中GameObject,在Inspector中,点击GameObject名称左边的方块图标,将会弹出为GameObject设置自定义图标的窗口。
设置不同的图标可以让GameObject更易分辨,并且在为空的GameObject设置了图标后,在不选中该对象时,也能在Scene中看到它。
Play模式提示
当从Play模式返回到Edit模式时,对GameObject所做的大多数操作都会被还原。可以设置Play模式的窗口颜色,使Play模式更加显眼,以免因为没有注意到编辑器处于Play模式而做了太多改动,最后因为退出Play模式而丢失这个改动。
在菜单 Edit-Preferences-Colors-General : Playmode tint 中设置Play模式的窗口颜色,当进入Play模式时,除Scene和Game窗口外的其他窗口会蒙上设定的颜色。
编辑器中的相机位置操作
在编辑器菜单的 GameObject 选项中,有3个用于快速修改Scene相机和Game相机位置的选项,它们的功能如下:
- Move To View:将当前选中的Camera移动到Scene视图的中心位置,快捷键 Ctrl+Alt+F。
- Align With View:移动当前选中的Camera,使其画面与Scene窗口的画面相同,快捷键 Ctrl+Shift+F。
- Align View To Selected:移动Scene相机,使Scene窗口中的画面与当前选中的Camera拍摄的画面相同。
Inspector与脚本
Inspector效果 | 对应的代码 |
---|---|
添加脚本依赖
如上图,在定义Monobehavior子类时,为其添加 RequereComponent 属性可以告知Unity该组价依赖于其他组件。
当向GamaObject添加该组件时,Unity会自动为GameObject添加该组件所依赖的其他组件。
当从GamaObject移除组件时,要先移除依赖其他组件的组件,后移除被依赖的组件,否则Unity将会弹出错误提示。
限制变量范围
如上图,为变量添加 Range 属性可以在Inspector中限制变量的取值范围,其值设置方式将会从文本框变为滑动条。
添加变量提示
如上图,为变量添加 Tooltip 属性,在Inspector中将鼠标悬浮在该变量名上,将会弹出自定义的变量说明。
隐藏public变量
如上图,为public变量添加 HideInInspector属性,在Inspector中将不会显示该变量。
序列化private变量
如上图,为private变量添加 SerializeField 属性,在Inspector将会把该变量按照public变量处理,但在代码中,它仍然受到private保护。
另一种显示不可见字段的方式是,在Inspector窗口右上角(小锁头的右边)的下来菜单中,将窗口模式从 Normal 改为 Debug,这样窗口中就会显示很多平时不可见的数据,其中的private变量会显示为灰色,无法修改。
变量的四则运算
如上图的Turn Speed设置,在Inspector中,可以直接对数值类型的变量进行加减乘除运算。
组件的复制与粘贴
在Inspector中,点击组件名称右侧的 齿轮 图标,在展开的菜单中选择 Copy Component,将该组件复制到剪切板。然后选择另一个GameObject,若新选择的对象已经有了该组件,则点击该组件的齿轮图标,在菜单中选择 Paste Component Values 将剪切板中的组件值赋给当前的组件;若新选择的对象中没有该组件,则点击任意任意一个组件的齿轮图标,选择 Paste Component As New 将剪切板中的组件新增到当前对象上。
快速查找文档
在Inspector窗口中,每个组件标题的右侧都有一个带有问号的书本图标,点击这个图标将会在浏览器中打开该组件的使用文档。如果安装Unity时安装了离线文档,那么在没有网络时也能使用浏览器查看文档。