Unity基础知识—UGUI (一)
文章目录
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的列表,将流分成其组件类型
- Unity基础知识—UGUI 组件
- Unity基础知识—UGUI (四)
- Unity基础知识—UGUI (三)
- Unity基础知识—UGUI (二)
- 【 Unity GameObject类-0x01】GameObject类简介、Unity基础知识
- Unity基础知识学习笔记一
- 【Unity3D基础教程】给初学者看的Unity教程(六):理解Unity的新GUI系统(UGUI)
- 最近总结了很多C#以及Unity的基础知识,分享一下
- Unity基础知识学习笔记二
- ToLua SimpleFramework NGUI/UGUI基础知识[1]
- unity基础知识----unity界面菜单翻译
- Unity Shader入门学习(六)UnityShader 基础知识 数据类型 语义 调试
- Unity之项目知识基础
- unity中UGUI如何创建按钮动画(V客学院知识分享)
- [基础知识] Unity 应用程序的一些方法
- [置顶] unity关于图形学的基础知识-3D矩阵的变换(四)
- Unity 3D数学基础知识(上)
- unity基础知识大纲
- [置顶] unity中关于图形学的基础知识(一)
- 【Unity】6.1 Unity中的C#脚本基础知识