Unity刮刮乐(橡皮擦)实现,简单方法。

一、效果展示

二、准备

一个图片背景和一个幕布背景

三、步骤

3.1 创建工程,新建文件夹,将提前准备的图片放入,并改为“精灵”模式。

3.2 将主相机Projection改为“Orthographic”。

3.3 在场景中新建“Sprite”命名"Bg",调整大小并将改好图片背景拖入。

3.4 同理在场景中新建“Sprite”命名"Cover",调整大小并将准备好的幕布图片拖入(可以调整一下它的透明度),这里记得将Mask Interaction设为"Visible Outside Mask"。

3.5 在场景中新建“Sprite Mask”,在Inspector的Sprite Mask组件下选择Unity自带的“圆图”,并调整大小(画笔大小)。

 3.6 新建文件夹命名“Prefabs”,将“Sprite Mask”拖入将其设置为预制体,并将原来在层级面板上的“Sprite Mask”删去。

 3.7 在层级面板上新建空物体,重命名为“Masks”(用来放置预制体“Sprite Mask”)。

3.8 新建脚本,名为MasksMove,代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MasksMove : MonoBehaviour
{
    public GameObject mask;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        pos.z = 0;
        if (Input.GetMouseButton(0))
        {
            Instantiate(mask, pos, Quaternion.identity, transform);
        }
    }
}

3.9 将脚本挂载在空物体“Masks”下,并将预制体“Sprite Mask”拖入到相应位置。

3.10 运行程序并完善。

四、原理及小结

该原理相当于遮罩,“Sprite Mask”可以显现出后面的背景,通过生成多个“Sprite Mask”来透出后面的背景,这里放一下参考视频:http://【(方法很糙)Sprite遮罩实现刮刮乐】 https://www.bilibili.com/video/BV1ha411Y7Uu/?share_source=copy_web&vd_source=4281d6d540d09de72d605d985059520a

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值