U3D UGUI学习2 - RectTransform

总的来说整合了NGUI很多零散功能,比如NGUI2.X处理拉伸要额外套脚本,NGUI3.X开始引入新的锚点。再加上依赖BoxCollider使得整个HUD显示非常乱

而UGUI很清晰明了,你也能看清楚拉伸怎么设置。

但也有一些误导性的设计以及不人性化的设计。

1.Anchor

RectTransform相交于NGUI,其实稍显复杂。在NGUI 3.x里你要处理拉伸可以直接设置Anchor锚点模式,也可以挂全屏拉伸脚本。

并且,NGUI里你可以设置任何节点作为父节点,而UGUI里你只能设置上一级作为父节点

2.Pivot

NGUI里的Pivot设置很形象化,我知道是左对齐还是上对齐。而UGUI里你要手动调Pivot数值。。。

但一开始使用者只是会下意识的以为左上角那个Anchor设置框是设置Pivot对齐的,结果发现不是。严重误导作用

3.BluePoint模式和RawEdit模式

3.1 BluePoint模式

编辑RectTransform时将不应用已存在的缩放和旋转值,并且也会开启吸附模式

可以理解为本地坐标和世界坐标:

3.2 RawEdit模式

当开启时,编辑pivot和anchor时,将不会改变位置和大小的值

也可能没理解对,反正我用NGUI的时候也不是很需要这样一个功能

开启时:改锚点,不改变坐标

关闭时:改锚点,改变坐标值

4.屏幕拉伸

NGUI里你套很多个空对象,都没什么问题。而UGUI里因为Anchor锚点是受父层级影响的,所以套空对象时要格外注意。

如果最外层面板不是全屏拉伸的,那么子层级锚点位置都会被约束在Rect里

所以你需要注意上面这点,拉伸的模式并不多,其他不会出太多问题。

时间: 2024-10-14 00:58:30

U3D UGUI学习2 - RectTransform的相关文章

U3D UGUI学习1 - 层级环境

就像主动碰撞检测需要刚体,刚体需要Mesh Filter.Unity的一些组件都需要基础配置. UGUI的基础配置和NGUI差不多,把NGUI的那些中间件全部削减干净,甚至连快捷键也没有. 1.基础层级的依赖: 所有的UI全部放置于Canvas下,类似NGUI的UI Root.而当你创建UI会自动生成EventSystem的GameObject,处理交互事件 所有的UI也都需要用UI层 并且Transform在UI的层级中无效,必须要换成RectTransform. 这个改动其实是双刃剑,旧版本

U3D UGUI学习3 - Text

1.对应NGUI的四种文字显示模式 Shrink Content 对应NGUI第一种模式     勾选Best Fit 但似乎有一个Bug,文字过多的时候会爆框.解决方法是改变Line Spacing,但再多了又爆了,无解 Clamp Content 对应NGUI第二种模式,就是UGUI的默认模式 Horizontal Overflow  -Wrap Vertical Overflow -TurnCate Resize Freely 对应NGUI的第三种模式,无限延长 Horizontal Ov

U3D UGUI学习4 - Layout和文字适配

Layout这部分UGUI算是比NGUI做的到位 之前遇到了一个问题,NGUI做文字和背景框适配和容易,绑定一下就好了.UGUI你得弄Layout才可以,而且还需要配置. 但这个Layout使用场合是真的不多..感觉像是从CSS那套概念强行引入过来 1.简介: Content Size Fitter 这个是width/height = target的形式,宽高被动赋值. Aspect Ratio Fitter 高度放大,宽度放大 Layout Groups 用来设置Min,Preferred,F

Unity3D UGUI学习系列索引(未完成)

U3D UGUI学习1 - 层级环境 U3D UGUI学习2 - Canvas U3D UGUI学习3 - RectTransform U3D UGUI学习4 - Text U3D UGUI学习5 - Layout和文字适配

u3d shader学习笔记1

促使我学习SHADER的重要原因是希望深入理解3D渲染的机制,在此基础上可以灵活达到某种效果与性能的平衡,开发出具有良好体验的VR应用. 因为VR应用体验的好坏,直接由游戏的帧率决定,而游戏的帧率则受到渲染一帧画面所花时间的影响,因此如何提升渲染时间,而又可以得到期望的效果,必须要对SHADER或者说渲染机制有深入的理解. 一.在U3D中,shader是什么?shader即“着色器”,我们之所以能够看到屏幕上丰富多彩的3D画面,正是得益于它.U3D中与shader相关的概念以及它们同shader

ugui学习——可动态改变Content大小的ScrollView

首先,scrollView 根据需要的可以自己改.Horizontal代表水平方向滚动,vertical代表竖直方向. MovementType 移动模式 Inertia 鼠标放下后还可以动一点点. scrollbar可以根据需要的自定义,也可以不要. 然后,在content里面加入GridLayOutGroup,使底下的东西按照网格排放. Padding的概念和写网页时padding的概念一样,代表边距. Cell size和NGUI中差不多,是网格的大小. Spacing是间距.这里我做了一

Unity3D之UGUI学习笔记(一):UGUI介绍以及Canvas

UGUI是Unity3D4.6官方提供的UI系统,支持2D和3D UI的开发. Unity3D UI史 OnGUI 在Unity4.6之前,官方提供的是OnGUI函数来开发UI界面,当然问题也比较多,首先不支持可视化开发,其次UI始终位于所有3D对象的上方,无法实现在UI上添加3D模型的效果. 现在一般这套系统多用来在Unity编辑器中开发界面或者快速搭建一些调试界面时使用. NGUI 大名鼎鼎的NGUI是可以看做是开发Unity游戏必备的插件,支持可视化开发,同时也支持2D和3D UI的开发,

UGUI学习笔记之Canvas组件

此次记录数据为Unity4.6 B21版本.新版的UGUI已经有很好的效果,开发效率也大大的提高.跟NGUI操作类似,制作3D UI也非常方便. 一.Canvas->Render Mode提供了三种渲染模式. 1.Screen Space-Overlay模式不支持分辨率自适应,在Rect Transform调整的Rotation参数无法对其造成影响. 2.Screen Spcae-Camera 采用相机渲染,这种模式需要设置一个UI相机来专门对UI渲染,类似NGUI的Camera,且支持分辨率自

Unity3D之UGUI学习笔记(二):Rect Transform与Anchor

Rect Transform 我们都知道,Unity3D中所有的GameObject都必须要携带一个Transform组件,且该组件无法移除,那么作为UI显示的GameObject则不是携带Transform而是使用Unity3D专门为UI组件设计的Rect Transform组件,如下: 另外说一下,Canvas Renderer也是UI组件必须携带的组件. 我们来看一下其为我们提供的功能: 位置 位置是以像素为单位,其具体的值则以锚点为准,表示和锚点距离,其中x轴从左到右的数值越来越大,y轴