Unity3D实践系列10, Canvas画布的创建和使用
Canvas是所有ui元素的父物体。
当添加一个Button类型的GameObject后,在"Hierarch"窗口中自动添加了一个Canvas,以及EventSystem。
在Canvas的Render Mode中有三个选择:
1、Screen Space - Overlay 屏幕最上层,主要是2D效果。
2、Screen Space - Camera 绑定摄像机,可以实现3D效果。
3、World Space 世界空间,让UI变成场景中的一个物体。
如果选择"Screen Space - Overlay", Canvas的"Rect Transform"项被锁定,此时,屏幕有多大,Canvas就有多大。
另外在还可以让在Canvas中的Button自适应。选中Button,在"Inspector"窗口中的"Rect Transform",通过按着alt键把Button固定在相对于Canvas的某个位置,当Scene窗口大小变化,Canvas也随着变化,其中的Button也始终固定在Canvas的某个区域,呈现出自适应的效果。
勾选"Pixel Perfect",在Canvas中的模糊效果消失,变得相对清晰。
"Sort Order"的值用来决定不同的Canvas的层级效果。
如果选择"Screen Space - Camera",UI跟着摄像机走。
把"Hierarchy"中的"Main Camera"拖动到"Render Camera"属性框上。
选中Button,能实现一些三维效果,而看到三维显示效果的前提是:Main Camera的"Projection"的属性值是"Perspective"。
如果选择"World Space",Canvas就被作为Game Object,成为场景中的一个物体。利用这一点,可以很方便地添加跟随物体的UI。
在Canvas的"Canvas Scaler(Script)"中, Dynamic Pixels Per属性用来调整字体的大小,Reference Pixels Per用来调整边框的粗细。选择Ui Scale Mode的不同项,会出现不同的属性供设置。
Canvas的"Graphic Raycaster(Script)"用来调整射线。
Unity3D实践系列10, Canvas画布的创建和使用的更多相关文章
- Unity3D实践系列04, 脚本的生命周期
Unity3D脚本生命周期是指从脚本的最初唤醒到脚本最终销毁的整个过程.生命周期的各个方法被封装到了MonoBehaviour类中.具体来说如下: 1.In Editor Mode 编辑模式 当在编辑 ...
- Unity3D实践系列01,创建项目
下载并安装Unity5软件客户端. 打开软件,注册Unity帐号,并用注册帐号登录. 点击"创建Project"按钮. 把项目命名为"My First Unity Pro ...
- Unity3D实践系列06,球体撞击物体游戏
本篇实现一个球体在固定区域移动撞击Cube的游戏. 首先有1个Plane当作地面,1个Sphere当作球体,4个Cube当作墙,12个Cube当作被撞击物体,另外还有球体的撞击计算,在撞击的过程适时显 ...
- Unity3D实践系列11, 组件的添加和访问
当把一个脚本附加到一个GameObject上的时候,这个GameObject就有了脚本组件. 通过GameObject的属性获取组件 比如如下: [RequireComponent(typeof(Ri ...
- Unity3D实践系列08, MonoBehaviour类的各种触发事件
在脚本的生命周期中,有Awake, Start, FixedUpdate, Update, LateUpdate等方法,其实这些属于MonoBehaviour类的事件响应方法,是MonoBehavio ...
- Unity3D实践系列07,组件的启用或禁用开关,物体的的可见或不可见开关,以及相应事件
创建一个Unity项目. 在"Project"窗口中,在"Asserts"中,添加"_MyScene"文件夹. 点击"File&q ...
- Unity3D实践系列03,使用Visual Studio编写脚本与调试
在Unity3D中,只有把脚本赋予Scene中的GameObject,脚本才会得以执行. 添加Camera类型的GameObject. Unity3D默认使用"MonoDevelop&quo ...
- Unity3D实践系列09, 物理引擎与碰撞检测
在Unity3D中,一个物体通常包含一个Collider和一个Rigidbody.Collider是碰撞体,一个物体是Collider,才可以进行碰撞检测.Collider组件中的"Is T ...
- Unity3D实践系列05,为GameObject添加额外属性
在Unity中,通常通过脚本为GameObject添加额外的属性.具体有2种方式:一种是通过硬编码为脚本字段赋值,另一种是通过反射在运行时给脚本字段赋值. 脚本通过字段硬编码为GameObject添加 ...
随机推荐
- jstack查看Java堆栈信息
命令 jps 查看进程id jstack 1234 查看该进程的线程堆栈信息 对于每个线程,都有如下信息: 线程名,如“main”线程属性(如果是Daemon线程,会有Daemon标识,否则,什么都没 ...
- js array数组检测方式
typeof var arr = [1,2,3]; console.log(typeof arr);//'object' 数组的本质是一种特殊的对象,所以返回'object'.typeof运算符只能用 ...
- PhpStorm,Pycharm,Goland破解
phpstorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查.不但是php开发的利器,前端开发也是毫不逊色的.下面记录Php ...
- SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口
SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口 第一种方式: 1.sudo chmod a+w /etc/sysconfig/SuSEfirewall2 ...
- weblogic控制台部署web应用
如何使用weblogic管理控制台部署和卸载一个WEB应用呢?下面我们来分步演示! 工具/原料 Oracle WebLogic WEB应用War包 方法/步骤 1 用IE浏览器,打开管理控制台 ...
- json多态序列化
https://blog.csdn.net/java_huashan/article/details/46428971 https://blog.csdn.net/bruce128/article/d ...
- Spring Cloud微服务视频教程-百度云
Spring Cloud微服务视频教程-百度云 链接:https://pan.baidu.com/s/1mp8SkxNw7EfoTDtDKQMpIA 提取码: 关注公众号[GitHubCN]回复521 ...
- Java第三阶段学习(六、多线程)
一.进程和线程的区别: 进程:指正在运行的程序,当一个程序进入内存运行,就变成一个进程. 线程:线程是进程的一个执行单元. 总结:一个程序运行后至少会有一个进程,一个进程可以有多个线程. 多线程:多线 ...
- hadoop日志数据分析开发步骤及代码
日志数据分析:1.背景1.1 hm论坛日志,数据分为两部分组成,原来是一个大文件,是56GB:以后每天生成一个文件,大约是150-200MB之间:1.2 日志格式是apache common日志格式: ...
- HashMap几个需要注意的知识点
HashMap简介 HashMap 是java集合框架的一部分. key value都允许null值 (除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同) 不保 ...