基础篇-Canvas

  Canvas画布是承载所有UI元素的区域。Canvas实际上是一个游戏对象上绑定了Canvas组件。所有的UI元素都必须是Canvas的自对象。如果场景中没有画布,那么我们创建任何一个UI元素,都会自动创建画布,并且将新元素置于其下。

        在Hierarchy视图点击右键UI→Canvas即可创建画布。

                Render Mode:

                    Screen Space-Overlay:覆盖模式。

                            画布会填满整个屏幕空间,并将画布下面的所有的UI元素置于屏幕的最上层,或者说画布的画面永远“覆盖”其他普通的3D画面,如果屏幕尺寸被改变,画布将自动改变尺寸来匹配屏幕。

Scenes与Game视图

                                    Pixel Perfect:只有RenderMode为Screen类型时才有的选项。使UI元素像素对应,效果就是边缘清晰不模糊。

                              Sort Layer:多个Canvas才有效果。Sort Layer是UGUI专用的设置,用来指示画布的深度。数值越大,显示的优先级就越高,也就是数值大的Canvas会遮挡住数值小的Canvas。

                                    Target Display:使Canvas渲染到指定的显示中。支持的辅助显示器(例如监视器)的最大数量为8.。

                                    Additional Shader Channels:没用过。以下是官方解释

                                        Get or set the mask of additional shader channels to be used when creating the Canvas mesh.

                                        The Canvas will always include Position, Color, and Uv0 shader channels when generating the mesh for a overlay Canvas and will also include Normal and Tangent for ScreenSpace.Camera and World space Canvas. These are the optional additional parameters to be copied.

                    Screen Space-Camera:摄影机模式。

                            和Screen Space-Overlay模式类似,画布也是填满整个屏幕空间,如果屏幕尺寸改变,画布也会自动改变尺寸来匹配屏幕。所不同的是,在该模式下,画布会被放置到摄影机前方。在这种渲染模式下,画布看起来 绘制在一个与摄影机固定距离的平面上。所有的UI元素都由该摄影机渲染,因此摄影机的设置会影响到UI画面。在此模式下,UI元素是由摄像机的Projection参数perspective(3D)也就是视角设定的,视角广度由Filed of View设置。

                      这种模式可以用来实现在UI上显示3D模型的需求,比如很多MMO游戏中的查看人物装备的界面,可能屏幕的左侧有一个运动的3D人物,右侧是一些UI元素。通过设置Screen Space-Camera模式就可以实现上述的需求。

                        Render Camera:渲染摄像机。

                        Plane Distance:画布距离摄像机的距离。

                        Sorting Layer: 多个Canvas才有效果。Sorting Layer是UGUI专用的设置,用来指示画布的深度。可以通过点击该栏的选项,在下拉菜单中点击“Add Sorting Layer”按钮进入标签和层的设置界面,或者点击导航菜单->edit->Project Settings->Tags and Layers进入该页面。

    可以点击“+”添加Layer,或者点击“-”删除Layer。画布所使用的Sorting Layer越排在下面,显示的优先级也就越高。

                        Order in Layer:多个Canvas才有效果。在相同的Sort Layer下的画布显示先后顺序。数字越高,显示的优先级也就越高。

                    World Space:  世界控件模式。

                        在此模式下,画布被视为与场景中其他普通游戏对象性质相同的类似于一张面片(Plane)的游戏物体。画布的尺寸可以通过RectTransform设置,所有的UI元素可能位于普通3D物体的前面或者后面显示。当UI为场景的一部分时,可以使用这个模式。

                  Event Camera:用来指定接受事件的摄像机,可以通过画布上的GraphicRaycaster组件发射射线产生事件。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 什么是Canvas 使用UGUI来进行UI开发,离不开Canvas组件,所有的 UI 元素,要么自己包含 C...
    太刀阅读 20,323评论 1 10
  • 自学备用,如有问题欢迎及时指正,我会尽快改正。(版本unity 2018.2.9f1)本篇记录 Unity UGU...
    Isaias阅读 6,209评论 0 1
  • Canvas的概念 ugui中的Canvas可以想象为铺满屏幕的一张画布,本质上是一个绑定了Canvas组件的对象...
    羿升君阅读 2,814评论 0 0
  • 本篇文章是基于谷歌有关Graphic的一篇概览文章的翻译:http://source.android.com/de...
    lee_3do阅读 7,472评论 2 21
  • d Canvas组件个人理解,如有侵权,请私信我 Canvas ............................
    PM_Maven阅读 313评论 0 0

友情链接更多精彩内容