虚幻UE4中移动端水材质的设置
内容:
*概述
*纹理文件
*基本颜色
*法线的设置
*标量参数和材质属性
*场景设置
*最终效果
概述
本教程由52VR翻译自unrealengine官方,在本教程中,我们将教您如何创建可以在移动设备上使用的实例化水资源。本教程是最新版本,支持只有在高端移动设备(如iPad Pro)才能进行的高品质移动端反射渲染功能。
**********请一定要下载本页面上的纹理文件**********
********还要确保您的项目设置>渲染(Rendering)>允许静态照明(Allow Static Lighting)已启用********
这对于确保反射能够正常工作非常重要。
纹理文件
文件下载:http://pan.baidu.com/s/1dF9sIkx
基本颜色
1.使用最高质量的移动设备/平板电脑创建新项目——空白蓝图项目。
2.导入从该页面的上述链接中下载并解压出两个纹理文件。
3.创建一个新的材质,并将上述两个纹理贴图拖入这个材质图里。
4.首先创建两个新的矢量参数来表示水域颜色——按住“V”键并点击材质蓝图中的空白位置。
5.现在将一个设置为较深的蓝色,另一个设置为较浅的蓝色。
6.按住“L”键在空白位置点击鼠标左键创建一个Lerp节点,并点击材质图,。
7.将深色连接到Lerp的“A”端口,将浅色连接到Lerp的“B”端口。
8.空白处点击右键并搜索菲涅尔(Fresnel)节点,并创建它。
9.将菲涅尔(Fresnel)输出连接到Lerp的Alpha端口,并将Lerp的输出节点链接到材质的基本颜色上。
10.按住“S”键在空白位置点击鼠标左键创建一个新的标量参数节点(命名菲涅尔指数)将其连接到exponentln节点用于控制菲涅尔的衰减。

法线的设置
1.接下来,按住“P”键在空白位置点击鼠标左键创建两个Panner节点。这主要用于使水看起来好像正在移动。
2.将两个Panner节点分别连接到两个法线贴图的UVs节点上。
3.将一个Panner的值设置为负值,并将另一个Panner设置为正值。根据速度X和速度Y坐标,我设置的是(-.04,-04)(。04,.04)
4.按住“U”键在空白位置点击鼠标左键创建一个TexCoord节点。
5.按住“M”键在空白位置点击鼠标左键创建两个新的乘法节点。这些将有助于在实例化材质时控制法线的大小/平铺效果。
6.创建两个新的标量参数。一个命名为大涟漪,一个命名为小涟漪。
7.将TexCoord连接到两个Multiply节点的“A”端口。
8.将大涟漪参数连接到一个Multiply的'B'端口,将小涟漪参数连接到另一个Multiple的'B'端口。
9.现在将大涟漪图与Panner的Coordinate节点相连,并将小涟漪与Panner的Coordinate节点相连。
10.创建一个新的Lerp,并将两个常规的纹理材质分别连接到A端口和B端口。
11.将此Lerp的输出口与材质的Normal(法线)端口连接。

标量参数和材质属性
1.现在创建三个新的标量参数。
2.分别命名为镜面,粗糙度和金属性,并将这些数据连接到相应位置。
3.在材质的“详细信息”选项卡中,确认已选中“移动”下拉菜单中的的“高质量反射”(High Quality Reflections)

场景设置
1.添加天空盒,将其移动性设置为“静态”
2.禁止“下半球是黑色”和“投影阴影”
3.添加方向光并设置移动性为“固定”
4.在场景中添加一个基本的球型物体。附上之前做的材质。
5.添加一个球形反射球,并将它放置在之前放入的球体周围以捕获反射。

最终效果
部署到高端移动设备时,您的设置的最终效果应如下图所示。

记住:我应用了实体化材质,并添加了一大堆参数,才获得了这样理想的效果。
(本文由52VR开发网白犀牛翻译,由UE技术工程师姜春雨审核校对)
转载请注明出处和明确的回链地址,否则保留追究责任。
虚幻UE4中移动端水材质的设置的更多相关文章
- 如何将MagicaVoxel模型导入UE4中(2)
前言 当可以把MagicaVoxel的静态模型导入到UE4后,我又开始不满足了.默认第三人称蓝图的"汽车碰撞人偶(雾)"与场景中的体素画风格格不入,于是,我便想着用自己建造的体素画 ...
- 使用虚幻引擎中的C++导论(二-UE4基类)
使用虚幻引擎中的C++导论(二) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如果有不 ...
- 充分利用 UE4 中的噪声
转自:https://www.unrealengine.com/zh-CN/blog/getting-the-most-out-of-noise-in-ue4 UE4 推出基于材质的程序式噪声已经有一 ...
- 虚幻UE4的后处理特效介绍 http://www.52vr.com/thread-31215-1-1.html
转载 虚幻UE4提供了后处理特效的功能,可以实现景深,光溢出,色调调整,饱和度等等.要使用虚幻4的后处理,就一定要用到PostProcessVolumn,这是一种特殊的体积,可以放置在场景中的任何位置 ...
- 使用虚幻引擎中的C++导论(四-内存管理与垃圾回收)(终)
使用虚幻引擎中的C++导论(四)(终) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如 ...
- 使用虚幻引擎中的C++导论(三-反射系统与迭代器)
使用虚幻引擎中的C++导论(三) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如果有不 ...
- 3D游戏开发之在UE4中创建非玩家角色(NPC)
接着上节我们继续学习,现在我们来创建一些NPC(non-playable characters,非玩家角色).在这个游戏中,当我们靠近NPC时,它们会做出相应的反应. 一 创建C++类 1) 在UE编 ...
- UE4中多种颜色轮廓线的后期处理
转自:http://blog.csdn.net/pizi0475/article/details/50396277 随着近来虚幻引擎4的一些变化,渲染多种颜色的轮廓线已经可以实现了!通过自定义模板,类 ...
- UE4中资源加载资源的方式
在UNITY中,我们加载资源一般是通过Resources.Load(path).即可完成.该方法返回的是Object类型.如果你想要的是材质或者贴图等等,只要价格类型转换的关键字就可以了例如 as M ...
随机推荐
- https单向认证和双向认证区别
关于证书 1.每个人都可以使用一些证书生成工具为自己的站点生成证书(比如jdk的keytool),大家称它为“自签名证书”,但是自己生成的证书是不被互联网承认的,所以浏览器会报安全提示,要求你手动安装 ...
- rem 结合 scss 移动端自适应 初级入门demo
首先说明 本篇 内容 适合初级使用 rem 开发移动端 自适应 公式计算 推导过程, 高手绕路. 目标尺寸 = rem * 根字体大小 Px = rem * (html根字体px) 根字体大 ...
- 用C写一个web服务器(二) I/O多路复用之epoll
.container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...
- Linux下python开发环境的准备
升级python 安装依赖: yum install lrzsz zlib zlib-devel openssl readline-deve gcc ibffi-devel python-dev ...
- 20155304 2016-2017-2 《Java程序设计》第五周学习总结
20155304 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 try catch JVM会先尝试执行try区块中的内容,若发生错误且与catch后 ...
- Java排序算法之直接选择排序
Java排序算法之直接选择排序 基本过程:假设一序列为R[0]~R[n-1],第一次用R[0]和R[1]~R[n-1]相比较,若小于R[0],则交换至R[0]位置上.第二次从R[1]~R[n-1]中选 ...
- 函数调用过程&生成器解释
摘自马哥解答,感谢. 函数调用过程: 假设程序是单进程,单执行流,在某一时刻,能运行的程序流只能有一个.但函数调用会打开新的执行上下文,因此,为了确保main函数可以恢复现场,在main函数调用其它函 ...
- JS中new的运行方式
---恢复内容开始--- 在JS中,有两个基础原型,分别是Function.prototype和Object.prototype.这两个原型组成了JS中的所有实例他们的关系是 Function.pro ...
- 填坑实录 Android Studio 利用 ADB WIFI 插件实现真机无线调试
总是用模拟器,小破本的渣内存无法承受,同时模拟器的版本大多停在4.4,无法体现Android 5.0.6.0 的版本特性,因此决定利用 Android Studio 的插件实现真机无线调试. 步骤如下 ...
- VS 2017开发ASP.NET Core Web应用过程中发现的一个重大Bug
今天试着用VS 2017去开发一个.net core项目,想着看看.net core的开发和MVC5开发有什么区别,然后从中发现了一个VS2017的Bug. 首先,我们新建项目,ASP.NET Cor ...