Unity水资源制作教程(带波浪)

本文介绍了如何在Unity中创建简单的水体资源,包括创建面板、编写脚本控制波浪效果和动态贴图,使水面呈现出飘荡和材质移动的效果。
摘要由CSDN通过智能技术生成

我们通常在Unity资源商店下载水资源,但也有些人想制作自己的水资源,现在教大家制作一个简单的水体资源,后续功能需要自己添加
首先创建一个面板,给他创建一个新的脚本,命名为:Water
 

public float 波浪高度 = 0.05f;
public float 波浪速度 = 1f;
public float 波长 = 1f;
public float 噪声缩放 = 0.1f;

private MeshFilter 网格过滤器;
private Vector3[] 原始顶点;
private Vector3[] 顶点;

private void Start()
{
    网格过滤器 = GetComponent<MeshFilter>();
    原始顶点 = 网格过滤器.mesh.vertices;
    顶点 = new Vector3[原始顶点.Length];
}

private void Update()
{
    更新波浪();
    更新网格();
}

private void 更新波浪()
{
    for (int i = 0; i < 顶点.Length; i++)
    {
        Vector3 顶点坐标 = 原始顶点[i];
        顶点坐标.y = Mathf.Sin((Time.time * 波浪速度 + (顶点坐标.x + 顶点坐标.z) / 波长)) * 波浪高度;
        顶点[i] = 顶点坐标;
    }
}

private void 更新网格()
{
    网格过滤器.mesh.vertices = 顶点;
    网格过滤器.mesh.RecalculateNormals();
    网格过滤器.mesh.RecalculateBounds();
    MeshCollider 网格碰撞器 = GetComponent<MeshCollider>();
    网格碰撞器.sharedMesh = null;
    网格碰撞器.sharedMesh = 网格过滤器.mesh;
}

 插入以上代码会发现面板开始荡漾起来

水资源图片可以上网查找

接下来配置贴图和发线贴图

按照我这种格式配置水面贴图

蓝色部分按照实际情况调色,红色部分我用了网上找的两个不同的水资源贴图,可以抠图也可以不抠图

这时候进入游戏会发现水能飘荡,贴图也配置正确,但是水面还是静态的,所以得在面板点击

添加组件,添加新的脚本,脚本的名字:WaterTex
粘贴以下代码:

 public float 速度 = 0.5f;

    private Renderer 渲染器;
    private Material 材质;
    private Vector2 偏移量;

    private void Start()
    {
        渲染器 = GetComponent<Renderer>();
        材质 = 渲染器.material;
        偏移量 = 材质.GetTextureOffset("_MainTex");
    }

    private void Update()
    {
        float 新偏移量X = 偏移量.x + 速度 * Time.deltaTime;
        float 新偏移量Y = 偏移量.y + 速度 * Time.deltaTime;
        if (新偏移量X > 1f)
            新偏移量X -= 1f;
        if (新偏移量Y > 1f)
            新偏移量Y -= 1f;
        偏移量.x = 新偏移量X;
        偏移量.y = 新偏移量Y;
        材质.SetTextureOffset("_MainTex", 偏移量);
    }

进入游戏之后会发现材质也跟着动起来了,最终效果

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Unity水资源插件是一款专门用于模拟和管理游戏中的水资源的工具。它提供了丰富的功能和功能,使开发者能够更加方便地创建逼真的体效果,增强游戏的视觉效果和沉浸感。 该插件具有以下特点和优点: 1. 模拟真实体:Unity水资源插件通过模拟真实的物理特性,实现了逼真的体效果,如波纹、反射、折射和流动等。它能够根据不同的参数和设置,让体表现得更加真实和生动。 2. 可定制性强:该插件提供了丰富的参数和选项,使开发者能够根据自己的需求和创意,对体效果进行个性化的定制。开发者可以自定义的颜色、波纹的大小和速度、反射和折射的强度等,以创造出独特的体效果。 3. 省时省力:Unity水资源插件提供了直观的图形界面和简单易用的工具,使开发者能够快速而轻松地创建和编辑体效果。它还支持实时预览和调整,开发者可以随时查看修改的效果,节省了大量的时间和精力。 4. 性能优化:尽管提供了高质量的体效果,该插件还针对性能进行了优化。它使用了一些优化技术和算法,以提高游戏的帧率和流畅度,使体效果在不影响游戏性能的情况下得到最佳呈现。 总而言之,Unity水资源插件是一个功能强大且易于使用的工具,可以帮助开发者创建逼真的体效果。它能够提高游戏的视觉质量和沉浸感,并为开发者节省时间和精力。无论是制作大型的游戏场景还是小型的池效果,该插件都能满足开发者的需求,为游戏来更好的体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值