5评论

Unity使用技巧

Arvin 2018-05-10 1.3k浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏开发行业精英群711501594

Unity使用技巧

参考文献:https://unity3d.com/cn/learn/tutorials/s/tips

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时安装了离线文档,那么在没有网络时也能使用浏览器查看文档。