「Scratch Card」是一款简单易用的资源包,让你能够快速创建刮刮卡!只需添加预制体、选择刮刮卡图片并设置几个参数即可。
使用「Scratch Card」,你可以在以下组件上实现刮擦效果:
MeshRenderer、
SpriteRenderer 和
Image。
该资源支持 标准渲染管线、URP 与
HDRP,同时兼容 旧版输入系统 (Input Manager)
和 新版输入系统 (Input System)。无需为刮擦添加碰撞体。
为了正常运行,「Scratch Card」需要以下条件:
首先,请备份你的项目。
然后通过 Package Manager 从 Unity 资产商店更新到最新版本(Windows -> Package Manager)。
本资源附带 API 变更对比列表,打开文件 v.2.0_API_Changes.pdf 即可查看。
另请参考此部分:从版本 1.x 升级到 2.x。
如果遇到任何问题或错误,请随时联系我,我很乐意提供帮助!
从路径 Assets/ScratchCard/Prefabs/ScratchCard.prefab 将预制体添加到场景中。你也可以在层级窗口中右键点击或通过菜单添加:GameObject -> Scratch Card -> ...:

「ScratchCard」预制体包含 ScratchCardManager 组件,该组件负责管理刮擦与擦除进度逻辑。下面是其参数介绍:
点击 按钮可设置刮擦对象的原始大小。
ScratchCardManager 管理 ScratchCard 和 EraseProgress 组件。 ScratchCard 创建 RenderTexture 并根据用户输入进行绘制。 EraseProgress 通过计算 ScratchCard RenderTexture 的平均红色通道值,获取刮擦进度。
从 2.0 版本开始,资源支持刮擦动画。刮擦动画是用于模拟刮擦操作的数据序列,可以手动创建或通过录制用户输入生成。
刮擦动画保存在 ScriptableObject 中,包含位置、压力和时间信息。
内置的刮擦动画位于路径:Assets/ScratchCard/ScratchAnimations/。
你可以使用内置动画或 创建新的动画。
要播放刮擦动画,请在带有 ScratchCardManager 的对象上添加 ScratchAnimator 组件,并在 Scratch Animation 字段中设置动画资源:

ScratchAnimator 会在播放模式中自动播放刮擦动画。
若不希望在开始时播放,可关闭 PlayOnStart,并通过代码进行控制。
要创建新的刮擦动画,请使用 Unity 菜单:Assets -> Create -> Scratch Card -> Scratch Animation:

刮擦动画可以通过在播放模式下重复用户操作录制,也可以手动创建。
创建 Scratch Animation ScriptableObject 后,
在带有 ScratchCardManager 的对象上添加 ScratchAnimationRecorder 组件,并选择一个动画资源:

进入播放模式后,用户操作将被 ScratchAnimationRecorder 写入 Scratch Animation ScriptableObject。
你也可以使用手动方式创建动画,通过 与 按钮添加数据:
示例:
注意:若 Scratch Space 为 UV,请使用 0~1 的坐标;若为 Texture,请使用纹理像素坐标。
以下部分详细介绍「Scratch Card」核心组件的公共字段、属性与方法。
如有任何问题、建议或创意,请随时联系我。
如果你需要技术支持,请提供发票号。信息越详细,我能提供的帮助就越高效。
邮箱:unitymedved@gmail.com