【Unity源码学习】遮罩:Mask 和 RectMask2D 学习

这篇具有很好参考价值的文章主要介绍了【Unity源码学习】遮罩:Mask 和 RectMask2D 学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

UGUI的裁切分为Mask和Mask2D两种

目录

  • Mask原理分析
  • RectMask2D原理分析
  • RectMask2D和Mask的性能区分

一、Mask原理分析

Mask:IMaskable,IMaterialModifier

我们先来看Mask。它可以给Mask指定一张裁切图裁切子元素。我们给Mask指定了一张圆形图片,那么子节点下的元素都会被裁切在这个圆形区域中。

【Unity源码学习】遮罩:Mask 和 RectMask2D 学习,游戏相关文章,unity,学习,游戏引擎,Mask,RectMask2D

Mask的实现原理:

1. Mask会赋予Image一个特殊的材质,这个材质会给Image的每个像素点进行标记,将标记结果存放在一个缓存内(这个缓存叫做 Stencil Buffer
2. 当子级UI进行渲染的时候会去检查这个 Stencil Buffer内的标记,如果当前覆盖的区域存在标记(即该区域在Image的覆盖范围内),进行渲染,否则不渲染

1.1 StencilBuffer

看起来好像挺简单的,那么背后的功臣——StencilBuffer,究竟是何方神圣呢?

简单来说,GPU文章来源地址https://www.toymoban.com/news/detail-525252.html

到了这里,关于【Unity源码学习】遮罩:Mask 和 RectMask2D 学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity实战100例】用户头像圆形遮罩使用Shader不用Mask组件

    目录 一.创建材质 二.创建Shader文件编写Shader代码 三.Image材质设置 源码:https://download.csdn.net/download/qq_37310110/88196529 前言:我们在使用Unity的自带组件Mask的时候会出现毛边现象很难处理掉,这里我们使用着色

    2024年02月19日
    浏览(40)
  • Unity 问题 之 UGUI 的 Mask 真机打包的遮罩效果失效问题的简单处理

    Unity 问题整理,自己整理的一些游戏开发遇到的问题做简单整理,方便游戏开发。 本节介绍,在使用 cardboard 做 XR 开发中,在使用 Mask  遮罩的时候,编辑器下 Mask 的 遮罩效果正常,但是运行到真机上,Mask 的遮罩效果却失效了,这里简单说明,如果你有更好的方法,欢迎留

    2024年02月15日
    浏览(43)
  • 【CocosCreator入门】CocosCreator组件 | Mask(遮罩)组件

              Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中Mask组件可用于创建如圆形、矩形和任意形状的遮罩效果,以限制节点显示的范围。这对于创建具有复杂布局的UI元素非常有用,例如只显示图片的一部分或控制文本显示的区域。         使

    2024年02月12日
    浏览(36)
  • Unity中实现2D遮罩

    一:前言 可以使用SpriteMask用作控制图形显示区域,SpriteRenderer用作显示图形,在SpriteRenderer中选择MaskInteraction遮罩类型 二:基础使用 创建一个空物体,添加SpriteMask组件,设置遮罩图片。创建一个空物体,添加SpriteRenderer组件用作显示图,设置SpriteRenderer的MaskInteraction遮罩类型

    2024年02月16日
    浏览(55)
  • 【Unity实战篇 】| 游戏中实现镂空遮罩效果【矩形、圆形镂空遮罩】

    前言 本文来写一下怎样在Unity中完成一个 镂空遮罩 的效果。 镂空遮罩 比较常用的有两种ÿ

    2024年02月15日
    浏览(75)
  • unity UI特效遮罩

    ParticleSystemRenderer-maskInteraction - Unity 脚本 API

    2024年01月19日
    浏览(41)
  • Unity 粒子特效遮罩(ParticleMask)

    1.需求: 游戏中粒子特效能实现非常好的效果,但是由于粒子特效是独立的系统,Unity自带的Mask普通的遮罩,遮不住粒子特效。 2.实现原理: 通过shader把超出范围的粒子纹理(Texture),改成透明颜色,以实现遮住粒子特效的功能。 3.关键Shader代码 4.效果演示: 5.接口易用性:

    2024年02月06日
    浏览(34)
  • Unity中Shader的遮罩的实现

    Unity中Shader的遮罩的实现 效果演示: 修改后的代码 效果:

    2024年02月06日
    浏览(37)
  • Unity Camera设置-Culling Mask

    参考文档:Unity中Camera参数—Culling Mask详解_-MCQ-的博客-CSDN博客_unity相机cullingmask 什么是Culling Mask?它是Camera的一个属性, 包含或忽略要由摄像机渲染的对象层。简单来说就是摄像机照射场景中哪些层级的物体。 理解起来比较简单,怎么动态赋值稍微麻烦一点,用过一次之后

    2024年02月15日
    浏览(44)
  • Unity关于新手引导中实现遮罩镂空效果

    在新手引导每一步中实现可以遮掉其他部分而显示当前需要点击的部分,只需要在每一步引导的时候设置对应的镂空区域的RectTransform.效果如下图: 代码:

    2024年01月20日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包