UI CanvasCanvas是所有UI元素应当存放于内的区域。Canvas是一个有Canvas组件的游戏对象,并且所有UI对象必须是这样一个Canvas对象的子对象。 元素的绘制顺序在Canvas中的UI元素,以它们出现在层次中的顺序被绘制。第一个子对象被先渲染,然后第二个,以此类推。如果两个UI元素重叠,后一个将出现在前一个上上面。 渲染模式Canvas有渲染模式设置,可以用来让Canvas在屏幕空间或世界空间中渲染。 屏幕空间 - 覆盖这个渲染模式将渲染的UI元素放置在场景的最上面(最靠近镜头)。如果屏幕被重新调整大小或调整分辨率,Canvas将自动改变尺寸以适应。 屏幕空间 - 摄像机这个模式类似于“屏幕空间 - 覆盖”,但在这个渲染模式下,Canvas被放置在指定摄像机的一个给定距离前。UI元素用这个摄像机渲染,意味着摄像机设置将印象到UI的表现。如果摄像机被设置为透视的,UI元素将会以透视渲染,并且透视变形可以被摄像机视野区所控制。如果屏幕被重设大小或改变分辨率,或者摄像机frustrum 改变,Canvas同样将自动改变设置以匹配。 世界空间在这个渲染模式下,Canvas将如场景中其它的对象那样。Canvas的尺寸可以用它的矩形transform进行手动设置,UI元素会在场景中其它对象的前面或后面渲染,基于三维空间中的位置关系。这在UI元素被定义为世界一部分时有用。这也被称为“剧情界面”(diagetic interface)。 基本布局这一部分我们将看看,元素关联到Canvas及相互间,应如何放置。如果用户希望在阅读时自己测试,可以创建一个Image(GameObject ->UI -> Image)。 矩形工具为了布局考虑,每个UI元素用一个矩形所表示。这个矩形可以在场景视图中用工具栏中的矩形工具处理。矩形工具可以被Uinity的2D特性和UI所使用,实际上也可以用于3D对象。 矩形工具可以用来移动,重设大小,旋转UI元素。一旦选择了一个UI元素,可以通过点击矩形内的任何位置并拖拽它来移动。用户可以通过点击边缘或角落并拖拽来调整大小。元素可以被旋转通过将指针悬停在角落附近,直到鼠标指针看起来像个旋转记号。然后可以点击并向任意方向旋转。 矩形变换矩形变换是一个新的变换组件;对所有UI元素,取代了标准的变换组件。 重设相对缩放当矩形工具被用于改变对象的大小时,通常对于二维系统和三维对象,它将改变对象的局部缩放。然而,当被用于一个有矩形变换的对象时,改变的是宽度和高度,保持局部缩放不变。这样的重设大小将不影响字体尺寸、镶边等。 轴Pivot旋转,尺寸,缩放的调整是围绕着轴的;所以轴的位置影响着旋转、尺寸或缩放的效果。当工具栏上Pivot按钮被设置为Pivot模式,矩形变换的轴会被移入场景视图。 定位Anchors矩形变换包括称为“定位”的一个布局概念。定位以四个在场景视图中的小直角柄所表示,定位信息在检视器中显示。 用户可以分别拖拽每个定位,或如果它们是一起的,用户可以通过点击它们中间并拖拽,让它们一起移动。如果在拖拽一个定位时按下Shift键,矩形对应的角将随着定位一起移动。 定位预设在检视器中,定位预设按钮可以矩形变换组件的在左上角找到。点击此按钮让定位预设下拉。从这里用户可以快速选择一些最常用的定位选项。可以定位UI元素到父对象的边沿或中间,或者随着父对象的尺寸一起伸缩。水平和垂直定位是独立的。 检视器你中的定位和位置区可以点击定位扩大箭头来显示定位数字区,如果它们尚未可见。最小定位对应于在场景视图中的左下定位柄,最大定位对应于右上的定位柄。 视觉组件在UI系统的介绍中,会帮助你创建有特定功能的GUI的新组件已经添加。这一部分是关于可以被创建的新组件的基本知识。 文本 图片
原始图片图片组件有精灵,但原始图片是纹理(没有边缘等)。原始图片仅在必要时可以被使用,否则图片组件在大部分情况下都是适合的。 遮罩遮罩(Mask)并不是可见的UI控制,然而是调整一个控制子元素外观的一种方式。遮罩根据父元素的形状限制(即所谓的“遮罩”)子元素。这样,如果子元素比父元素更大,那么,子元素只有在父元素中的那部分会可见。 效果视觉组件也可以有各种简单的效果,例如简单的阴影或者轮廓线。可以查看Effect引用页来获得更多信息。 交互组件这部分关于在UI系统中掌控交互的组件,例如鼠标或者触摸事件,以及使用键盘或控制器的交互。 共有功能大部分交互组件有相同的部分。它们是可选择的,意味着它们已经共享了:在状态(普通,高亮,按下,不可用)之间可见的切换,以及使用键盘或控制器到其它可选项的导航,这些内建功能。这些共有的功能在可选页面中描述。 按钮按钮有一个点击Unity事件来定义当被点击时会做什么。 属性
事件
细节按钮被涉及用来初始化一个动作,当用户点击并释放它。如果在松开前鼠标从按钮上移开,则不会发生动作。
开关一个开关是一个决定了某一开关当前是开启或关闭的选择项。当用户点击开关时,值被改变;并且一个对勾会由此打开或关闭。同样有定义一个当值改变时就触发的OnValueChanged的Unity事件。 属性
事件
细节开关控制允许用户对选项的开关状态进行切换。当同一时间里一系列开关中仅有一个开关能够开启时,你也可以在一个开关组中包含若干个开关。
注意,开关是提供了子元素可点击区域的父元素。如果开关没有子元素(或者它们不可用),开关是不能点击的。 开关组开关组可以用来将一系列互斥使用的选项形成一组。属于同一组的开关被认为,在同一时间仅有其中一个能被选中——选中它们中的一个,自动弃选其它所有的。 滑块滑块有个用户可以在最小值和最大值之间拖拽的十进制数值。滑块可以是水平或者垂直的。它同样也有一个定义了当值改变时如何反应的OnValueChanged的Unity事件。 滚动条滚动条有个在0到1之间的小数。当用户拖拽滚动条时,值对应地改变。 下拉框下拉框有可以从中选择的选项列表。对于每个选项,可以指定一个文本串或一张图片来指代,并且可以在检视器里设置或者在代码中动态设置。它有一个在值被改变时,定义如何执行的OnValueChanged的Unity事件。 输入框输入框用于创建可被用户所编辑的文本元素的文本。它也有一个文本内容被改变时定义如何执行的OnValueChanged的Unity事件,以及另一个用来定义用户结束输入时如何执行的事件。 滚动框(滚动视图)一个滚动狂可在占用了大量空间的内容需要在一个小区域中显示的情况下被使用。滚动狂提供了滚动显示内容的功能。 |
|
来自: office0228 > 《unity3d 5.5》