关于Canvas Rect Transform 设置问题?

Posted RongT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Canvas Rect Transform 设置问题?相关的知识,希望对你有一定的参考价值。

技术分享

Render Mode:

Screen Space - Overlay:将UI放置在场景的上面,调节场景大小或调整分辨率,则Canvas也会随之调整。

Screen Space - Camera:Canvas由一个特定的相机渲染,相机的设置会影响UI。

World Space:使Canvas像场景中的其他对象一样渲染。

技术分享

默认情况为Screen Space - Overlay 模式, 即不能更改 Rect Transform  更换成  World Space 即可设置Rect Transform

知识扩展:

Rect Transform

Rect Transform在2D的UI中,对应于3D的Transform。用于显示调整2DUI中的缩放比例、位置、尺寸、角度等。

Position 坐标位置
Width/Height 高宽尺寸
Anchors 锚点
Pivot 中心点
Rotation 角度
Scale 缩放比例

Rect Transform中增加了Anchors属性,其中包括Anchor Min和Anchor Max。Anchors用于指定在父UI元素调整时,子UI元素如何调整。具体行为由Anchor Min(左下)和Anchor Max(右上)两个锚点决定。坐标以矩形左下为(0, 0),右上为(1, 1)。

但实际上,Unity已经提供了预定义的模式。在Rect Transform的左上角点击,出现如下的常用Anchor模式。

以top-left模式为例,此时锚点位于父元素的左上角。如果拉动父元素矩形的左边框和上边框,则子元素的位置也随之变化。而拉动另外两条边则不发生变化。

在middle或center模式下,拉动轴两侧的边子元素均会随之移动。

此外还有stretch模式,在拉动时会拉伸或压缩子元素。

Update:两种编辑模式:

  • Blueprint:在此模式下,物体不会旋转和缩放。
  • Raw Edit:在此模式下,调整物体的Pivot和Anchor不会改变物体的位置和尺寸。

====================================================================================

Render Mode:

Screen Space - Overlay:将UI放置在场景的上面,调节场景大小或调整分辨率,则Canvas也会随之调整。

Screen Space - Camera:Canvas由一个特定的相机渲染,相机的设置会影响UI。

World Space:使Canvas像场景中的其他对象一样渲染。

技术分享

Event Camera:?

Sorting Layer :

Order in Layer:

技术分享

Pixel Perfect:完美像素?点选后,字体更加清晰了。

技术分享

Plane Distance:相机到平面的距离?

====================================================================================

Canvas Scaler  画布的比例缩放

技术分享

Constant Pixel Size:保持UI元素大小不变,无论屏幕尺寸如何变化。

Scale Factor:保持大小的比例 。原图100x100    原始大小1=100x100  原来的2倍大 2=200x200

Reference Pixels Per Unity  100   Unity里的1单位大小代表100像素

技术分享 Scale With Screen Size:UI元素大小跟随屏幕分辨率的大小变化而变化。

Reference Resolution:参考分辨率,该分辨率越大,Canvas Scale越小。

Screen Match Mode:

Match Width Or Height:根据参考分辨率的高或宽,来缩放UI元素。

Expland:分辨率设置不会小于Canvas设置的分辨率。

Shrink:分辨率不会大于Canvas设置的分辨率。

Match:  Width缩放参考Width。 此时拉伸Reference Resolution Y是无效的。

技术分享

Constant Physical Size:UI元素保持 Physical Size,无论屏幕大小如何变化。

Physical Unit:物理单位

Fallback Screen DPI:

Default Sprite DPI:

====================================================================================

技术分享

每个Canvas都有一个Graphic Raycaster,用于获取用户选中的uGUI控件。多个Canvas之间通过设置Graphic Raycaster的priority来设置事件响应的先后次序。当Canvas采用World Space或Camera Space时,Graphic Raycaster的Block选项可以用来设置遮挡目标。

Priority:优先权?

Ignore Reversed Graphic:忽略啥?

Blocking Objects:?

Blocking Mask:?

 

参考地址:http://www.tuicool.com/articles/aQN7j2

以上是关于关于Canvas Rect Transform 设置问题?的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D之UGUI:Rect Transform与Anchor

我的 TGraphic.Draw(Canvas, Rect) 代码不起作用

Unity3D_UGUI速成班——05.Rect Transform

unity4.6学习Ugui中文文档-------參考-UGUI Rect Transform

html2canvas不支持transform处理

Unity笔记UGUI物体的Rect Transform组件(Pivot中心点,Anchor锚点)