内容:

*概述

*纹理文件

*基本颜色

*法线的设置

*标量参数和材质属性

*场景设置

*最终效果

概述

本教程由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中移动端水材质的设置的更多相关文章

  1. 如何将MagicaVoxel模型导入UE4中(2)

    前言 当可以把MagicaVoxel的静态模型导入到UE4后,我又开始不满足了.默认第三人称蓝图的"汽车碰撞人偶(雾)"与场景中的体素画风格格不入,于是,我便想着用自己建造的体素画 ...

  2. 使用虚幻引擎中的C++导论(二-UE4基类)

    使用虚幻引擎中的C++导论(二) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如果有不 ...

  3. 充分利用 UE4 中的噪声

    转自:https://www.unrealengine.com/zh-CN/blog/getting-the-most-out-of-noise-in-ue4 UE4 推出基于材质的程序式噪声已经有一 ...

  4. 虚幻UE4的后处理特效介绍 http://www.52vr.com/thread-31215-1-1.html

    转载 虚幻UE4提供了后处理特效的功能,可以实现景深,光溢出,色调调整,饱和度等等.要使用虚幻4的后处理,就一定要用到PostProcessVolumn,这是一种特殊的体积,可以放置在场景中的任何位置 ...

  5. 使用虚幻引擎中的C++导论(四-内存管理与垃圾回收)(终)

    使用虚幻引擎中的C++导论(四)(终) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如 ...

  6. 使用虚幻引擎中的C++导论(三-反射系统与迭代器)

    使用虚幻引擎中的C++导论(三) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如果有不 ...

  7. 3D游戏开发之在UE4中创建非玩家角色(NPC)

    接着上节我们继续学习,现在我们来创建一些NPC(non-playable characters,非玩家角色).在这个游戏中,当我们靠近NPC时,它们会做出相应的反应. 一 创建C++类 1) 在UE编 ...

  8. UE4中多种颜色轮廓线的后期处理

    转自:http://blog.csdn.net/pizi0475/article/details/50396277 随着近来虚幻引擎4的一些变化,渲染多种颜色的轮廓线已经可以实现了!通过自定义模板,类 ...

  9. UE4中资源加载资源的方式

    在UNITY中,我们加载资源一般是通过Resources.Load(path).即可完成.该方法返回的是Object类型.如果你想要的是材质或者贴图等等,只要价格类型转换的关键字就可以了例如 as M ...

随机推荐

  1. javascript . 04 匿名函数、递归、回调函数、对象、基于对象的javascript、状态和行为、New、This、构造函数/自定义对象、属性绑定、进制转换

    匿名函数:   没有名字的函数,函数整体加小括号不报错, 函数调用 : a:直接调用 (function (){函数体}) ( ) ; b:事件绑定 document.onlick = functio ...

  2. mysql的导入和导出

    MYSQL数据库导出 以root登录vps,执行以下命令导出. 1./usr/local/mysql/bin/mysqldump -u root -p123456 zhumaohai > /ho ...

  3. iOS9,10没有问题,iOS8上面一登录就崩溃,原因Assets的问题

    在项目中开发中,打包成一个ipa的包,发现iOS9,10,运行非常流畅,iOS8上面一运行就崩溃,找了好久,才找到原因竟然是Assets的问题,一开始我把ipa包放在蒲公英上面托管扫码下载的,用iTu ...

  4. ajax VS websocket

    一. ajax VS websocket总结 http://blog.csdn.net/qiuhuanmin/article/details/50719114 二.用Websocket代替Ajax来开 ...

  5. Python之路-Linux命令基础(2)

    作业一: 1)    新建用户natasha,uid为1000,gid为555,备注信息为"master" 2)    修改natasha用户的家目录为/Natasha 3)    ...

  6. This Handler class should be static or leaks might occur Android

    首先解释下这句话This Handler class should be static or leaks might occur,大致意思就是说:Handler类应该定义成静态类,否则可能导致内存泄露 ...

  7. 使用U盘安装ubuntu 12.04(使用大白菜u盘启动工具)

    家里有个u盘启动盘,用大白菜U盘工具做的. 1.把iso文件放到u盘里,把ISO文件中的casper目录下的vmlinuz和initrd拷贝到u盘根目录下: 2.修改启动顺序,选u盘启动: 3.启动时 ...

  8. python 语句:条件、循环、break、continue...

    1. 条件语句 执行条件:判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围. [Python程序语言指定任何非0和非空(null)值为true,0 或 ...

  9. layout_weight相关知识

    之前使用layout_weight都是在layout_width或layout_height为0dp的时候,都没出现什么问题,但是无意间看到了如果设为match_parent会出现不同效果记录一下. ...

  10. 1135: 零起点学算法42——多组测试数据(求和)IV

    1135: 零起点学算法42--多组测试数据(求和)IV Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted ...