UE4 Fade out Mesh

由于项目需要一个将场景慢慢淡入以及淡出的效果,所以就想了想实现思路。因为PBR光照模型是不支持透明物体的渲染的,所以UE4中的PBR材质在为Opaque时是无法改变透明度的,想来想去想不出解决方法,然后就找啊找找啊找,发现一种偷鸡摸狗的方法,为每个Mesh准备两种材质,一种透明,一种不透明,在需要的时候切换材质并调整透明度即可,不知还有木有更炫酷的解决方法,先记录一哈。
在这个项目中,我选择将这个功能做成一个Actor Component,这样需要这种效果的Mesh只需添加这个组件就能实现Fade Out Fade in的效果。下图为该组件的变量及函数:
ParentMesh:为获取组件被挂在到的Mesh。
Hidden:控制Mesh消失。
BaseMaterial:保存Mesh的原有材质。
FadeMaterial:Mesh Fade时的材质,指定为可编辑的,每个Mesh单独指定。
FadeMaterialDynamicInstance:Fade材质的动态实例。
FadeCurve:Mesh Fade时的控制曲线,可编辑。
CurrentFade:作为曲线的X输入,得到的值控制Fade时的透明度(即材质的透明度参数)。
FadeRate:Mesh Fade的速率。
IsStartHidden:Mesh的初始状态是否为隐藏。

Toggle Hide Mesh:当Hidden为true时,设为动态材质实例,并在tick中根据曲线修改透明度。


BeginPlay:初始化一些变量,生成动态材质实例,根据IsStartHidden来指定初始状态。

Tick:根据Hidden决定曲线中的X输入是递增还是递减,并且设置最大值最小值的限制,赋值给材质中的Fade参数,这种材质中的参数统一为Fade,最后判断CurrentFade为1而且Hidden为true时,设为原有材质。
用法:将组件挂在有Mesh的Actor中,设置曲线,Fade材质,FadeRate,及初始时是否隐藏。调用ToggleHideMesh,参数为true为隐藏,false为显示。
总结:要实现一个Mesh的Fade out需要准备两种材质,一种透明,一种不透明,在Fade Out的时候切换为透明材质,根据一个渐变的值赋值给材质的参数即可。
如果需要做出将挡住主角的Mesh Fade out只需要在主角和摄像机之间发出射线,将碰撞的物体加入一个数组,跟上一帧比较,将上一帧数组中不在这一帧数组的物体恢复原样,再把这一帧数组的物体Fade Out。
UE4 Fade out Mesh的更多相关文章
- UE4 Tutorial - Custom Mesh Component 用于绘制自定义网格的插件CustomMeshComponent
UE4 中用于绘制自定义网格的插件CustomMeshComponent. 转载: UE4 Tutorial - Custom Mesh Component Over the last few w ...
- [UE4]Set Skeletal Mesh,在蓝图中设置骨骼模型
- Houdini技术体系 基础管线(四) :Houdini驱动的UE4植被系统 上篇
背景 之前在<Houdini技术体系 过程化地形系统(一):Far Cry5的植被系统分析>一文中已经对AAA游戏中过程化植被的需求有了一定的定义,后续工作就是如何用Houdini开发功能 ...
- ue4 Skeletal Mesh编辑器
skeletal mesh:骨骼网络物体资源 由 美术制作(*.fbx). 在ue4可对此资源进行编辑以添加一些游戏需要的设置. https://docs.unrealengine.com/lates ...
- [UE4]如何替换角色Mesh上的Material材质
http://www.dawnarc.com/2016/10/ue4%E5%A6%82%E4%BD%95%E6%9B%BF%E6%8D%A2%E8%A7%92%E8%89%B2mesh%E4%B8%8 ...
- [UE4]Static Mesh的碰撞体
一.可以在3D建模的时候添加碰撞体,导入到UE4的时候,碰撞体也会跟着导入进来. 二.也可以在UE4中自行添加碰撞体 三.在UE4中添加编辑碰撞体 四.选择碰撞体可以移动.缩放.旋转碰撞体,如果模型比 ...
- [UE4]在Character中使用Add Spline Mesh Component,关于Transform.Mobility
一.因为Character是可移动的,因此也需要把Add Spline Mesh Component的Transform.Mobility设置为Movable 二.不然就会得到类似这样的提示.错误信息 ...
- [UE4]Spline Mesh Actor
作用: 1.按照Spline设置的轨迹,进行显示网格物体. 曲线模型 一.赋值Static Mesh,任意的Static Mesh都可以. 二.调整方向 三.Spline Mesh Actor有2个端 ...
- [UE4]虚幻4 spline组件、spline mesh组件的用法
最近公司项目需要,把这两个东东好好看了下.不得不说,这两个组件还是非常方便的,但是相关的介绍.教程却非常的少.它们概念模糊,用法奇特,我就总结下吧. 首先,先要明白spline component.s ...
随机推荐
- 1935: [Shoi2007]Tree 园丁的烦恼
1935: [Shoi2007]Tree 园丁的烦恼 Time Limit: 15 Sec Memory Limit: 357 MBSubmit: 648 Solved: 273[Submit][ ...
- PHP数据访问基础知识(20161028)
数据访问 动态页面的特征:能够读取数据库,网页的内容都是从数据库读出来的,而不是写死的 所有的程序归根结底都是对数据的增删改查 如何用服务器的PHP来操作服务器的MySQL,Apache则是用来管理, ...
- UML软件方法大纲
利用周末的时间读了潘加宇的<软件方法(上)>,希望梳理清楚UML的知识脉络: 工作流 子流程 内容 备注 建模和uml 利润=需求-设计 愿景 缺乏清晰.共享的愿景往往是项目失 ...
- “Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误 (转别人)
eclipse maven 在项目的pom.xml的<build></build>标签中加入: <plugins> <plugin> <group ...
- mac 下 wget 安装
1.下载 wget 压缩包,wget 下载地址:ftp://ftp.gnu.org/gnu/wget/ 2.make && make install 3.如果提示 permission ...
- windows python flask上传文件出现IOError: [Errno 13] Permission denied: 'E:\\git\\test\\static\\uploads'的解决方法
在浏览器中输入时,出现IOError: [Errno 13] Permission denied: 'E:\\git\\test\\static\\uploads' http://127.0.0.1: ...
- CSS.01 -- 选择器及相关的属性文本、文字、字体、颜色、
与html相比,Css支持更丰富的文档外观,Css可以为任何元素的文本和背景设置颜色:允许在任何元素外围设置边框:允许改变文本的大小,装饰(如下划线),间隔,甚至可以确定是否显示文本. 什么是CSS? ...
- pyqt样式表语法笔记(中)--原创
pyqt样式表语法笔记(中) pyqt QSS python 样式表 一.弹窗 在日常的各种桌面软件的使用中,我们都会碰到弹窗.例如注册,登录的时候,会有相应的信息弹窗,这里就以信息收集弹窗为例进行弹 ...
- python文件读写出现乱码总结
1.错误的打开方式 #coding=utf-8f = open("test.txt",'w+')f.write('Mars is slim,isn\'he? \n 火星教')pri ...
- 20. Valid Parentheses - 括号匹配验证
Description: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determin ...