Unity 3D 海水的实现1 海水网格的生成 LOD优化海水

版本:unity 5.4.1  语言:C#

 

第九章是海水,整整用了70多页,但是并没有什么用,还是要自己去看代码揣摩其中的含义。

 

既然讲到海水,我就想认真的学一下,看看书上的实现过程,再网上找找海水的文章做一下汇总,一片的篇幅肯定是装不下的。我对水的实现是非常执着的,起因的话要说到Minecraft的Shadows Mod,这里就不展开了。

 

没有学到Shader是致命的硬伤,我在我的能力范围内能写多少是多少,对自己也是个挑战。

 

今天讲讲海水网格的实现,如果读过之前文章读者肯定知道使用代码如何生成网格,不清楚的同学可以去Minecraft核心渲染机制的简单实现那篇博客上看看,原理是一样的。

 

首先看看效果图吧:



生成了4片,每一片中有32*32的网格数量。

 

下面来看看代码,顺便一提书上实现了LOD,简单的来说就是如果你形成的海洋比较大的话,远处的海水面并不需要那么多网格,就减少远处网格的数量,在这边是个很好的案例:

public class Ocean : MonoBehaviour {

    // 一片区域网格横纵数量
    public int width = 32;
    public int height = 32;

    // 区域的数量和大小
    public int tiles = 2;
    public Vector3 size = new Vector3(150f, 1f, 150f);
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值