Rect Transform组件:继承至Transfrom及其一些属性,Canvas的Canvas组件中,属性Render Mode在选择前两个时,Canvas的RectTransform是不可改变的,由系统控制,在选择第三个Screen Space模式下,Canvas画布是可以像一个3D物体那样呈现出来,所以可以任意更改RectTransfrom的属性。
Anchors(锚点):相对于父物体的。最大值(1,1)时锚点在Ui组件面板的右上角,取最小值(0,0)时在其左下角。
Pivot(中心点):自己本身的几何中心点。x是中心点的x值与面板宽度的比值,y是中心点的y值与面板高度度的比值(xy都是零则在左下角,都是0.5就在正中间)
Rotation:UI组件表示旋转的三维向量
Scale:UI组件的缩放比例
上图红线画出来的三个点左键选择debug可以看到该UI的详细属性
Anchor的简单使用:
通过设置锚点让子物体在父物体哪个角出现(比如左上角)。选择锚点 位置的同时按住alt可以同时设置子物体的位置。(如选择锚点在右上角,按住alt不仅锚点在右上角,该物体的位置也会同时出现在父物体的右上角)。另一种设置子物体的方法是,先设置子物体中心点位于父物体右上角,再选择其锚点位置在父物体右上角,接着归零子物体xtz值,同样子物体锚点和位置都在父物体的右上角。(当然选择锚点再按shift选择中心点之后再归零xyz也是同样的效果)
Anchor自适应设置:锚点时可以分开的,分开的锚点会适应覆盖区域内的缩放问题。例如子物体的锚点全覆盖到父物体的panel上,那么子物体高宽都会根据父物体缩放来缩放,也可以只让子物体针对特定区域来缩放。
Inspector面板debug模式下,Ui组件中的localposition指的是改组件的panel的几何中心点的坐标位置,anchoredposition该UI组件锚点的几何中心点。
获得UI宽高最安全的方式:
通过获得该UI的RectTransform下的rect属性中的width和height。
蓝图模式和原始编辑模式:
上图第一个圈起来的是RectTransform的蓝图模式,蓝图模式控制的是UI组件的Rotation和Scale,在该模式下,旋转UI和缩放UI,UI自身的panel是不受影响的,永远保持自身的比例。而第二个圈起来的原始编辑模式,是控制UI组件的锚点和中心点的,该模式下,放缩锚点其边也会随锚点方式一样放缩,而改变pivot的数值中心点是不动的,而会让Ui组件以中心点为基准进行移动。
Canvas的三种渲染模式:
screen space-overlay:该模式的canvas会让整个画布直接覆盖在屏幕上,不会显示后边的物体场景。
screen space-camera:该模式的Canvas是先放在camera的近切面进行渲染的,不会覆盖物体,会随摄像机的改变自动填充整个屏幕。
world space:该模式下camera会想一个3D物体来进行渲染。
unit单位与像素的关系:
在导入的图片视频中,都会有标注该资源像素多少,资源的inspector面板有pixels per unit,代表一单位包含多少像素。在Canvas的Canvas scaler中有reference pisxels per unit,表示一单位有多少像素。