前言:
項目解決問題1所使用的Shader鏈接:https://www.codenong.com/cs107033982/
問題1:以大廳為例,大廳的ScrollView中有多個圖標,ScrollView中的Mask無法遮擋粒子特效。
解決思路:
1、粒子特效使用的Mobile/Particles/Additive(Shader)材質(zhì)球不包含模板測試,添加模板測試后可以與普通Image一樣被Mask遮擋,所以我們給粒子的材質(zhì)球加上模板測試。
2、普通Image使用默認的材質(zhì)球,該材質(zhì)球模板測試通過需要令 Stencil ID = 1。所以給Mask和粒子添加的材質(zhì)球中的 Stencil ID = 1。
模擬設置內(nèi)容過程
Viewport初始狀態(tài)
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添加材質(zhì)球后
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,使得粒子或圖片只有在背景數(shù)字等于1時才會顯示。
左上角放入一個添加了材質(zhì)的4 * 4的粒子文章來源:http://www.zghlxwxcb.cn/news/detail-729838.html
4 * 4的粒子添加材質(zhì)球后
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合并后,只有√的區(qū)域才顯示
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、參照網(wǎng)上的方式,對Viewport中Mask圖片使用MaskDefault材質(zhì)球,對粒子特效使用MaskAdditive材質(zhì)球。文章來源地址http://www.zghlxwxcb.cn/news/detail-729838.html
問題2:使用以上方案解決Mask無法遮擋粒子特效的問題后,若2個界面的Scro
到了這里,關于[Unity3D] 記錄一下ScrollView中粒子無法被Mask遮擋的問題解決過程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!