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加速;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/211910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

王道数据结构课后代码题 p149 第3—— 7(c语言代码实现)

目录 3.编写后序遍历二叉树的非递归算法 4.试给出二叉树的自下而上、自右到左的层次遍历算法 &#xff08;有图解代码详解&#xff09;c语言代码实现 5.假设二叉树采用二叉链表存储结构&#xff0c;设计一个非递归算法求二叉树的高度。 ​编辑 6.设一棵二叉树中各结点的值互不…

普冉(PUYA)单片机开发笔记(7): ADC-轮询式多路采样

概述 应用中经常会有使用单片机进行模数转换的需求。PY32F003 具有 1 个 12 位的模拟数字转换器&#xff08;ADC&#xff09;&#xff0c;今天我们一起来使用一下这个 ADC。 数据手册中对 ADC 简介如下。 SAR ADC&#xff1a;逐次逼近式 ADC&#xff0c;原理参见“参考链接&a…

class070 子数组最大累加和问题与扩展-上【算法】

class070 子数组最大累加和问题与扩展-上【算法】 code1 53. 最大子数组和 // 累加和最大子数组和 // 给你一个整数数组 nums // 请你找出一个具有最大累加和的非空子数组 // 返回其最大累加和 // 测试链接 : https://leetcode.cn/problems/maximum-subarray/ dp[i]&#xff…

【Docker】Docker Compose,yml 配置指令参考的详细讲解

作者简介&#xff1a; 辭七七&#xff0c;目前大二&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

基于c++版数据结构基于数组栈改-Python思维总结

##栈部分-&#xff08;叠猫猫&#xff09; ##抽象数据类型栈的定义&#xff1a;是一种遵循先入后出的逻辑的线性数据结构。 换种方式去理解这种数据结构如果我们在一摞盘子中取到下面的盘子&#xff0c;我们首先要把最上面的盘子依次拿走&#xff0c;才可以继续拿下面的盘子&…

【Java期末复习资料】(2)常见例题 //持续更新

本文章主要是常见例题&#xff0c;解析不会太详细&#xff0c;有问题、不会的可以给我发消息哦&#xff0c;后续会出模拟卷 常见例题&#xff1a; 1.下列跟Java技术平台有关的是&#xff08;ABD&#xff09; A.JVM B.JDK C.JPN D.JRE 2.面向对象的特征包括&#xff08;ACD&…

wxPython的控件tree

wxPython树控件介绍 树&#xff08;tree&#xff09;是一种通过层次结构展示信息的控件&#xff0c;如下图所示是树控件示例&#xff0c;左窗口中是树控件&#xff0c;在wxPython中树控件类是wx.TreeCtrl。 wx.TreeCtrl常用的方法有 AddRoot(text, image-1, selImage-1, data…

在Deepin中安装x11vnc工具并结合内网穿透软件实现远程访问桌面

文章目录 1. 安装x11vnc2. 本地远程连接测试3. Deepin安装Cpolar4. 配置公网远程地址5. 公网远程连接Deepin桌面6. 固定连接公网地址7. 固定公网地址连接测试 x11vnc是一种在Linux系统中实现远程桌面控制的工具&#xff0c;它的原理是通过X Window系统的协议来实现远程桌面的展…

P4 Qt如何添加qss样式表文件和添加图片资源

目录 前言 01 添加图片资源文件 02 添加qss文件 前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《Qt基础_ChenPi的博客-CSDN博客》✨✨✨ &#x1f33a;本篇简介 &#xff1a;这一章…

JVM Optimization Learning(六)

目录 一、JVM Optimization 1、Shenandoah Shenandoah的使用方法 2、ZGC ZGC的版本更迭 ZGC的使用方法 ZGC的参数设置 3、JMH测试GC性能 一、JVM Optimization 1、Shenandoah Shenandoah是由Red Hat开发的一款低延迟的垃圾收集器&#xff0c;Shenandoah并发执行大部分…

机器人纯阻抗控制接触刚性环境(阻尼影响因素)

问题描述 在机器人学中&#xff0c;阻抗控制是一种常用的控制策略&#xff0c;用于管理机器人在与环境交互时的运动和力。阻抗控制背后的关键概念是将环境视为导纳&#xff0c;而将机器人视为阻抗。 纯阻抗控制接触刚性环境时&#xff0c;机器人的行为方式主要受其阻抗参数的…

【开源】基于Vue和SpringBoot的车险自助理赔系统

项目编号&#xff1a; S 018 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S018&#xff0c;文末获取源码。} 项目编号&#xff1a;S018&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 车…

Maven基础

目录 Maven坐标 坐标简介 主要组成 Maven依赖管理 配置依赖 依赖简介 配置依赖 依赖传递 依赖传递简介 排除依赖 依赖范围 生命周期 生命周期简介 执行指定生命周期 Maven坐标 坐标简介 Maven中的坐标是资源的唯一标识&#xff0c;通过该坐标可以唯一定位资…

Python开发运维:Python调用K8S API实现资源管理

目录 一、实验 1.Python操作K8S API获取资源 2.Python操作K8S API创建deployment资源 3.Python操作K8S API删除k8s资源 4.Python操作K8S API修改k8s资源 5.Python操作K8S API查看k8s资源 二、问题 1.Windows11安装kubernetes报错 2.Python通过调用哪些方法实现Pod和De…

在SpringData JPA 中实现对持久层的操作

1.导入依赖 hibernate 这个依赖自带实现JPA接口 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><depen…

CrystalDiskInfo中文版(硬盘检测工具) v9.1.1.0 绿色汉化版-供大家学习研究参考

更新内容 重新支持三星SATA SSD寿命报告 增加对ZHITAI SC001的支持 新增SK hynix Gold S31支持 增加了KLEVV NEO N610的支持。 改进的Micron/Crucial SATA SSD支持 已更改 卸载程序将显示一个确认对话框&#xff0c;用于删除设置。 强大功能 1.拥有多国语言&#xff0c;…

045:Vue读取本地上传JSON文件,导出JSON文件方法

第045个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

jquery手写广告轮播图,无限循环功能

说明 在很多情况下&#xff0c;我们都需要开发广告轮播图&#xff0c;当我们进行页面的功能开发时&#xff0c;采用轮播图来实现也行&#xff0c;但是很多情况下&#xff0c;我们只需要简单的控制轮播循环轮播展示即可&#xff0c;所以用jq开开发广告轮播波&#xff0c;自定义…

Idea 插件开发: Swing Designer设计器创建的组件全部为空问题记录

问题现象 通过Swing 设计器创建的对象, Swing组件全部是空的, 导致ToolWindowFactory工厂的实现类调用时候出现了空指针异常 如下方式创建的 问题分析 问题出现时候, 同时给我生成了一个createUIComponents的私有方法, 由于个人当时理解有误, 把他当成了初始化方法, 在里面…

Oracle高可用一家老小全在这里

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…