UI特效应用Mask剪裁

2023-11-12

公司的特效做UI特效的时候,总喜欢一些奇奇怪怪的shader。
做滚动窗口的时候需要用Mask把多余位置遮住,如果里面有特效的话会像这样透出

在这里插入图片描述

修改shader 的代码,使其支持支持stencil,可以实现mask遮盖

加入下面的两段代码:
在这里插入图片描述


    _StencilComp("Stencil Comparison", Float) = 8
    _Stencil("Stencil ID", Float) = 0
    _StencilOp("Stencil Operation", Float) = 0
    _StencilWriteMask("Stencil Write Mask", Float) = 255
    _StencilReadMask("Stencil Read Mask", Float) = 255

    _ColorMask("Color Mask", Float) = 15

    [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip("Use Alpha Clip", Float) = 0
    Stencil
  {
    Ref[_Stencil]
    Comp[_StencilComp]
    Pass[_StencilOp]
    ReadMask[_StencilReadMask]
    WriteMask[_StencilWriteMask]
  }

结果入下:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UI特效应用Mask剪裁 的相关文章

  • 如何在SceneKit / ARKit中使用SCNTechnique创建“蒙面”传送门效果?

    我正在尝试了解如何将 SCNTechnique 与 Scenekit 结合使用 我试图创建的效果可以在 Unity 中轻松实现 方法是向两种材质添加自定义着色器 使具有 过滤 着色器的对象仅在通过其他着色器 门户 看到时才可见 我按照本教程
  • 着色器编译器如何工作?

    是否有人参考了有关着色器编译器 图形驱动程序编译器内部工作的特定文档和研究 编写普通的C编译器和编写着色器编译器没有太大区别 关于编写编译器的标准书籍是所谓的 龙书 http www amazon com Compilers Princip
  • 如何在 Unity Shader 中实现简单的高度图

    首先我要说的是我对着色器编程知之甚少 我这里的很多内容都是由在线资源和现有资产拼接而成的 我只需要知道如何将高度图正确集成到统一着色器中 它不必比标准 Unity 着色器更复杂 我无法使用标准着色器 因为我需要一个将多个纹理平铺在一起的着色
  • imageStore() 的问题 (OpenGL 4.3)

    我试图将一些数据从计算着色器输出到纹理 但 imageStore 似乎什么也没做 这是着色器 version 430 layout RGBA32F uniform image2D image layout local size x 1 lo
  • 修复 Nvidia 和 AMD 的 GLSL 着色器

    我在让 GLSL 着色器在 AMD 和 Nvidia 硬件上工作时遇到问题 我并不是在寻求修复特定着色器的帮助 而是寻求如何避免出现这些问题 是否可以检查着色器是否可以在 AMD Nvidia 驱动程序上编译 而无需在具有相应硬件的计算机上
  • 如何使用 ShaderModifier 更改 SCNGeometry 中特定三角形的颜色

    首先 在继续之前 我已经阅读了 SceneKit 使用纹理坐标在纹理上绘制 https stackoverflow com questions 26129111 ios8 scenekit painting on texture with
  • QML 将纹理应用于网格

    我正在尝试将图像纹理应用到 QML Qt 5 6 2 中的网格 我从示例 Shadow Map QML 开始 我想对 GroundPlane 进行纹理处理 材质和效果 qml 类应用于该 GroundPlane 网格 但我看不到如何应用图像
  • OpenGL ES - 在片段着色器中旋转纹理而不失真

    我正在使用 Android 的 GPUImage 库对位图应用一些效果 本质上 GPUImage接受位图并使用OpenGL ES 将1 x 1立方体渲染到位图大小的帧缓冲区中 用户可以编写自定义片段着色器来控制输出 我正在尝试编写一个片段着
  • Unity3D Sprite ...但是单面的?

    团结优秀Sprites Unity优秀的新精灵 http docs unity3d com ScriptReference Sprite html 除其他有价值的优点外 实际上是双面的 在 2D 或 3D 用例中 您可以翻转这些小混蛋 但仍
  • 着色器使立方体的边缘倾斜?

    这个问题涉及使用着色器 可能在 Unity3D 环境中 但 Metal 或 OpenGL 都可以 以在网格最小立方体上实现圆角边缘 我希望只使用 12 个三角形的简约网格立方体 然后通过着色器 使每个块的边缘 角 稍微倾斜 其实这样可以吗带
  • 使用 LibGDX 的法线贴图 GLSL

    我尝试使用 LibGDX 实现法线贴图 因此 当我在顶点着色器中计算漫反射和镜面反射颜色时 我得到了一些积极的结果 至少我这么认为 顶点着色器 attribute vec4 a position attribute vec2 a texCo
  • 我们可以在透明窗口上应用着色器吗

    I am looking to apply a particular shader to a transparent window for example on a live desktop I want to create a trans
  • 如何在 Unity 中创建一个可以显示由许多小图像组成的纹理的着色器

    所以我想做的是从 SQL 表加载卫星图像并将它们包裹在一个球体周围以创建一个地球仪 我知道我已经加载了所涵盖的图像 我只是不确定如何使我的着色器以正确的方向显示图像 我去了 Unity 论坛并查看了这段代码 https docs unity
  • OpenGL Phong 光照:镜面高光错误

    我的 OpenGL 中的 Phong 光照着色器似乎有一个奇怪的问题 镜面高光出现在对象的错误一侧 手头的问题 正如您所看到的 镜面高光出现在立方体的另一侧 从灯光的角度来看 也出现在立方体垂直边缘的角上 它应该只出现在最靠近灯光的一侧 立
  • 如何绘制存储在 SSBO 中的顶点?

    这是下面的一个问题OpenGL 和加载 读取 AoSoA 混合 SoA 格式的数据 https stackoverflow com questions 59616117 opengl and loading reading data in
  • 着色器:如何在不生成几何体的情况下绘制 3D 点顶点?

    我有一个 3D Webgl 场景 我正在使用Reglhttp regl party http regl party 这就是WebGL 所以我本质上是直接写 GLSL 这是一个游戏项目 我有一个 3D 位置数组 x y z 它们是子弹或射弹
  • 如何将shadershop公式转换成glsl

    我最近一直在学习着色器的一些基础知识 并且想出了一个很棒的视觉工具 着色器商店 http www cdglabs org Shadershop 但我无法将我在此站点中创建的公式转换为 glsl 一个简单的例子 我在此网站中创建了一个公式 我
  • 如何在 WebGL 中创建合适的圆角矩形?

    我试图实现答案这个问题 https stackoverflow com questions 43970170 bordered rounded rectangle in glsl但似乎有点问题 如果您打开他们的 ShaderToys 并尝试
  • Unity 后处理 PostProcessEffectRenderer 在编辑器中显示,但在构建中不显示

    将 PostProcessEffectRenderer 的实现添加到 Unity 后处理堆栈后 效果在 Unity 编辑器中完美运行 但不会在构建的游戏中显示 对构建质量的更改没有效果 使用针对 Windows x86 64 构建的最高质量
  • 使用 OpenGL 着色器进行数学计算 (C++)

    我有一个矩阵 例如 100x100 尺寸 我需要对每个元素进行计算 matrix i j tt 8 5例如 我有一个巨大的矩阵 我想使用 OpenGL 着色器来实现该算法 我想使用着色器 例如 uniform float val unifo

随机推荐

  • 技术至简-1:信源编码VS信道编码

    信源编码 用最精炼最简洁的语言文字表达最复杂的含义 目的是节省 纸张 信道编码 用啰嗦冗余的语言文字 注解表达简单的信息 目的是确保信息万无一失
  • Android databinding的接入使用与详解(一)

    一 介绍 DataBinding 是Google Android组件框架 管理view和data之间进行绑定 DataBinding主要管理数个布局文件 这样我们就不用去实例化layout的view 直接通过DataBindingUitl来
  • 软件测试须知基于PostMan的接口自动化测试

    临近年底 公司任务也不是很多 趁这个机会老大让我研究了一下PostMan的脚本自动化测试 作为一个前端开发 说实话 对于PostMan的操作 仅仅限于新建请求 gt 填写url地址和参数 gt send发送 然后看看返回值而已 事实上 Po
  • Python读取CSV文件,数值精度丢失

    Excel保存为csv以后 大数值的列 会把转换为科学计数法 而且后边几位都会被转为0 搞了很多方法 最后直接安装 openpyxl 组件 和 pandas 读取Excel文件就行了 data pd read excel C work 20
  • Search:Vscode 如何自定义Python代码高亮

    参考 白月黑羽的python教程网站 不太习惯Dark主题 然而又没有找到合适的Light Theme IDLE Shell的高亮倒是不错 可是VScode 的插件里没搜到 上网搜索 感谢B站up白月黑羽的分享 最终使用 Atom One
  • Unity3d FPS游戏之武器切换

    U3D武器系统切枪 多种武器切换教程 多种武器切换教程 我们要通过鼠标来实现切枪效果 我们要有几种思路 1 通过值来索引对应武器数组下标的值 然后生成 在切换武器的时候 先销毁当前的武器 在生成新武器 2 直接先全部生成 状态全部不激活 通
  • 144项大神级ppt制作技术

    1 两幅图片同时动作 PowerPoint的动画效果比较多 但图片只能一幅一幅地动作 如果你有两幅图片要一左一右或一上一下地向中间同时动作 可就麻烦了 其实办法还是有的 先安置好两幅图片的位置 选中它们 将之组合起来 成为 一张图片 接下来
  • ubuntu虚拟机变成只读文件系统的解决方法

    因非正常关机可能导致文件系统变为只读 1 先在windows系统里给硬盘 或虚拟机文件夹 去掉只读权限 2 可选项 搜索框输入cmd 以管理员身份运行 依次执行下面的命令 diskpart list disk 列出磁盘 select dis
  • python没基础能自学吗-需要自学python吗?大概多久能学会?

    以下内容针对有编程经历的同学 没有编程经历的建议跟着视频学习 我这准备了一套基础的python视频资料 需要的同学可以私信我 对于python这块有任何不懂的问题可以随时来问我 我对于学习方法 系统学习规划 提高学习效率这些知道一点 希望可
  • 【华为OD】

    华为OD试题注意事项 使用合适的编程语言 在华为OD机试中多数情况下使用C 或Java 按照题目要求进行编码 仔细阅读题目描述并理解要求 在编码前可以进行伪代码编写或画流程图有助于理解和排除逻辑错误 注意代码的规范性 注重代码的可读性和可维
  • nrm ls *(星号)不见了,修改了cls文件也没有用

    问题描述 在使用nrm切换源的时候 发现执行nrm ls命令后 原本的 号不见了 这样很难一眼看出当前使用的npm源 npm https registry npmjs org yarn https registry yarnpkg com
  • 电子元器件符号+实物图+命名规则(太全了,绝对收藏)

    电子电路中常用的器件包括 电阻器 含电位器 电容器 电感器 变压器 二极管 三极管 光电器件 电声器件 显示器件 晶闸管 可控硅 场效应晶体管 IGBT MOSFET 继电器与干簧管 开关 保险丝 晶振 连接器 各种传感器等 下面一起来看看
  • 兼莱宝分享:适合上班族空闲时间做的三种靠谱副业?

    只讲干货 不来虚的 作为一个有着4年自由写作经验的人 做过的兼职非常多 什么给人家做海报 写商业文案 做民宿体验师等等 都有尝试过 每一份工作的收入都是不一样的 今天只分享3种靠谱的副业 都是我自己做过并且有收益的副业 一 自媒体写作 很多
  • 每日学习:Idea和Eclipse中的一些常用快捷键

    1 删除光标所在行代码 idea快捷键 Ctrl X eclipse快捷键 Ctrl D 2 复制光标所在行代码 或者鼠标选中的代码 idea快捷键 Ctrl D eclipse快捷键 Ctrl Alt 上下键 3 切换代码大小写 idea
  • Nacos 中下线服务时报错:The Raft Group [naming_instance_metadata] did not find the Leader node;解决

    问题描述 因为某些特殊原因需要把nacos迁移到另一个版本的nacos 我迁的是nacos2 0 2版本 迁移完成后 Nacos注册中心有一个微服务有多台实例的时候 点击一个实例下线操作 报错 caused errCode 500 errM
  • easyExcel文件上传与下载

    目录 1 导入POM依赖 2 模板文件 3 实体类 4 前端页面 5 模板文件上传 Controller 6 文件下载 Controller 7 导出效果 1 导入POM依赖
  • linux常用命令总结

    find查找命令 find 位置 name 搜索的相关内容 eg find name aaa 查看当前位置以aaa开头的文件 查找文件得内容 grep r 关键字 路径 例如 grep r test data reports grep 查找
  • 如果代码已关联git仓库,但是想将代码提交到新的仓库,应该如何做?

    如果你已经将代码关联到了一个 Git 仓库 但是希望将代码提交到另一个远程仓库 可以按照以下步骤操作 打开命令行终端并导航到你的本地代码仓库 确保你当前在正确的分支上 你可以通过运行 git branch 命令来查看当前所在分支 如果需要切
  • 快速解决Android中的selinux权限问题

    关于selinux的详细资料 请查阅http blog csdn net innost article details 19299937 在Android开发的过程中 遇到关于selinux相关的东西 当时还一下子看不懂 现在好像有点眉目了
  • UI特效应用Mask剪裁

    公司的特效做UI特效的时候 总喜欢一些奇奇怪怪的shader 做滚动窗口的时候需要用Mask把多余位置遮住 如果里面有特效的话会像这样透出 修改shader 的代码 使其支持支持stencil 可以实现mask遮盖 加入下面的两段代码 St