当前位置:网站首页>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
边栏推荐
- 【二叉树】二叉搜索树的后序遍历序列
- UnitTest中的Path must be within the project 问题
- leetcode 547.省份数量 并查集
- 从 Delta 2.0 开始聊聊我们需要怎样的数据湖
- 哈工大软件构造Lab3(2022)
- 3D Game Modeling Learning Route
- 报错:runtime error: reference binding to null pointer of type ‘std::vector<int, std::allocator<int>>‘
- 小分子PEG CAS:1352814-07-3生物素-PEG6-丙酸叔丁酯
- 陕西CAS:1244028-50-9_Biotin-PEG3-SCO-PPh3 固体
- FEMRL: A Framework for Large-Scale Privacy-Preserving Linkage of Patients’ Electronic Health Rec Paper Summary
猜你喜欢
随机推荐
idea汉化教程[通俗易懂]
【SemiDrive源码分析】【MailBox核间通信】51 - DCF_IPCC_Property实现原理分析 及 代码实战
Metasploit——渗透攻击模块(Exploit)
多线程与高并发(五)—— 源码解析 ReentrantLock
3D游戏建模学习路线
IIC通信协议总结[通俗易懂]
[教你做小游戏] 只用几行原生JS,写一个函数,播放音效、播放BGM、切换BGM
【二叉树】二叉搜索树的后序遍历序列
redis如何查看key的有效期
端口探测详解
血红素-金纳米颗粒(Heme-AuNP)复合纳米酶|金纳米颗粒核多孔空心碳纳米球壳([email protected])纳米酶
【无标题】基于Huffman和LZ77的GZIP压缩
[Go WebSocket] 你的第一个Go WebSocket服务: echo server
Public Key Retrieval is not allowed(不允许公钥检索)【解决办法】
WCF and TCP message communication practice, c # 】 【 realize group chat function
Common ports and services
从 GAN 到 WGAN
YOLOv3 SPP source analysis
常见端口及服务
Leetcode 200.岛屿数量 BFS