Unity3D 图形问题之怎样使用水?
怎样使用水?
注意:本页所述内容仅仅适用于台式机编辑器模式。
Unity 的标准资源和专业版标准资源包 (Standard Assets and Pro Standard Assets packages) 中包括数种水预设(包括所需的着色器、脚本和艺术资源)。
Unity 包括一个基本水效果,而 Unity 专业版则包括带实时反射和折射的水,两者都提供有白天和晚上分开的水预设。

白天的水反射效果(Unity 专业版)
白天的水反射/折射效果(Unity 专业版)
水设置
在大多数情况下。仅仅需将现有的一个预设 (Prefab) 放入场景其中(确认 已安装标准资源 (Standard Assets installed)):
- Unity 在标准资源 (Standard Assets)->水 (Water) 中有白天简单水 (Daylight Simple Water) 和夜间简单水 (Nighttime Simple Water) 两种。
- Unity 专业版在专业版标准资源 (Pro Standard Assets)->水 (Water) 中有白天水 (Daylight Water) 和夜间水 (Nighttime Water) 两种,可是还须要标准资源 (Standard Assets)->水 (Water) 中的一些资源。水模式(简单、反射、折射)可在检视器 (Inspector) 中设置。
预设使用椭圆形的网格表示水。假设须要使用一个不同的网格,最简单的方法是在水对象的网格过滤器 (Mesh Filter) 中更改:

从头開始创建水(高级)
Unity 中的简单水要求附加脚本到类似平面的网格中并使用水着色器:
- 拥实用于水的网格。应为平网格。水平方向。不须要 UV 坐标。
水游戏对象应使用水 (Water) 层 (layer),可在检视器 (Inspector) 中设置。
- 从标准资源 (Standard Assets)/水 (Water)/源 (Sources) 中将 WaterSimple 脚本附到对象中。
- 在材质中使用 FX/Water (simple) 着色器,或调整提供的水材质之中的一个(白天简单水 (Daylight Simple Water) 或夜间简单水 (Nighttime Simple Water))。
Unity 专业版中的反射/折射水要求用类似的步骤从头開始设置:
- 拥实用于水的网格。应为平网格,水平方向。不须要 UV 坐标。水游戏对象应使用水 (Water) 层 (layer),可在检视器 (Inspector) 中设置。
- 从专业版标准资源 (Standard Assets)/水 (Water)/源 (Sources) 中将 水 (Water) 脚本附到对象中。
- 水渲染模式可在检视器 (Inspector) 中设置:简单、反射或折射。
- 在材质中使用 FX/Water 着色器,或调整提供的水材质之中的一个(白天水 (Daylight Water) 或夜间水 (Nighttime Water))。
水材质的属性
这些属性用于反射与折射 (Reflective & Refractive) 水着色器中。大部分也用于简单水着色器。
| 波浪大小 (Wave scale) | 波浪法线贴图的比例。值越小,水波越大。 |
| 反射/折射扭曲度 (Reflection/refraction distort) | 波浪法线贴图扭曲的反射/折射量。 |
| 折射颜色 (Refraction color) | 折射时呈现的额外色调。 |
| 环境反射/折射 (Environment reflection/refraction) | 实时反射和折射渲染纹理。 |
| 法线贴图 (Normalmap) | 定义水波的形状。终于波效结合了两张法线贴图。每张以不同的方向、规模和速度滚动。
第二张法线贴图是第一张的一半大小。 |
| 波速 (Wave speed) | 第一张法线贴图(1 号和 2 号数字)与第二张法线贴图(3 号和 4 号数字)的滚动速度。 |
| 菲涅尔 (Fresnel) | 带 alpha 通道的纹理控制菲涅尔 (Fresnel) 效果。依据视角不同,反射与折射的可见度。 |
其余的属性在反射与折射着色器 (Reflective & Refractive shader) 中不会用到,但也要进行设置以免用户的显卡不支持,必须退回到较简单的着色器:
| 反射颜色 (Reflective color)/立方体和菲涅尔 (cube and Fresnel) | 依据视角定义水的颜色 (RGB) 和菲涅尔效果 (A) 的纹理。 |
| 地平线颜色 (Horizon color) | 地平线上水的颜色。(仅仅在简单水着色器中使用) |
| 后备纹理 (Fallback texture) | 假设太老旧的视频卡无法执行任一效果较好的着色器,在此种视频卡上用来代表水的纹理。 |
硬件支持
- 反射 + 折射水能够在支持像素着色器 2.0(GeForce FX 及更高版本号。Radeon 9500 及更高版本号。Intel 9xx)的图形卡上执行。旧图形卡上使用反射水。
- 反射水能够在支持像素着色器 1.4(GeForce FX 及更高版本号,Radeon 8500 及更高版本号,Intel 9xx)的图形卡上执行。旧图形卡上使用简单水。
- 简单水能够在不论什么机器上使用。硬件能力不同,所应用的细节级别就不同。
Unity3D 图形问题之怎样使用水?的更多相关文章
- Unity3D - 图形性能优化:优化着色器载入时间
Unity官方文档之"图形性能优化-优化着色器载入时间"的翻译,E文链接. Optimizing Shader Load Time 优化着色器载入时间 Shaders are sm ...
- Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本]
Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本] 2013-02-19 15:29:33 我来说两句 作者:nnsword 收藏 我要投稿 其中涉及,移动速度, ...
- Unity3D 图形优化
Unity3D 图形优化 例如DrawCall,我得到的是一些并不完全正确的信息,例如将N个纹理打包成一个图集,这个图集就只会产生一个DrawCall,如果不打成图集,那么就会有N个DrawCall. ...
- 实例教程Unity3D单例模式(一)通经常使使用方法
unity3d教程 中的单例模式通经常使使用方法 通经常使使用方法是在相关类增加GetInstance()的静态方法,检查实例是否存在.假设存在,则返回.假设不存在.则返回一个"须要用游戏元 ...
- Unity3D用户手册
Unity Manual 用户手册 Welcome to Unity. 欢迎使用Unity. Unity is made to empower users to create the best int ...
- 安装linux下面用来配置网络,防火墙,系统服务等设置的图形小工具Setup
Setup命令是linux下面用来配置网络,防火墙,系统服务等设置的图形小工具.使用起来非常方便简单,可是centos\redhat最小化安装之后发现setup命令工具用不了. 接下来介绍如何安装se ...
- 【转帖】Linux图形用户界面:KDE与GNOME的由来
Linux图形用户界面:KDE与GNOME的由来 置顶 2018年08月11日 15:51:25 hwpipixia 阅读数 4778 https://blog.csdn.net/u013895853 ...
- Unity3D学习笔记1——绘制一个三角形
目录 1. 绪论 2. 概述 3. 详论 3.1. 准备 3.2. 实现 3.3. 解析 3.3.1. 场景树对象 3.3.2. 绘制方法 4. 结果 1. 绪论 最近想学习一下Unity3d,无奈发 ...
- 分享数百个 HT 工业互联网 2D 3D 可视化应用案例
过去的 2018 年,我们认为是国内工业互联网可视化的元年,图扑软件作为在工业可视化领域的重度参与者,一线见证了众多 HTML5/Web 化.2D/3D 化的项目在工业界应用落地,我们觉得有必要在此分 ...
随机推荐
- 配置iptables,把80端口转到8080
在Linux的下面部署了tomcat,为了安全我们使用非root用户进行启动,但是在域名绑定时无法直接访问80端口号.众所周知,在unix下,非root用户不能监听1024以上的端口号,这个tomca ...
- jquery请求格式和返回类型 汇总
常规请求基本格式 1 [WebMethod] 2 public string SayHello(string name) 3 { 4 return "Hello " + name; ...
- Vue cmd命令操作
1.安装node(安装到电脑中,不同项目不需重复安装) 安装nodejs(如果不是在C:则需要配环境变量)2.打开cmd C:创建一个文件夹(名字不要用node) 1.进入该文件夹 2.node -v ...
- php 单文件上传
php 单文件上传 通过 PHP,可以把文件上传到服务器. 创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 请看下面这个供上传文件的 HTML 表单: Filename: 请留意如下有关此 ...
- 【互动问答分享】第18期决胜云计算大数据时代Spark亚太研究院公益大讲堂
Q1:Master和Driver的是同一个东西吗? 两者不是同一个东西,在Standalone模式下Master是用于集群资源管理和调度的,而Driver适用于指挥Worker上的Executor通过 ...
- owasp zap 安全审计工具 安装/拦截请求
1.安装 网址:https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project 步骤:安装包正常安装即可 2.使用: 来自:http:// ...
- Nmap——主机、端口扫描工具
nmap 其基本功能有三个,一是探测一组主机是否在线:其次是扫描主机端口,嗅探所提供的网络服务:还可以推断主机所用的操作系统 . 这是百度给的介绍:http://baike.baidu.com/lin ...
- vs2012将项目同步到github
http://www.cnblogs.com/SmallZL/p/3637613.html 大神作品,亲测可用
- codeforces Round #441 C Classroom Watch【枚举/注意起点】
C. time limit per test 1 second memory limit per test 512 megabytes input standard input output stan ...
- 模板—字符串—KMP(单模式串,单文本串)
模板—字符串—KMP(单模式串,单文本串) Code: #include <cstdio> #include <cstring> #include <algorithm& ...