您的位置:首页 > 移动开发 > Unity3D

Unity基础知识—UGUI (一)

2020-07-18 04:11 549 查看

文章目录

UGUI的公有组件 Rect Transform


Pos (X, Y, Z):矩形的枢轴点相对于锚点的位置
Width/Height:矩形的宽度和高度
Left, Top, Right, Bottom:矩形边缘相对于其锚点的位置,可以将其视为锚点定义的矩形内的填充
Anchors:矩形左下角和右上角的锚点
①Min:矩形左下角的锚点定义为父矩形大小的一部分,0,0对应于锚定到父级的左下角,而1,1对应于锚定到父级的右上角
②Max:矩形右上角的锚点定义为父矩形大小的一部分,0,0对应于锚定到父级的左下角,而1,1对应于锚定到父级的右上角
Pivot:矩形绕其旋转的瞄点的位置,定义为矩形本身大小的一部分,0,0对应于左下角,而1,1对应于右上角
Rotation:围绕X,Y和Z轴的对象围绕其枢轴点的旋转角度(以度为单位)
Scale:在X,Y和Z维度上的缩放比

属性

名称 作用
anchoredPosition 为矩形轴点(Pivot)与与锚点中心(Anchor)点之间的相对坐标,与父节点无关
anchoredPosition3D 为矩形轴点(Pivot)与与锚点中心(Anchor)点之间的相对坐标(3D坐标),与父节点无关
anchorMax
anchorMin 矩形左下角的锚点定义为父矩形大小的一部分,0,0对应于锚定到父级的左下角,而1,1对应于锚定到父级的右上角
offsetMax 父对象RectTransform中右上角锚定的规范化位置
offsetMin 父对象RectTransform中左下角锚定的规范化位置
pivot 在RectTransform中旋转的中心点
rect 矩形的位置(x,y)和长宽(width和height)
sizeDelta 如果锚点在一起,则sizeDelta与size相同。如果锚点位于父对象的四个角中的每个角落,则sizeDelta是矩形与其父对象相比要放大或缩小多少

方法

名称 作用
ForceUpdateRectTransforms 强制重新计算RectTransforms内部数据
GetLocalCorners(Vector3 [] fourCornersArray) fourCornersArray 角填充的数组,每个角均提供其局部空间值。返回的4个顶点的数组是顺时针方向。它从左下开始,然后旋转到左上,然后右上,最后到左下
GetWorldCorners(Vector3 [] fourCornersArray) 同上,不过获取的是世界空间中计算出矩形的角
SetInsetAndSizeFromParentEdge(RectTransform.Edge edge,float inset,float size) 设置此矩形相对于父矩形的指定边的距离,同时还设置其大小 edge 要从其插入的父矩形的边缘 inset 插入距离 size沿插图相同方向的矩形大小
SetSizeWithCurrentAnchors(RectTransform.Axis axis, float size) axis 沿其指定的轴 size沿指定轴的所需尺寸 。 使RectTransform计算的rect为指定轴上的给定大小

使UI跟随屏幕分辨率变化自适应

画布渲染器

属性

名称 作用
absoluteDepth 渲染器相对于根画布的深度
relativeDepth 相对于父画布的渲染器深度
cull 低消耗的界面显隐,bool值
hasMoved 如果发生任何会使生成的几何图形的位置无效的更改,则为True
hasPopInstruction 启用“渲染堆栈”弹出绘画调用。使用层次结构进行渲染时,渲染器可以插入“ pop”。渲染所有子级后,将执行pop指令。
hasRectClipping 如果已在此渲染器上启用了矩形裁剪,则为True
materialCount 此渲染器可用的材质数
popMaterialCount 此渲染器可用的内部遮罩材质数

方法

名称 作用
Clear 删除所有缓存的顶点
DisableRectClipping 禁用此CanvasRenderer的矩形裁剪
EnableRectClipping EnableRectClipping(Rect rect),在CanvasRendered上启用矩形裁剪。指定矩形外部的几何将被裁剪(不渲染)
GetAlpha 获取渲染器的当前Alpha
GetColor 获取渲染器的当前颜色
GetMaterial 获取分配给CanvasRenderer的当前Material
GetPopMaterial 获取分配给CanvasRenderer的当前Material。内部用于遮罩
SetAlpha(float alpha) 设置渲染器的Alpha。将与UIVertex alpha和Canvas alpha相乘
SetAlphaTexture(Texture texture) texture 要传递的纹理, 将在_AlphaTex属性下传递到着色器的Alpha纹理
SetColor(Color color) color 渲染器乘以颜色 设置渲染器的颜色。将与UIVertex颜色和Canvas颜色相乘
SetMaterial (Material material, int index) / (Material material, Texture texture) material 用于渲染的材料 ,texture 材质纹理覆盖 ,index材料索引 。 设置画布渲染器的材料。如果指定了纹理,则它将用作“ MainTex”而不是材质的“ MainTex”
SetMesh(Mesh mesh) 设置此渲染器使用的网格
SetPopMaterial (Material material, int index) 设置画布渲染器的材料,内部用于遮罩
SetTexture(Texture texture) 设置此渲染器的材质使用的纹理

静态方法

AddUIVertexStream(List verts, List positions, List colors, List uv0S, List uv1S, List normals, List tangents);
不知道干啥的,求告知
verts:要拆分的UIVertex列表
positions:顶点位置的目标列表
colors:顶点颜色的目标列表
uv0S:不清楚
uv1S:不清楚
normals:垂直法线的目标列表
tangents:顶点切线的目标列表

CreateUIVertexStream(List verts, List positions, List colors, List uv0S, List uv1S, List normals, List tangents, List indices)
将一组顶点组件转换为UIVertex流

SplitUIVertexStreams(List verts, List positions, List colors, List uv0S, List uv1S, List normals, List tangents, List indices)
给定UIVertex的列表,将流分成其组件类型

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: