unity UI特效遮罩

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/**
 UI特效遮罩
1.需要将ScrollRect 的遮罩Mask 换为 2D Mask
 2.将特效的Render里面的   Masking  设置为
 */
public class UIParticleMaskControll : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    public void SetParticeMasking(GameObject go)
    {
        var pers = go.GetComponentsInChildren<ParticleSystemRenderer>();
        foreach (ParticleSystemRenderer item in pers)
        {
            item.maskInteraction = SpriteMaskInteraction.VisibleInsideMask;
        }
    }

    /// <summary>
    /// 设置遮罩范围
    /// </summary>
    public void SetMaskRect(float width,float height)
    {

        var xScale = width / 4 * 100;//像素转换  4指的是sprite的width
        var yScale = height / 4 * 100;//像素转换  4指的是sprite的height
        transform.localScale = new Vector3(xScale, yScale, 1);
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

ParticleSystemRenderer-maskInteraction - Unity 脚本 API

相关推荐
HELLOMILI10 分钟前
第四章:反射-Reflecting Your World《Unity Shaders and Effets Cookbook》
游戏·unity·游戏引擎·游戏程序·图形渲染·材质·着色器
虾球xz2 小时前
游戏引擎学习第146天
学习·ffmpeg·游戏引擎
小沙盒2 小时前
godot在_process()函数实现非阻塞延时触发逻辑
javascript·游戏引擎·godot
末零4 小时前
Unity 取色板
unity·游戏引擎
无敌最俊朗@5 小时前
Unity大型游戏开发全流程指南
unity·游戏引擎
虾米神探5 小时前
Unity InputField + ScrollRect实现微信聊天输入框功能
unity·游戏引擎
咩咩觉主6 小时前
C# &Unity 唐老狮 No.7 模拟面试题
开发语言·unity·c#
咩咩觉主7 小时前
Unity网络开发基础 (2) 网络协议基础
网络·unity·c#
Tatalaluola7 小时前
Unity实现在镜子间反射光柱
unity·c#·游戏引擎
ccloud1112 小时前
OpenGL实现场景编辑器
qt·游戏引擎