Canvas——画布
2015-06-12 10:49
330 查看
Canvas是一个所有UI元素都应该在它里面的区域。Canvas是一个带有Canvas组件的GameObject,同时,所有的UI元素必须是一个Canvas的子物体。
创建一个新的UI元素例如Image,点击菜单里的GameObject > UI > Image,如果场景中不存在一个Canvas,将会自动的创建一个Canvas。这个UI元素将作为该画布的子物体被创建。
Canvas的区域在场景视图中显示为一个矩形框。这使得定位UI元素非常方便,因为不需要使游戏视图随时可视。
元素绘制顺序
Canvas中的UI元素按它们在Hierarchy视图中的排列顺序绘制。排在最上面的子物体将会最先绘制,排在第二的会在其之后,其它的以此类推......如果两个元素重叠,排在下面的那一个将会覆盖排在上面的那一个。
如果要使一个元素显示在其它元素的上面,只需要简单的在Heirarchy视图拖动改变元素的排列顺序。这个顺序也可以通过脚本控制去改变,使用Tranfrom组件的这些方法:SetAsFirstSibling,SetAsLastSibling和SetSiblingIndex。
渲染模式
Canvas有一个渲染模式设置,用来使它在屏幕空间或世界空间渲染
屏幕空间 - 覆盖
这种渲染模式把UI元素放在屏幕上并渲染到场景的最顶层。如果屏幕改变了大小或改变了分辨率,画布将会自动改变大小以适应。
屏幕空间 - 摄相机
它与屏幕空间 - 覆盖模式类似,但是在这种渲染模式中,Canvas以一个指定的距离被放置在一个特殊的摄相机前面。UI元素都通过这个摄相机来渲染,这意味着这个摄相机的设置会影响UI的显示。如果这个摄相机被设置为透视的,UI元素将会被以透视视角渲染,同时透视形变的程度可以被摄相机的Field of View控制。如果屏幕改变大小或分辨率,或者摄相机的视截体变化,Canvas也将会自动改变大小以适应。
世界空间
在这个渲染模式,Canvas看起来和场景中其它对象一样,Canvas的大小可以通过它的Rect Tranform手动设置,同时,UI元素将会被渲染到其它物体的前面或后面,基于场景的3D布局。这对于UI是世界中的一部分的情况很有用,这也被称为“叙事化界面”。
创建一个新的UI元素例如Image,点击菜单里的GameObject > UI > Image,如果场景中不存在一个Canvas,将会自动的创建一个Canvas。这个UI元素将作为该画布的子物体被创建。
Canvas的区域在场景视图中显示为一个矩形框。这使得定位UI元素非常方便,因为不需要使游戏视图随时可视。
元素绘制顺序
Canvas中的UI元素按它们在Hierarchy视图中的排列顺序绘制。排在最上面的子物体将会最先绘制,排在第二的会在其之后,其它的以此类推......如果两个元素重叠,排在下面的那一个将会覆盖排在上面的那一个。
如果要使一个元素显示在其它元素的上面,只需要简单的在Heirarchy视图拖动改变元素的排列顺序。这个顺序也可以通过脚本控制去改变,使用Tranfrom组件的这些方法:SetAsFirstSibling,SetAsLastSibling和SetSiblingIndex。
渲染模式
Canvas有一个渲染模式设置,用来使它在屏幕空间或世界空间渲染
屏幕空间 - 覆盖
这种渲染模式把UI元素放在屏幕上并渲染到场景的最顶层。如果屏幕改变了大小或改变了分辨率,画布将会自动改变大小以适应。
屏幕空间 - 摄相机
它与屏幕空间 - 覆盖模式类似,但是在这种渲染模式中,Canvas以一个指定的距离被放置在一个特殊的摄相机前面。UI元素都通过这个摄相机来渲染,这意味着这个摄相机的设置会影响UI的显示。如果这个摄相机被设置为透视的,UI元素将会被以透视视角渲染,同时透视形变的程度可以被摄相机的Field of View控制。如果屏幕改变大小或分辨率,或者摄相机的视截体变化,Canvas也将会自动改变大小以适应。
世界空间
在这个渲染模式,Canvas看起来和场景中其它对象一样,Canvas的大小可以通过它的Rect Tranform手动设置,同时,UI元素将会被渲染到其它物体的前面或后面,基于场景的3D布局。这对于UI是世界中的一部分的情况很有用,这也被称为“叙事化界面”。
相关文章推荐
- Kinect结合Unity3D引擎开发体感游戏(一)
- Unity3D中脚本的执行顺序和编译顺序
- Unity3D动态对象优化代码分享
- unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk)
- Unity3D游戏引擎实现在Android中打开WebView的实例
- unity3d调用手机或电脑摄像头
- 分享一个开源的网络游戏服务器架构—HouHai
- Unity3D插件详细评测及教学下载
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- Unity3d TransformPoint 函数研究
- Unity3d 动态加载fbx模型文件
- unity3d地形系统总结