Vellum —— Fluid

2023-12-10 06:28
文章标签 vellum fluid

本文主要是介绍Vellum —— Fluid,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

Vellum fluids setups

Fluid tips and troubleshooting

Fluid phases

Vellum fluids and soft bodies

Vellum fluid vs FLIP fluid


Vellum fluids setups

        Vellum fluid solver是基于粒子流体的解算框架,被完全集成到了Vellum动力学系统(可与grain/cloth/soft body交互,hair目前不支持);可解析多种材质模拟,如沙子被水冲走,布料对雨滴反应;与FLIP对比,Vellum fluid不受区域限制,粒子可自由移动,且可被约束连接;

        物理属性(如Density、Viscosity、Surface Tension)可被用于模拟不同材质,如水、石油、蜂蜜;表面张力控制流体收缩并生成水滴的趋势;可通过工具架,手动DOP或SOP;

通常,fluid子步为10,grain子步为5,子步不要超过20(fluid/grain会rigid,约束迭代的原因);

使用Python表达式控制参数,如:

activate = 0if (frame() > 4 and frame() < 11):activate = 1elif (frame() > 20 and frame() < 25):activate = 1return activate

Fluid tips and troubleshooting

Optimize solver settings

  • substeps至少为5,对高Viscosity、Surface Tension建议使用10~20;
  • 对纯fluid,可减低Constraint iterations到20,Smoothing Iterations为0;
  • 对在fluid与其他类型(如grain、softbody、cloth),更多的子步及更少的迭代;
    • 好的开始,如substeps 10,constraint iterations 20,smoothing iterations 5;

Fix disappearing particles in fluid-grains simulations

  • 关闭 Advanced ▸ OpenCL Neighbor Search

Work with friction

  • friction 对应解算器的Static Threshold参数;
  • dynamic friction 对应解算器的Dynamic Scale参数;

Improve fluid-grains interaction

  • Repulsion Weight 低值(<0.1)可提升fluid与grain的交互;
  • Repulsion Weight 高值会使fluid与grain很难融合;

Simulate multi-phase fluids

  • phase相等,但不同的Viscosity、Surface Tension会在接触的区域粘连在一起;
  • 不同phase,但相同Viscosity会像没有摩擦的交互;
  • 不同phase,Viscosity、Surface Tension会更加分离且很难粘连;

Fix problems with low density fluids

  • 但density非常低(<10),fluid会不稳定,density值相差太高粒子可能会爆开(如100和20000),即使高子步也不能修复;

Decrease simulation time with high-viscosity fluids

  • 高Viscosity会使解算非常慢,可增加dvisc属性;

Avoid terracing

  • 如有分层或阶梯状,勾选Dither Surface

Get splashier Vellum fluids

  • 默认加速度是被限制的,避免粒子爆开,要更飞溅的粒子调整Max Acceleratio
  • 飞溅的粒子量不够,调整particle size以增加粒子;

Make particles match the sourcing object

  • Packing Density 可使用粒子更加匹配模型,通常是1.5~2;
  • 对Grain,Packing Density 不应超过1;

Delete stray particles

  • 但碰撞或高加速,常会产生杂乱的粒子,POP Kill节点可去除;

Fluid phases

        对phase,解算器会独立解算Viscosity、Surface Tension以模拟不同流体类型;仅对fluid有效,不能结合grain和water;

  • phase相等,但不同的Viscosity、Surface Tension会在接触的区域粘连在一起;
  • 不同phase,但相同Viscosity会像没有摩擦的交互;
  • 不同phase,Viscosity、Surface Tension会更加分离且很难粘连;

Vellum fluids and soft bodies

        Vellum的主要强项就是交互,不同vellum材质可在同一框架下解算,grain可变形softbody,cloth对water或rigid产生反应,不同fluid的物体设置可正确的交互;可使用POP Kill节点删除飞溅的粒子;

        surfacing是一个非常独立的过程,可能需要一些时间才能满意;最大的问题就是抖动,特别是在慢动作时,另一个原因是polygon数量不足;particle fluid surface的particle separation至少应该多余vellum fluid的particle separation,还有尽可能多的保持粒子(高influence scale);

Vellum fluid vs FLIP fluid

        此两种类型的流体是完全不同的解算器,也不可互相交互;在设置、模拟、及与其他对象交互方向存在一些基本的差异;

Vellum FluidsFLIP Fluids
Particle-based,具有约束;Cell-based,具有场信息;
更多粒子即更多fluid,增加体积;更多粒子不会增加体积,仅标记cell和场信息;
无流体框,可能有杂乱粒子;有流体框,框外的粒子不被考虑;
主要用于小场景;可输出场和surface信息,可用于创建二次效果(foam, spray, mist)
常要求更高的子步(对于低粘度和张力是5~10)子步常为1~2,对快速流动的FLIP碰撞可能需要提高精度;
使用固定的子步;使用自适应的子步;
高黏性通常要求高子步,避免不稳定;高黏性或低移动常要求高子步;
支持多种材质模拟,与其他vellum对象交互;仅与碰撞对象交互;
不支持空气压缩;支持空气压缩以创建气泡;
可与vellum brush工具兼容;无brush工具;
不可分布;DOP FLIP可在多台机器上分布式解算;
支持multi-phase;支持multi-phase;
无ID、age属性;有ID、age属性;
无Narrow band;有Narrow band加速;

这篇关于Vellum —— Fluid的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476265

相关文章

复现百度云智实验出的bug:使用paddle的fluid出现please use fluid.metrics.EditDistance instead.报错问题

最近看了百度云智学院的OCR的实验,简直不能更坑,以后还是好好在github上或者CSDN上搜搜案例来实践,商业公司的即使是BAT的也糟糕透了,英文不好不然就去微软的学学。 百度的车牌识别: http://abcxueyuan.cloud.baidu.com/newlab/#/lab_detail/lab_exp_book?id=121 学习流程: 实验目录: 用paddlepaddle框架搭

Paddle使用问题No module named ‘paddle.fluid’

这是Paddle版本的问题,从飞桨框架 2.5 版本开始,已经废弃了 paddle.fluid 。 ​解决方案:修改paddle版本   pip install paddlepaddle==2.4.0

QML:Fluid Elements

//Fluid Elements //动画: //animation.qml import QtQuick 2.0 Image{ source: "assets/background.png" Image{ x: 40; y: 80 source: "assets/rocket.png" NumberAnimatio

Vellum —— SOP|Nodes

目录 Vellum Attach Constraints —— 交互式编辑或创建新的attach或stitch约束 Vellum Attach to Geometry —— 创建attach约束 Vellum Brush —— 在视口交互式绘制几何体 Vellum Reference Frame —— 绑定点到参照系 Vellum Rest Blend —— 融合当前约束状态和指定约束状

阿里集团基于 Fluid+JindoCache 加速大模型训练的实践

作者:王涛(扬礼) 陈裘凯(求索) 徐之浩(东伝) 一、背景 时间步入了 2024 年,新的技术趋势,如大模型/AIGC/多模态等技术,已经开始与实际业务相结合,并开始生产落地。这些新的技术趋势不仅提高了算力的需求,也给底层基础设施带来了更大的挑战。 在计算方面,以 GPU 和 FPGA 等异构硬件为例,他们通过短周期的迭代和演进来适应不断变化的需求。阿里集团通过统一调度

【报错处理】ModuleNotFoundError: No module named ‘paddle.fluid‘

引言  在使用 UIE(统一信息提取)模型时,您可能会遇到错误消息 "ModuleNotFoundError: No module named 'paddle.fluid'"。这个错误可能让人沮丧,但通常很容易解决。在本博客文章中,我将为您介绍解决此问题。 一、理解错误 错误消息 "ModuleNotFoundError: No module named 'paddle.fluid'" 通常

Fluid 助力阿里云 Serverless 容器极致提速

背景 数据对于当今互联网业务的重要性不言而喻,它几乎渗透到了当今这个世界的每一个角落。但单有数据是不够的,真正让数据产生价值的,是针对各业务场景运行的对大量数据的密集分析与计算,如机器学习、大数据分析、OLAP 聚合分析等等。近些年,随着数据规模的增大,这些对于资源有着更高要求的数据密集应用自然地导向了以弹性资源著称的云服务。 在这种数据密集应用上云的趋势下,Serverless 似乎并不是这

2401d,fluid库更改日志

原文 自上个版本以来,0.6.0已提交了134次,可能是迄今为止对Fluid最大的更新,也是第一个使用新名的更新. 它提供了许多新的改进:通过输入动作更易输入,通过Tab键和箭头键自动支持键盘,改进和优化文本渲染及开箱即用的Unicode支持. 此外,TreeActions允许绘图时懒遍历,且对库的核心进行了重大更改,从而可在不依赖Raylib时使用Fluid. 破坏性变更 已重命名整个

Fluid Engine Development PIC/FLIP 代码分析

把 Fluid Engine Development 看完了,但是仍然感觉不懂 https://github.com/doyubkim/fluid-engine-dev 感觉还是应该了解整体代码怎么写的,所以做个总结 看着看着,感觉还是从底层开始看起 从底层重新开始看的时候,感觉就来了 而且作者也有很多注释,感觉能够体会到别人的思路 他这里也有很多内容,我选择从 PIC/FLIP 开始

Fluids —— Minimal fluid setups

目录 Waterline FLIP Boundary Boundary flow 创建流体设置的三个基本方法; Waterline         由FLIP Container SOP与FLIP Solver SOP组成的基本network,可不需要任何外部源; FLIP Container SOP,能使用不同的容器形状;FLIP Solver SOP,解算器,