游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:554

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 276|回复: 3

[着色器] shader遮罩

[复制链接]  [移动端链接]
5熟悉之中
552/1000
排名
4538
昨日变化
1

4

主题

112

帖子

552

积分

Rank: 5Rank: 5

UID
14569
好友
0
蛮牛币
405
威望
0
注册时间
2014-2-17
在线时间
138 小时
最后登录
2018-9-9
发表于 2018-6-20 22:08:10 | 显示全部楼层 |阅读模式
50蛮牛币
类似于UGUI中Mask的遮罩效果,
实际操作类似于:创建一个Plane,在Plane下面挂好多子物体(Plane),子集超出父物体的部分不显示 2018_06_20_22_03.53.png


回复

使用道具 举报

3偶尔光临
215/300
排名
11515
昨日变化
6

0

主题

69

帖子

215

积分

Rank: 3Rank: 3Rank: 3

UID
163693
好友
0
蛮牛币
382
威望
0
注册时间
2016-8-23
在线时间
65 小时
最后登录
2018-7-29
发表于 2018-6-21 11:04:40 | 显示全部楼层
没写过,但是思路是有的
首先原理,裁剪这种东西只有在一个渲染平面上才好操作,也就是说,我先渲染一张图,然后裁剪,不能说我渲染好几个小图,然后分别裁剪
UGUI的裁剪也是这样做的,因为所有UI都是在一个画布上做的,而画布其实又是面片网格。所以其实所有UI可以理解为,渲染在几个面片(画布)上的模型。所以,他可以轻松实现裁剪。
你可以打开FrameDebuger看他遮罩的渲染,会先渲染所有图形,下一步再进行裁剪。
那回到问题,就需要你把这个Gameobject下的所有物体都渲染在一个平面上,简单的将方法就是Mesh合并,百度搜索 Unity Mesh合并,可以找到相关代码和教程。然后就简单了,写个shader,把你不要的部分去掉。比如用一个遮罩图根据alpha值裁剪  clip(alpha -0.1)

回复

使用道具 举报

6蛮牛粉丝
1102/1500
排名
3018
昨日变化
4

12

主题

148

帖子

1102

积分

Rank: 6Rank: 6Rank: 6

UID
83836
好友
4
蛮牛币
1264
威望
0
注册时间
2015-3-24
在线时间
390 小时
最后登录
2018-9-18
QQ
发表于 2018-7-30 19:10:58 | 显示全部楼层
深度测试Shader了解一下,UGUI 里面的Mask效果用的就是深度测试

回复

使用道具 举报

5熟悉之中
552/1000
排名
4538
昨日变化
1

4

主题

112

帖子

552

积分

Rank: 5Rank: 5

UID
14569
好友
0
蛮牛币
405
威望
0
注册时间
2014-2-17
在线时间
138 小时
最后登录
2018-9-9
 楼主| 发表于 2018-8-26 19:47:28 | 显示全部楼层
十一_11 发表于 2018-6-21 11:04
没写过,但是思路是有的
首先原理,裁剪这种东西只有在一个渲染平面上才好操作,也就是说,我先渲染一张图 ...

不会写啊Shader

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

站长推荐 上一条 /1 下一条

快速回复 返回顶部 返回列表