Unity 图片 涂抹/擦除/刮刮乐 效果展示 包含 Sprite, Image, Mesh的涂抹效果
Unity 2D图片 涂抹/擦除/刮刮乐 效果展示 包含 Sprite, Image, Mesh的涂抹效果
参数
progressText: 显示百分比的文本
maskImg: 需要擦除的图片
brush: 笔刷样式
案例
最新版完整插件下载地址:
https://download.csdn.net/download/qq_39162566/87408070
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
/// 擦除Demo
/// </summary>
public class Dear31ErasureDemo : MonoBehaviour
{[SerializeField] private Text progressText; //显示 当前擦除的进度[SerializeField] private Image maskImg; //遮罩图 待擦除的[SerializeField] private Texture brush; //笔刷的纹理private ScratchCardManager cardManager; //ScratchCardManager 负责ScratchCard的组件 擦除功能管理//需要在Awake中进行初始化操作//其实你放到Start里也一样。。。//但是最好Manager这类创建和实例化 放到 Awake里来做void Awake(){#region Initializevar prefab = Resources.Load<GameObject>( "Prefabs/ScratchCard" );if ( null == prefab ){throw new UnityException( "ScratchCard 预设文件找不到..." );}var instance = GameObject.Instantiate( prefab );if ( null == instance ){#if UNITY_EDITOR || ENABLE_LOGstring url = UnityEditor.AssetDatabase.GetAssetOrScenePath( prefab );Debug.LogError( $"ScratchCard 预设实例化失败:{url}", prefab );
#endifthrow new UnityException( "Prefabs/ScratchCard 预设实例化失败..." );}cardManager = instance.GetComponent<ScratchCardManager>();if( null == cardManager ){#if UNITY_EDITOR || ENABLE_LOGstring url = UnityEditor.AssetDatabase.GetAssetOrScenePath( prefab );Debug.LogError( $"ScratchCard 预设文件不包含ScratchCardManager组件:{url}", prefab );
#endifthrow new UnityException( "Prefabs/ScratchCard 预设文件不包含ScratchCardManager组件..." );}#endregioncardManager.Progress.OnProgress += OnScratchProgress;cardManager.Progress.OnCompleted += OnScratchCompleted;cardManager.RenderType = ScratchCardAsset.Core.ScratchCardRenderType.CanvasRenderer;cardManager.CanvasRendererCard = maskImg;cardManager.MainCamera = Camera.main;cardManager.BrushTexture = brush;}private void OnScratchProgress( float progress ){progressText.text = string.Format( "{0:P}", progress );}private void OnScratchCompleted( float progress ){cardManager.Progress.OnProgress -= OnScratchProgress;cardManager.Progress.OnCompleted -= OnScratchCompleted;progressText.text = string.Format( "{0:P}", progress );progressText.color = Color.green;}
}
Unity 图片 涂抹/擦除/刮刮乐 效果展示 包含 Sprite, Image, Mesh的涂抹效果相关推荐
- 博瑞ge 加装无线 carpaly方法和效果展示
博瑞ge 加装无线 carpaly方法和效果展示 吉利博瑞GE无线carplay效果展示
- 【Unity】刮刮乐效果(擦除图片像素值)
实现类似刮刮乐效果,擦除图片指定像素值(修改图片Alfa通道) 参考Unity刮刮乐工程源码的实现原理,对实现方式有一些调整 这里RawImage需要保持原图大小,不能缩放,不然坐标计算会有偏差 us ...
- Unity实现刮刮乐效果
Unity实现刮刮乐效果 本文转自:http://www.manew.com/thread-113128-1-1.html,请点击链接查看原文,尊重楼主版权. 网上看过了很多刮刮乐的文章,自己参考了一 ...
- unity实现抽奖刮刮乐效果
最终效果 代码部分 using DG.Tweening; using System; using System.Collections; using System.Collections.Generi ...
- 【你问我答】unity实现一个刮刮乐效果
文章目录 一.前言 二.原理 三.实操 1.安装环境 2. 渲染纹理RenderTexture 3.写脚本:ScratchUI.cs 4.ShaderGraph 5. UI制作 6.材质球 7.挂脚本 ...
- 刮刮乐html5效果擦除,利用HTML5的画布Canvas实现刮刮卡效果
先给大家展示效果: 你玩过刮刮卡么?一不小心可以中奖的那种.今天我给大家分享一个基于HTML5技术实现的刮刮卡效果,在PC上只需按住鼠标,在手机上你只需按住指头,轻轻刮去图层就可以模拟真实的刮奖效果. ...
- Unity 实现 (刮刮卡/刮刮乐) 效果
Unity 实现 (刮刮卡/刮刮乐) 效果 一款功能超级强大的挂卡插件, 可用于Mesh,Sprite以及UI,可以自定义笔刷,修改笔刷大小:可以设置填充模式(可刮,可填充),自带挂卡进度识别,性能超 ...
- 刮刮乐html5效果擦除,HTML5实现刮刮卡的效果
HTML5实现类似刮刮卡的功能 上面是最终实现刮刮卡效果 注意要点设置: 1.设置用户缩放:user-scalable=no|yes [java] view plaincopyprint? 2.禁止拖 ...
- 【自定义控件】Android仿刮刮乐|刮刮卡|橡皮擦效果
背景:需要实线一个类似刮刮乐的擦一擦效果,要求是在图片上覆盖半透明蒙层,蒙层支持手势擦除(类似橡皮擦). 思路:使用自定义View在onDraw时进行绘制,绘制模式选择混合模式(叠加变透明). 示例: ...
最新文章
- java静态链表_数据结构笔记:静态链表(C语言)
- 位操作符:位与、|位或、^异或、~求反、左移位、带符号右移位、无符号右移位...
- 专题 11 IPC之管道
- 需求规格说明书(SRS)特点
- python采用面向对象编程模式吗_在python中,面向对象还有用吗?
- Spring Boot整合Swagger3注解@ApiImplicitParam的allowMultiple属性
- android 重绘如何能不闪一下屏幕_前端性能优化之重绘和重排
- extentreports报告插件与testng集成(二)
- python 并行读取文件_python对文件进行并行计算初探(二)
- 其他电脑连接本地mysql数据库_在局域网内,如何让其他电脑连接我们自己的本地mysql数据库...
- 城市信息学其五-空间经济学、城市信息学、和交通便利
- 数字孪生-输电铁塔及线路的结冰、融化
- 笔记本摄像头频闪频灭
- 股票交易接口与各种路由器接口与连接方法
- 螺旋线的画法---matlab代码
- redis的压缩列表和跳表,看这一篇文章就够了
- 【Python】文件操作(创建 | 读写 | 保存 | 文件名)
- python3中的urllib.parse的常用方法
- MT9V034摄像头采集
- php session.cookie_path,php session和cookie使用说明