当前位置:   article > 正文

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

unity如何在区域标记

【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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/660289
推荐阅读
相关标签
  

闽ICP备14008679号