【Unity】UGUI和特效混用如何让特效在固定区域内展示

【Unity】UGUI和特效混用如何让特效在固定区域内展示

使用场景

ugui上的一个scroll view里面,使用了特效,在滑动的时候,特效滑出scroll view的mask以外时,特效仍在ui上展示。期望当特效在scroll view里滑动时,根据scroll view的mask大小而隐藏特效展示。

实现

前提是特效能在ugui上展示,常用实现方式:所有的特效的Layer改成UI层级,放到ugui的界面上,在特效的父级上加组件SortingGroup,更改Order in Layer,使得特效的order比当前展示的ugui的canvas的order高即可。
特效Layer
特效组件
ugui canvas

更改所有需要受mask影响的特效的参数Masking为Visible Inside Mask,然后在ugui上和特效同级位置上创建一个空物体,空物体必须是transform,不能是RectTransform。并添加组件SpriteMask,为组件的属性Sprite加一个精灵图,不带透明度的图。调整物体的Scale大小,因为在canvas下,一般scale会被调的很大,在Scene视图下查看,这个空物体的大小即是特效可以展示的区域,超出区域特效不显示。
如果把特效的Masking属性改为Visible Outside Mask,则特效只会在区域外展示。
特效
层级
mask
effect

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值