当前位置:网站首页>UE4 - 河流流体插件Fluid Flux
UE4 - 河流流体插件Fluid Flux
2022-08-10 19:07:00 【MoonChildInSky】
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
边栏推荐
- leetcode 84.柱状图中最大的矩形 单调栈应用
- spark学习笔记(九)——sparkSQL核心编程-DataFrame/DataSet/DF、DS、RDD三者之间的转换关系
- 铱钌合金/氧化铱仿生纳米酶|钯纳米酶|GMP-Pd纳米酶|金钯复合纳米酶|三元金属Pd-M-Ir纳米酶|中空金铂合金纳米笼核-多空二氧化硅壳纳米酶
- 电脑重装系统Win11格式化硬盘的详细方法
- Transferrin-modified vincristine-tetrandrine liposomes | transferrin-modified co-loaded paclitaxel and genistein liposomes (reagents)
- The servlet mapping path matching resolution
- 【无标题】基于Huffman和LZ77的GZIP压缩
- [Teach you how to make a small game] Write a function with only a few lines of native JS to play sound effects, play BGM, and switch BGM
- 巧用RoaringBitMap处理海量数据内存diff问题
- uni-app 数据上拉加载更多功能
猜你喜欢

巧用RoaringBitMap处理海量数据内存diff问题

几行深度学习代码设计包含功能位点的候选免疫原、酶活性位点、蛋白结合蛋白、金属配位蛋白

【Knowledge Sharing】What is SEI in the field of audio and video development?

基于TCP的聊天系统

Public Key Retrieval is not allowed(不允许公钥检索)【解决办法】

3D游戏建模学习路线

铁蛋白颗粒Tf包载多肽/凝集素/细胞色素C/超氧化物歧化酶/多柔比星(定制服务)

线性结构----链表

Solution for thread not gc-safe when Rider debugs ASP.NET Core

常见端口及服务
随机推荐
【自然语言处理】【向量表示】PairSupCon:用于句子表示的成对监督对比学习
测试/开发程序员值这么多钱么?“我“不会愿赌服输......
【无标题】基于Huffman和LZ77的GZIP压缩
「POJ 3666」Making the Grade 题解(两种做法)
血红素-金纳米颗粒(Heme-AuNP)复合纳米酶|金纳米颗粒核多孔空心碳纳米球壳([email protected])纳米酶
[教你做小游戏] 斗地主的手牌,如何布局?看25万粉游戏区UP主怎么说
30分钟使用百度EasyDL实现健康码/行程码智能识别
Today's bug, click on the bug that the Windows dynamic wallpaper disappears in the win10 taskbar, and no solution has been found yet.
We used 48h to co-create a web game: Dice Crush, to participate in international competitions
常见端口及服务
Hangdian Multi-School Seven 1003-Counting Stickmen (Combination Mathematics)
哈工大软件构造Lab3(2022)
whois information collection & corporate filing information
UnitTest中的Path must be within the project 问题
苹果字体查找
【知识分享】在音视频开发领域中SEI到底是个啥?
mysql踩坑----case when then用法
【luogu CF1534F2】Falling Sand (Hard Version)(性质)(dfs)(线段树 / 单调队列 / 贪心)
@Autowired注解 --required a single bean, but 2 were found出现的原因以及解决方法
2020 ICPC Shanghai Site G