unity 模拟水下场景 水下冒泡

这篇博客介绍了如何在Unity 5.4中创建一个水下场景,包括使用预设的Water4Advanced资源包搭建水面,通过Box Collider创建触发器检测相机进入水下,应用Blur脚本实现水下模糊效果,以及添加气泡粒子系统来模拟水底冒泡。通过这些步骤,实现了逼真的水下视觉体验。

参考博文https://blog.youkuaiyun.com/u010989951/article/details/52768794

unity版本5.4(项目源码百度云
链接:https://pan.baidu.com/s/1vsh0S21V1GQNBwtzIfnUoQ
提取码:agat )

最终效果截图
在这里插入图片描述

首先,新建项目,导入Characters和Environment资源包,搭建地形场景(设置宽度高度为100,并把地形抬高50),用工具布置场景。(地形布置这里不细讲)

在这里插入图片描述
布置水面,在导入的Environment资源包里,将Water4Advanced拖入场景中,调整位置和大小
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

运行项目,此时水下是没有水底效果的,接下来做水底特效在这里插入图片描述

做一个触发器,检测相机是否进入水中。新建一个Cube,命名为IsTriggerCube 放大,cube比水下容量大一些就可以,Box Colleder 下勾选 Is Trigger(这里不勾选相机穿不过去),不勾选Mesh Renderer(取消渲染,就是不在场景中显示)。
在这里插入图片描述
导入Effects,里面有Blur脚本,下面要用到
在这里插入图片描述
删除原来的Main Camera
Blur(模糊视角)里面的Iterations和Blur Spread属性可自行调整。我是直接写在脚本里面了。

在这里插入图片描述

新建脚本underWater.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.ImageEffects;

public class underWater : MonoBehaviour
{
    public GameObject cm;//相机

    public GameObject checkObject;//角色

    private float blurspread = 0.3f;
    void Start()
    {
        RenderSettings.fog = false;//关闭 Fog
        cm.GetComponent<Blur>().enabled = false;//关闭Blur组件
    }

//当相机进入水中时开启Fog和Blur组件
    void OnTriggerStay(Collider col)
    {
        if (col.gameObject == checkObject)
        {
        	//开启相机上的Blur脚本,设置属性值(可以在可视化面板中设置属性值,这样在代码里就只用控制enable)
            cm.GetComponent<Blur>().enabled = true;
            cm.GetComponent<Blur>().iterations = 0;
            cm.GetComponent<Blur>().blurSpread = blurspread;
            
			//开启Fog(雾)
            RenderSettings.fog = true;
            RenderSettings.fogColor = new Color(0, 0.4f, 0.7f, 0.6f);//颜色浅蓝
            RenderSettings.fogDensity = 0.04f;
        }
    }
//离开水下时,关闭Blur和Fog
    void OnTriggerExit(Collider col)
    {
        if (col.gameObject == checkObject)
        {
            cm.GetComponent<Blur>().enabled = false;
            RenderSettings.fog = false;

        }
    }

}

在hierarchy中点击IsTriggerCube(之前创建的大Cube),添加underWater脚本在这里插入图片描述

运行项目,可以看到水下场景

在这里插入图片描述

接下来添加气泡,去Asset Store搜索bubble,找免费的-_-。我选的是第一个

在这里插入图片描述
导入后得到

在这里插入图片描述

在Hierarchy面板中右击添加Particle System,设置属性如图。

在这里插入图片描述

在这里插入图片描述再次,运行项目

在这里插入图片描述

(水下模糊)参考:https://blog.youkuaiyun.com/u010989951/article/details/52768794

评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值