本案例素材和教程都来自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);

        }
    }
}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部