[Unity3D] 记录一下ScrollView中粒子无法被Mask遮挡的问题解决过程

这篇具有很好参考价值的文章主要介绍了[Unity3D] 记录一下ScrollView中粒子无法被Mask遮挡的问题解决过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

项目解决问题1所使用的Shader链接:https://www.codenong.com/cs107033982/

问题1:以大厅为例,大厅的ScrollView中有多个图标,ScrollView中的Mask无法遮挡粒子特效。

解决思路:

1、粒子特效使用的Mobile/Particles/Additive(Shader)材质球不包含模板测试,添加模板测试后可以与普通Image一样被Mask遮挡,所以我们给粒子的材质球加上模板测试。
2、普通Image使用默认的材质球,该材质球模板测试通过需要令 Stencil ID = 1。所以给Mask和粒子添加的材质球中的 Stencil ID = 1。

模拟设置内容过程
Viewport初始状态
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0

3、为Mask中的图片添加模板测试 Stencil ID = 1, Stencil Comparision = 8, Stencil Operation = 2。

Viewport添加材质球后
0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0

4、为粒子添加模板测试 Stencil ID = 1, Stencil Comparision = 3,使得粒子或图片只有在背景数字等于1时才会显示。

左上角放入一个添加了材质的4 * 4的粒子

4 * 4的粒子添加材质球后
1 1 1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
与Mask合并后,只有√的区域才显示
0 0 0 0 0 0 0 0 0 0 0
0 0 √ √ 1 1 1 0 0 0 0
0 0 √ √ 1 1 1 0 0 0 0
0 0 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0

解决方式:

1、参照网上的方式,对Viewport中Mask图片使用MaskDefault材质球,对粒子特效使用MaskAdditive材质球。文章来源地址https://www.toymoban.com/news/detail-729838.html

问题2:使用以上方案解决Mask无法遮挡粒子特效的问题后,若2个界面的Scro

到了这里,关于[Unity3D] 记录一下ScrollView中粒子无法被Mask遮挡的问题解决过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)

    一、属性介绍 1、主面板Particle System (1)Duration:粒子发射周期 图中,5.00即在发射5秒后进入下一个粒子发射周期。若没有勾选Looping,则5秒后粒子会停止发射。 (2)Looping:粒子按照周期循环发射 让粒子发射时间循环起来,一直发射粒子。 (3)Prewarm:预热系统 开始播放粒

    2024年02月04日
    浏览(38)
  • 【Unity3D-01】 记录Unity3D调用外接摄像头

    最近想在Unity3D上调用一个摄像头,通过查找资料发现仙魁XAN和八哥快走开的博客符合我的想法,实现起来也不难就尝试了一下 2.1 在这个工程里新建Canvas 如下图所示 然后下设RawImage为载体 2.2 在Assets里面新建一个脚本命名为PlaneManager.cs 代码内容如下(参考八哥快走开的博客)

    2024年02月04日
    浏览(39)
  • 【Unity3D赛车游戏优化篇】【十】汽车粒子特效和引擎咆哮打造极速漂移

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity游戏demo – 😶‍🌫️版本: Unity2021 😶‍🌫️适合人群:Unity初学者进阶 😶‍🌫️学习目标:3D赛车游戏的基础制作 😶‍🌫️技能

    2024年02月09日
    浏览(45)
  • Unity3D 记录到日志

    记录日志是一个好习惯,方便我们在日常开发中出现问题快速排查。 把它放到Unity Project视图下,最好是建一个“Plugins”文件夹用来存放,在脚本中引用该类库。 下载链接:https://download.csdn.net/download/WenHuiJun_/87658498 原文: https://www.ngui.cc/el/1788499.html?action=onClick 注: 对于 “

    2024年01月21日
    浏览(43)
  • 【Unity3D日常BUG】Unity3D打包WEBGL平台运行出现无法解析gzip、构建压缩等问题

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 在Unity3D中打包WEBGL运行出现这样的错误: 具体分析: 1、无法解析xxx.gz文件 2、启用了构建压缩,但是

    2024年02月07日
    浏览(46)
  • Unity3D学习记录02——PloyBrush场景搭建

    首先在Window-Package Manager里面搜索Poly Brush,下载后将URP的Shader样例导入  导入后Asset文件夹下会有Sample的文件夹,在菜单栏 Tools-PolyBrush-PolyBrush Window 打开窗口 这个窗口最上面的五个,第一个是用来调整地形高低的,第二个是进行柔化场景的,第三个是调整颜色的, 第四个可以

    2024年02月08日
    浏览(33)
  • Unity打包错误:无法成功进行Unity3D应用程序打包

    在Unity开发过程中,有时候会遇到各种各样的错误。其中一个常见的问题是无法成功进行Unity3D应用程序的打包。本文将探讨可能导致此错误的几种常见情况,并提供相应的解决方案。 资源文件丢失或路径错误: 打包应用程序时,确保所有所需的资源文件都存在,并且路径设

    2024年01月16日
    浏览(34)
  • Unity3D学习记录03——Navigation智能导航地图烘焙

    首先还是在Package Manager中安装AI Navigation 接着选择我们场景的地面,右键,找到AI的NavMesh Surface,它会为我们的Ground添加一个叫NavMesh Surface的子物体 在Inspector窗口中可以看到它的详细的参数: 图中的R,H为你人物的参数,45°为你的人物可以爬行的最大角度 Agent Type里面可以改

    2024年02月08日
    浏览(35)
  • Unity3D学习记录01:URP渲染管线以及3D游戏场景设置

    以下内容所使用的版本均为Unity2022.3 先在 Window-Package Manager-Unity Registry 里面搜索添加Universal RP   Unity中,创建渲染管线的方式为Asset文件夹下右键 Create-Readering-URP Asset(with Universal Asset) 会创建以下两个Pipeline:  接着在图中的设置里添加这两个渲染管线(Project Setting在Edit窗口下

    2024年02月08日
    浏览(39)
  • 【Unity3D自学记录】开发PicoVR之获取手柄的方法

    获取手柄有两种方法,一种是XR的方法,一种是PicoSDK中的方法。 第一种,XR方法 第二种是PicoSDK中的方法

    2024年02月17日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包