Unity海面效果——1、原理和元素构成分析

Unity引擎制作海面效果

大家好,我是阿赵。

某天晚上临睡觉前,突然很想做点什么,于是我做了个海面的效果。发现也用到了不少知识,所以就拿出来分享一下。不过这个效果的构成元素有点多,所以只能拆分成多篇文章来说明。

这一篇是一个总体的介绍,分析一下一个海面的效果用了多少元素去构成。

一、 环境的搭建

海面如果只是单纯的一个面片,效果会很单调,为了给海面有一个丰富的环境效果,我给它找了一个海岛的模型,然后找了一个天空盒,把它们放在一起:

小岛和天空盒只是一个陪衬,真正要处理的,还是中间的那个大面片

二、 菲涅尔水面反射

菲涅尔水是一个经常听到的名称,具体的意义是什么呢?

现实中水有反射和折射的现象。从不同的角度看水面,会看到不同的反射率,比如图中的水体,靠近的可以看到水底的砂石,远处的只能看到水面反射。

三、 水面的基本颜色和波纹

如果是清澈的水,按道理是没有颜色的。但我们看海水还是会呈现出颜色,主要的颜色来源是天空的蓝色的反射、海底的砂石颜色、海中的杂质的颜色。然后海水不是一片纯色的,因为海里面一般会有波浪,所以会有波浪的白色纹理。

四、 发线和高光

五、 深度相关的效果

这里我加了海平线的效果,还有岸边的水沫的效果,这些都是通过深度来计算的

六、 反射和折射

在我的这个例子里面,我是没有做反射和折射的。反射一般是用CubeMap模拟,比如我比较常用的Matcap算法。折射一般是需要用到GrabTexture,这个东西的消耗有点大。

七、 后处理

为了让整体更有氛围,加了一个bloom后处理效果,这样太阳和海岸线看起来就好看一些

相关推荐
努力长头发的程序猿38 分钟前
Unity使用ScriptableObject序列化资源
unity·游戏引擎
mxwin1 小时前
Unity Shader 手写基于 PBR 的 URP Lit Shader 核心光照计算
unity·游戏引擎·shader
小贺儿开发1 小时前
Unity3D 智能云端数字标牌系统
unity·阿里云·人机交互·视频·oss·广告·互动
魔士于安2 小时前
Unity windows 同步 异步 打开文件文件夹工具
游戏·unity·游戏引擎·贴图·模型
笑虾2 小时前
cocos2d-x lua 加载 Cocos Studio 导出的 csb
游戏引擎·lua·cocos2d
魔士于安2 小时前
unity lowpoly 风格 城市 建筑 道路 交通标志
游戏·unity·游戏引擎·贴图·模型
mxwin2 小时前
Unity GPU Shader 性能优化指南
unity·游戏引擎·shader
董董女友14 小时前
unity mcp 配置指南
unity·游戏引擎
垂葛酒肝汤19 小时前
Unity的可视化网格和文字标签
unity·游戏引擎
魔士于安20 小时前
Unity UI图片 复活节UI,卡通风格
游戏·ui·unity·游戏引擎·材质·贴图