赞
踩
Fluid Flux相关的一些笔记,归档发表;
可以模拟一定区域内的流体效果,由于使用顶视图所Capture的Heightfield信息,所以只支持室外开阔场景,不支持洞穴等室内场景:
整个项目由Blueprint配合C++编写,包括其中附带的一些工具;首先所需要激活的Plugin:
主要的使用方式是,首先用最核心的BP_FluxSimulation来计算模拟和规定流体所模拟的范围:
注意这个范围是一个体积框,是有高度值的:
然后是加入流体源相关Actor(BP_FluxModifierSourceActor)在模拟框内就可以看到运行后效果:
BP_FluxModifierSourceActor可以持续产生流体,相关参数是:
场景中BP_FluxModifierSourceActor模拟的任何一帧都可以使用相关Data Asset记录下来:
这个过程不用运行游戏,在Editor中的BP_FluxSimulation中模拟即可:
模拟到所需要的帧的时候,运行相关导出脚本,导出到相关Data Asset即可:
会自动生成Data Asset所需要的相关贴图:
可以把有烘焙数据的Data Asset加入到BP_FluxSimulation中,比如Initial State:
这样在运行的开始就有一个烘焙好的初始状态效果:
也可以在BP中直接调用烘焙Data:
需要修改水面的材质的话,相关的资源在Surface文件夹;要用到BP_FluxSurface_Water,放置其在场景中,用BP_FluxSimulation引用这个Actor:
水面的相关材质引用在BP_FluxSurface_Water中:
复制并修改这个相关材质的参数,再赋予给Actor即可:
还可以利用BP_FluxSurface_Water把模拟好的水面状态直接转为Static Mesh使用,在其被BP_FluxSimulation引用的情况下,可以在BP_FluxSurface_Water Actor参数下激活预览模式,预览被转换为Static Mesh后的状态:
然后在其相关的Component的参数栏中转换:
注意生成的新模型需要赋予其新的材质,使用一个水面的材质实例即可:
然后在BP_FluxSurface_Water中把相关模式切换为使用Mesh模式:
把Static Mesh赋予相关Component:
这样就直接可以在场景中使用Static Mesh代替特定的模拟结果了;
注意类似于BP_FluxSurface_Water的还有BP_FluxSurface_River等BP;
不用BP_FluxSimulation进行流体模拟的话,勾选Treat as Is Editor Only参数:
注意在BP_FluxSurface_Water中使用Static Mesh且BP_FluxSimulation又引用了这个BP_FluxSurface_Water Actor的时候,改变Treat as Is Editor Only参数可能会导致BUG,那就是Mesh的水面会产生错误(消失或效果出错),所以可以先断开其引用再来修改参数;
当然,也可以直接在场景中使用所生成的Static Mesh,但没有BP_FluxSurface_Water等BP的引用,那也就没有水面互动涟漪和水下效果等特性了;
注意假如只用单独的Statci Mesh,就不用勾选材质中的UseFluxState参数了;
官方文档:
https://www.youtube.com/watch?v=4SWe_DZshOw
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。