大家好,前段时间对UE4蓝图的做了一个浅显的研究,为了对引擎的全流程都做一个系统研究,这两周时间我一直在研究引擎的渲染功能,利用现成的素材,快速搭建场景,搭配UE4灯光系统,完成了一个案例,涵盖了基本的灯光,摄像机操作,因为客观因素,所有知识点在单位进行系统整理,回家后整理素材进行制作,所以断断续续时间花得比较长,如果正常制作的话,这个场景最多两天就可以搞定了!先看一下成品效果,如下

可以看到效果还说的过去,虽然还有一些瑕疵,但整体效果已经达到中上水准了(请忽略不专业的摄像机动画)

我们回到正题上,为什么现在越来越多的人开始使用引擎做视频,因为效率高,像这个场景,我几乎没有把时间花在模型贴图上,因为所有的素材都来自于SUBSTANCE的元素库,简单得介绍下SP素材库

以上部分材质

打开虚幻商城,右下角的插件安装好,打开你的工程文件后加载,你就能进入SUB的官网商店下载你要的素材了,SUB所提供的素材全部都是照片扫描级的模型贴图,效果非常逼真,你甚至不用去研究它的材质系统,就可以直接添加进你的场景中使用,当然素材不是免费的,但是作为聪明的中国人,你懂的。

下面罗列下这个场景所使用的素材库如下所示

可以看到SUB素材库的模型质量非常高,因为它们都是基于PBR流程做得材质,特别适合用来制作影视级别的视频

整个场景主要由石头,植物,水面构成,为了让场景有一些趣味性,构思上用石头形成一个洞门,这样可以把场景分割为二,这样最终视频在观看时就具有了一定的层次感,不会显得那么单调,但本人摄像机水平实在有限,不然效果上可以再做得具有冲击感和运动感,下面我将整个场景的流程做一个梳理

一、地形的雕刻

虽然说场景以水为主,但基础的地形还是必须创建的,这样水可以透下去看到水底的土石,另一方面,如果后续场景添加别的景致,也可以利用地形快速得刷上你需要的植被素材,这里我们创建一个3*3的地面,因为场景不要很大,如图

然后利用地形雕刻工具,对地形用笔刷进行绘制,这个操作完全看你自己的要求和感觉,没有强制性的规定!同时在绘制时,你也可以利用明度贴图进行更复杂的雕刻,如果需要可以联系我,雕刻完的效果如下

为了你们看的清楚,调为线框显示,标注出就是之后放河水的地方,稍微凹一点。

地形的材质需要建立层材质,这样后续我们在刷地形材质时就能随意切换,得到更加复杂的地面材质效果,这里需要基于扫描级别的分层贴图建立材质节点,然后再绘制菜单下选择不同的材质球进行绘制,如图

如图标注所示,这种随机的纹理显示,就是通过层材质实现的,而且可以通过笔刷任意修改区域和范围,这种操作模式比传统三维的层材质系统高效得不是一点点,真的叹为观止!

二、石材和植被

UE4在场景搭建的功能上真的太方便了,和地形一样,我们只要将需要的素材添加到笔刷库中,就能利用笔刷快速得将物体创建到场景中,这个过程就和画画一样,重点是你根本不用担心出错,因为随时可以替换,可以擦除,可以批量修改,对于大小,密度等都是可以自由调整的,具体的参数设置这里不做讲解,查询相关的官方帮助文档,说得很明白。重点是你的场景搭建得好不好看,这个需要你有一定的审美能力,同时必要的时候也可以去一些优秀的照片网站寻找参考。

下面我们将SUB库中的模型素材添加到笔刷中,如下所示

因为石头的摆放需要讲究角度和不同的大小,所以这里的石头我们还是手动创建,具体摆放和笔刷过程不做讲解,你可以看我的场景进行临摹也可以找别的参考临摹,这个没有难度。

我们看下最终调整后的完整场景,如图所示

怎么好看怎么玩,不讲究,考究一点就找些真实环境的照片临摹即可

三、灯光系统

UE4渲染场景,在灯光使用上基本包括天空光,天空球、反射球、大气效果、环境雾和后期盒子,常用的就这些,也足够你去渲染自然场景了

下面我罗列出这个场景主要的灯光设置

天空光,这个光源提供全局照明,类似三维软件中的光球,它不能提供明显的阴影角度,所以要搭配其他主光源使用

重要概念:灯光属性中的静态、固态、可移动,得到的光照效果会有不同,主要体现在阴影和间接照明上,可移动光源不能提供间接照明,只有静态和固定能有优质的间接照明

对比静态和移动在间接照明上的区别,如图所示

可以看到图一是可移动光源,它的光照效果下物体之间无法产生间接照明,阴影关系不强,画面较平,而图二是静态光源,能得到较为正确的阴影关系和间接照明

太阳光,作用是确定场景的光源方向,也是作为场景的主光源使用,一般情况下不需要调太复杂的参数,控制亮度和颜色即可,特定情况下也可以和天光联通,作为天空光的控制器实现场景白天到夜晚的变化过程,以后有机会再讲这块的运用把

大气效果,用来给场景添加景深和雾气,有时候也可以为场景添加天空色来使用

后期盒子,作用是对框选范围或区域单独调色,比如亮度,伽马值等等,有些人用它来做白平衡的调整,具体使用方法在UE官方有非常详细的说明,并且提供了伽马矫正的色彩条

一般在具有反射属性的物体周围添加,用来控制区域的反射强弱,在这个场景中,水是高反射媒介,我们需要用反射球将水的反射影响到周围的石头上,所以根据河水的长度,我们需要添加多个反射球来控制,如图

方如果感觉有点暗的话,可以再创建一个点光源来补充暗部,这些都是灵活运用的,做过三维软件的渲染,UE4中也可以关联一些规律的。

四、摄像机动画及渲染

要完成一个动态视频,所以需要给场景添加摄像机,然后调整摄像机动画,相机的创建可以再过场动画中添加主序列,如图

设置镜头数量和每个镜头的长度,点击创建后进入摄像机属性窗口,我们在摄像机的位移和旋转属性上进行关键帧的创建,你可以创建多个关键帧,这个操作和传统的三维软件是一样的

同样也可以进入曲线编辑窗口对曲线进行调整,非常方便

你打完摄像机动画后,我们就可以将图像进行输出,我们可以进入渲染设置面板进行相关设置,例如质量,帧速率,分辨率,渲染范围等吗,如图所示

点击采集样片,序列帧就可以输出了,这样我们就完成了整个场景的制作

总结:UE4的渲染优势主要体现在所见即所得,你在预览的情况下所看到的画面质量基本已经接近渲染效果了,只要你的显卡够好,这种实时计算就更快,还有就是体现在渲染的速度上,如果我们用传统三维软件来制作这个场景,庞大的模型量会大大降低渲染速度,优化后基本维持在20分钟一帧,采样打高后速度会成倍减慢,而UE4是基于GPU渲染,这个场景15秒的动画我只用了1分钟,是的!没错,就一分钟!虽然在质量上还是没有达到影视级别,但应付一般的项目绰绰有余了!

ue4 点击某一物体触发事件_UE4引擎——姜小白修炼记(三)相关推荐

  1. android点击手机返回键触发事件

    用户在点击手机的返回按钮时,默认是推出当前的activty, 击返回键,触发onKeyDown事件: @Override public boolean onKeyDown(int keyCode, K ...

  2. jquery实现点击某元素之外触发事件

    jq如何实现这个功能呢?其实也不难,大概思路就是,在document上面绑定一个事件,当用户触发document的事件时,判断一下目标元素是什么,然后再执行相应的操作就行了. <script&g ...

  3. [jQuery]点击某元素之外触发事件

    思路 1. 获取点击元素 2. 判断元素是否含有Class || 判断父级是否含有Class 不含有则执行事件 代码 $(document).bind('click', function(event) ...

  4. vue点击元素自身之外触发事件指令

    1注册指令 Vue.directive('clickoutside', {bind(el, binding) {function handler(e) {if (el.contains(e.targe ...

  5. echarts 点击地图画布空白处 触发事件

    点击画布 可以通过params.target是否为undefined判断是否点击到了空白处 let obj = document.getElementById('ElementID'); if (!o ...

  6. 小程序banner广告点击触发事件技术

    现如今,小程序是遍布各大平台(微信,QQ,百度,抖音...),随着小程序的增多,流量也显得越来越珍贵,买量的钱是越来越多,除去靠小程序业务营收的(如商城)和靠小程序服务营收的(外卖,服务等),很大部分 ...

  7. oracle 触发器的种类和触发事件

    触发器的种类和触发事件   触发器必须由事件才能触发.触发器的触发事件分可为3类,分别是DML事件.DDL事件和数据库事件.  每类事件包含若干个事件,如下所示.数据库的事件是具体的,在创建触发器时要 ...

  8. oracle触发器 触发事件,oracle 触发器的种类和触发事件

    oracle触发器的种类和触发事件,DML触发器,DDL事件触发器,替代触发器,查看触发器 触发器的种类和触发事件 触发器必须由事件才能触发.触发器的触发事件分可为3类,分别是DML事件.DDL事件和 ...

  9. Unity中,实现鼠标点击物体,触发事件

    对于UI,很容易能够实现鼠标点击,从而触发事件,但是对于游戏中的物体,则需要多进行一些操作. 原理很简单,就是由鼠标点击处发射线,与游戏物体发生碰撞,碰撞到的物体,就是你点击到的物体.具体操作如下: ...

  10. [unreal4入门系列之十四] 在UE4中添加碰撞触发事件

    一.在HUD中显示消息 1) 在MyHUD.h中定义一个结构来表示我们的消息: #pragma once #include "GameFramework/HUD.h" #inclu ...

最新文章

  1. springmvc的执行流程_springmvc执行流程
  2. Javascript let和const
  3. CS-- WebService、 windowsService
  4. errgroup 分析
  5. Eureka缓存机制
  6. Centos重置root密码
  7. php curl 417,PHP Curl 417 Expectation Failed解决办法
  8. IM云通信行业步入快车道,融云或将和Twilio一样实现资本上市
  9. 保留两位小数除法算式_小数除法计算题100道
  10. 【预测模型】基于天牛须算法BAS优化BP神经网络实现数据预测matlab代码
  11. JavaScript网页特效范例宝典pdf
  12. 华硕主板开机提示按F1怎么办?华硕主板开机提示按F1的解决方法
  13. python 爬虫 ip池维护思路
  14. MySQL时间函数总结
  15. Redis笔记基础篇:6分钟看完Redis的八种数据类型
  16. phpBB 2.06漏洞
  17. 关于微信公众号回复消息乱码的问题
  18. 条码标签编辑软件如何选择?
  19. 离线强化学习论文学习 Critic Regularized Regression
  20. 【学术素养】做学问,你必须脚踏实地,一步一步去寻找未知,没有捷径可走

热门文章

  1. 第一次学游泳技巧_初学者第一次下水需要注意哪些情况,新手学习游泳需要掌握什么技巧,适合的游泳装备有哪些...
  2. 【面试总结】涵盖1-3年Java程序员必须精通的面试技巧
  3. dns配置异常怎么修复_dns异常怎么修复【详细介绍】
  4. SAP 使用BDC的一些心得
  5. iOS描述文件(.mobileprovision)一键申请
  6. 移动硬盘无法访问设备未就绪资料找到的法子
  7. 高等数学笔记:留数法
  8. Python用 matplotlib 工具包来绘制世界地图
  9. python微信转账记录_python 处理微信对账单数据的实例代码
  10. 秦小明推荐书单+豆瓣金融TOP12 金融书籍