您当前的位置: 首页 >  unity

Allen Su

暂无认证

  • 2浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Unity3D 教程系列第 13 篇】UGUI 中 Canvas 下三种渲染模式的区别

Allen Su 发布时间:2018-12-22 15:25:10 ,浏览量:2

这是【Unity3D 教程系列第 13 篇】,如果觉得有用的话,欢迎关注专栏。

文章目录
      • 第一种:Screen Space-Overlay(屏幕空间,覆盖模式)
      • 第二种:Screen Space-Camera(屏幕空间,摄影机模式)
      • 第三种:World-Space(世界空间模式)
      • 三种渲染模式的区别
当我们用 UGUI 创建一个 2D组 件的时候,系统会自动给我们同时建一个 Canvas (画布),在 Canvas 下有三种 Render Mode(渲染模式),如下图: 在这里插入图片描述 这三种渲染模式的区别是什么呢 ?继续往下看

第一种:Screen Space-Overlay(屏幕空间,覆盖模式)

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

注意事项

  • 该模式下的 3D 物体无法被 Main Camera 照射到,所以无法看到,如果想在该模式下看到已存在的 3D 物体,则把该物体拖到Main Camera 里 Reset(重置)位置即可(我做了测试,的确可以)。
  • 该模式下不需要摄像机也可以看到画布上的2D组件。

参数详解 Screen Space-Overlay 渲染模式的画布有 Pixel Perfect 和 Sort Layer 两个参数: 在这里插入图片描述 1、Pixel Perfect: 作用:只有 RenderMode 为 Screen 类型时才有的选项。使 UI 元素像素对应,效果就是边缘清晰不模糊。

2、Sort Layer: 作用:Sort Layer 是 UGUI 专用的设置,用来指示画布的深度。例如两个 Canvas下,更改 sort layer,谁大显示谁在前面。

但是有没有一种方式能让 3D 物体展示在屏幕上方呢?那就是 Canvas 的第二种渲染模式。

第二种:Screen Space-Camera(屏幕空间,摄影机模式)

解释说明 Screen Space-Camera 和 Screen Space-Overlay 模式类似,画布也是填满整个屏幕空间,如果屏幕尺寸改变,画布也会自动改变尺寸来匹配屏幕。

所不同的是,在该模式下,画布会被放置到摄影机前方。在这种渲染模式下,画布看起来绘制在一个与摄影机固定距离的平面上。所有的 UI 元素都由该摄影机渲染,因此摄影机的设置会影响到 UI 画面。

在此模式下,UI 元素是由 perspective 也就是视角设定的,视角广度由 Filed of View 设置。

实际用途 这种模式可以用来实现在 UI 上显示 3D 模型的需求,比如很多 MMO 游戏中的查看人物装备的界面,可能屏幕的左侧有一个运动的 3D 人物,左侧是一些 UI 元素。通过设置 Screen Space-Camera 模式就可以实现上述的需求(比如玩梦幻西游的时候,点龙太子查看属性,此时你就可以在 UI 界面转动龙太子)

参数详解 在这里插入图片描述 1、Render Camera: 作用:渲染摄像机(把需要渲染的摄像机拉到这里)

2、Plane Distance: 作用:画布距摄像机的距离。

参数解释 ①:拖动摄像机,画布也会跟着动,也就是说,一旦两者距离确定,则两者的相对位移永远不会发生改变。 ②:更改这个距离的大小,可以改变 3D 物体和 2D 物体出现在屏幕的前后位置。

3、Sorting Layer: 作用:Sorting Layer 是 UGUI 专用的设置,用来指示画布的深度。

可以通过点击该栏的选项,在下拉菜单中点击 “Add Sorting Layer” 按钮进入标签和层的设置界面, 或者点击导航菜单 > Edit > Project Settings >Tags and Layers 进入该页面。 可以点击 “+” 添加 Layer,或者点击 “-” 删除 Layer。画布所使用的 Sorting Layer 越排在下面,显示的优先级也就越高。

4、Order in Layer: 在相同的 Sort Layer 下的画布显示先后顺序。数字越高,显示的优先级也就越高。

第三种:World-Space(世界空间模式)

解释说明 在此模式下,画布被视为与场景中其他普通游戏对象性质相同的类似于一张面片(Plane)的游戏物体。

画布的尺寸可以通过 RectTransform 设置,所有的 UI 元素可能位于普通 3D 物体的前面或者后面显示。当 UI 为场景的一部分时,可以使用这个模式。 该模式下可以拖动更改,旋转 Canvas 的位置,前两种模式下的 Canvas 不可移动。

参数详解 在这里插入图片描述 它有一个单独的参数 Event Camera,用来指定接受事件的摄像机,可以通过画布上的 GraphicRaycaster 组件发射射线产生事件。

实际用途 这种模式可以用来实现跟随人物移动的血条或者名称。

好了,三种渲染模式介绍完了,接下来我们通过一个表格来看下这

三种渲染模式的区别

在这里插入图片描述

今天冬至,祝大家冬至快乐。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0426s