5.RayCast Padding:为了防止射线在Image边缘附近的空白区域(透明区域)击中Image组件,而进行的一个边距设置 6.Maskable:当Maskable属性设置为true时,Image组件将被遮罩(Mask)所影响,遮罩将限制图像的显示范围,使其仅在遮罩区域内可见。这通常用于实现裁剪或遮罩效果(注:仅对使用了Mask(遮罩)组件的情况有效) 7.Imag
在不改变图片的情况下,去改变图像就叫遮罩的作用,通过在父对象上加Mask组件就可以了 想要被遮罩的Image需要勾选Maskable 只要父对象添加了Mask组件,那么所有的UI子对象都会被遮罩 遮罩父对象图片的制作,不透明的地方显示,透明的地方被遮罩 模型和粒子UI之前 模型显示UI之前 方法一:直接用摄像机渲染3D物体 canvas的渲染...
Mask的实现思路: 与Image组件配合工作,根据Image的覆盖区域来定位显示范围,所有该Image的子级UI元素,超出此区域的部分会被隐藏(包括UI的交互事件) Mask的实现原理: Mask会赋予Image一个特殊的材质,这个材质会给Image的每个像素点进行标记,将标记结果存放在一个缓存内(这个缓存叫做 Stencil Buffer) 当子级UI进行渲染的...
[AddComponentMenu("UI/Custom/Maskable Image")] public class MaskableImage : ThorImage { private static readonly Vector4 s_DefaultTangent = new Vector4(1.0f, 0.0f, 0.0f, -1.0f); private static readonly Vector3 s_DefaultNormal = Vector3.back; protected override void GenerateSimpleSprite(VertexH...
比如Image和Text就是间接继承于Graphic的。Graphic定义了一个materialForRendering属性。它表示传递给CanvasRenderer,实际被用于渲染的材质。从这个属性的get访问器可以发现,在获取最终被用于渲染的材质时,会先依次调用这个GameObject上所有实现了IMaterialModifier接口组件的GetModifiedMaterial方法来修改最后返回的材质。
public Image image; public RectTransform maskRect; void Start() { image.maskable = true; image.rectTransform.SetParent(maskRect, false); } } 手动合并DrawCall 如果以上方法无法减少DrawCall的数量,我们还可以手动合并DrawCall。手动合并DrawCall的思路是将多个UI元素绘制到同一个纹理上,然后将这个纹理作为一个...
MaskableGraphic是Unity中多种UI组件的父类,比如Image、Text等。Untiy官网中关于MaskableGraphic的介绍也不多: A Graphic that is capable of being masked out. 一个可以遮盖的图形 1.关键属性maskable,当它等于false代表不可遮掩,等于true代表可以被其他组件遮盖。
using UnityEngine; using UnityEngine.UI; public class ImageMask : MonoBehaviour { public Image image; public RectTransform maskRect; void Start() { image.maskable = true; image.rectTransform.SetParent(maskRect, false); } } 手动合并DrawCall ...
描述 显示UI 系统的Sprite。 静态变量 defaultETC1GraphicMaterial默认 Canvas Ericsson 纹理压缩 1 (ETC1) 和 Alpha 材质的缓存。 变量 alphaHitTestMinimumThreshold此 Alpha 阈值指定要将事件视为图像“碰撞”时像素必须具有的最小 Alpha 值。 fillAmount当 Image.type 设置为 Image.Type.Filled 时显示的图像数量...
Image 组件可以在 Source Image 属性选择想要显示的图片, Color 调整颜色和不透明度, Raycast Target 控制是否要接收点击事件, Maskable 控制是否被遮罩裁剪。 Text 组件主要填写 Text 属性的内容, 修改Font 字体,Font Size 字体大小,Alignment 对齐方式。