13.3.4 Canvas的使用方法

13.3.4 Canvas的使用方法

Canvas提供了很多有用的选项和参数,能够灵活适应多种UI布局,并且适用于网页、移动App、VR等类型的应用中。不过,其选项的灵活性和多样性也可能对初学者而言稍显复杂。本部分将对Canvas的基本使用方法进行介绍。

首先创建一个Unity 3D项目,将默认场景另存为“UIScene”。在场景中创建一个Plane对象,在Inspector面板中单击Transform组件最右侧的按钮,选择“Reset”,确保其位置等属性为默认参数,如图13.15所示。

图13.15 Reset选项

创建一个淡黄色的材质球,拖至Plane对象上,更改其颜色。

在默认场景的Hierarchy面板中单击右键,选择【UI】|【Canvas】,新建一个Canvas。在Inspector面板中,将其Render Mode设置为World Space,如图13.16所示。

图13.16 设置Render Mode

在Inspector面板中,将Canvas的Rect Transform组件重置为默认参数,方法同上。将其Scale属性设置为:X=0.001,Y=0.001,Z=0.001。将Width设置为800,Height设置为600,因此Canvas的宽高比为4∶3,如图13.17所示。

图13.17 设置宽高

Canvas在当前场景中的效果如图13.18所示。

图13.18 当前场景效果

在Hierarchy面板中选中Canvas,单击右键,选择【UI】|【Image】,为Canvas创建子对象UI元素Image。创建的Image默认宽高为100×100,下面进行调整。单击Rect Trans.form面板左上角的“Anchor Presets”按钮,如图13.19所示。

弹出Anchor Preset面板,按住Alt键的同时单击右下角的“Stretch/Stretch”按钮,如图13.20所示,将Image填满整个Canvas。

图13.19 “Anchor Presets”按钮   

图13.20 “Stretch/Stretch”按钮

在Inspector面板中,将Color设置为一种浅蓝色,并将Color面板中的Alpha通道参数设置为128,将Image设置为半透明效果,如图13.21所示。

图13.21 设置颜色和Alpha通道值

然后,向Canvas上添加UI元素Text。选中Canvas,单击右键,选择【UI】|【Legacy】|【Text】(在Unity 2020.x之前的版本中,对应的是【UI】|【Text】),创建Canvas的子对象Text(Legacy)。

选中“Text(Legacy)”,在Inspector面板的Text文本框内分行输入文字“你好,VR世界!”“Hello,VR World!”。由于文字的默认字号较小,因此需要进行调整。

首先调整文本框的大小。有两种方法,一种是在Inspector面板中直接设置Width/Height或Scale属性的参数值,另一种是从工具栏中选择“Rect Tool”工具直接拖动文本框的边界进行设置。此处直接设置参数:Width=700,Height=500。

然后,设置文字参数:Font Size=60,Line Spacing=1.6;Paragraph属性组的Alignment设置为水平居中、垂直居中;Color设置为饱和度较高的蓝色。Inspector面板和场景效果分别如图13.22、图13.23所示。

图13.22 Inspector面板中的参数设置

可以看到,文字的大小和位置都比较合适,但看上去有些模糊。选中Canvas,将其Can.vas Scaler组件中的Dynamic Pixels Per Unit设置为3。可以看到Canvas上的文字变清晰了。

至此,我们制作了一个简单的世界空间UI画布,并且在上面添加并编辑了Image和Text两种UI元素。其他类型的UI元素创建与编辑方法与此大致相同,此处不再详细讲解。

图13.23 当前场景中的Canvas效果