Unity3D手游开发日记(6) - 适合移动平台的水深处理
2024-08-28 04:51:58
市面上大部分的手机游戏,水面都比较粗糙,也基本没发现谁做过水深的处理.
水深的处理在PC平台比较容易,因为很容易获得每个像素的深度,比如G-Buffer,有了像素的深度,就能计算出每个像素到水面的距离,实现水深alpha渐变.
但是在移动平台,又是万恶的浮点纹理...导致此方案不行.
但是方案都是人想出来的,我想了两种适合移动平台的方案
方案1:用水面顶点颜色保存alpha值来做水深渐变.
这种方案,要求水面的模型面片是格子的,就像地形网格一样,格子越密,alpha的精度才越高.
方案2:用贴图实现像素级的alpha深度.
这种方案,适合2个三角形面片的水面,对水面贴图有要求,一般的手游的场景比较小,512*512应该足够了.
我选择的是方案2. 因为我还要对水流方向做处理.
水流方向的处理和水深合并用一张flowmap来存储.
r ,g通道作为x, z方向,a作为alpha值.这样可实现像素级的流动方向和水深渐变.就可以做出漂亮的河流了.只有静态图:
最新文章
- POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
- MonoGame 3.2 下,截屏与 Texture2D 的保存
- Kafka简介
- 以全局监听的方式处理img的error事件
- SQL高级查询——50句查询(含答案)
- JDBC用ResultSet访问大量数据时会遇到的问题
- Android:AlertDialog对话框
- 实例源码--Android手机狗(防盗)源码
- 关于写blog这件事
- POJ 1062 昂贵的聘礼 解题报告
- 12个Icon图标资源网站
- checkbox全选、全不选实现
- 基于HTTP头部的注入
- [翻译] .NET Core 2.1 发布
- kettle Spoon.bat运行闪退
- 【转】解决Win7字体模糊不清晰的最佳办法
- python之递归锁【Rlock】
- C的Define
- 详解Tensorflow数据读取有三种方式(next_batch)
- MC34063A development aid