Unity实战案例 2D小游戏HappyGlass(模拟水珠)

本案例素材和教程都来自Siki学院,十分感谢教程中的老师

本文仅作学习笔记分享交流,不作任何商业用途

预制体 

 在这个小案例中,水可以做成圆形但是带碰撞体,碰撞体比图形小一圈,顺便加上Trail renderer组件

 

材质

将碰撞材质的friction为0,bonciness可以按照需要修改

脚本 

生成水珠的脚本并不难, 只是需要创建大量实例化对象的时候,加一个携程函数不卡一些(事实上,水的预制体如果太小的话,还是会卡,所以可以对携程函数进一步的优化)

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

public class AboutWater : MonoBehaviour
{
    public GameObject water; 
    public int waterNumber;
    // Start is called before the first frame update
    void Start()
    {
        this.GetComponent<AudioSource>().Play();
        StartCoroutine(CreatWater());
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    private IEnumerator CreatWater()
    {
        for (int i = 0; i < waterNumber; i++)
        {
            Vector3 pos = new Vector3(Random.Range(transform.position.x-0.02f,
                transform.position.x + 0.02f),transform.position.y-0.3f,0);
           Instantiate(water,pos,Quaternion.identity,transform);
            yield return new WaitForSeconds(0.02f);

        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值