Pyro —— Pyro workflow

目录

Visualization

General workflow

Tips and troubleshooting


Pyro模拟的速度和外形,由许多参数组合控制;

Visualization

        在制作的整个过程中,检查模拟场的状态是非常有用的;Smoke Object具有许多场的可视化选项;最有用的可视化为Multi Field,显示渲染时的所有volumes,其影响外观的最重要设置如下:

  • Density Field,用于smoke的厚度;
  • Diffuse Field,用于给smoke上色;
  • Emission Field,用于发光,可设置为flame或temperature;
  • Emission Color Field,控制发光的颜色,可设置为temperature;

General workflow

        解算器的许多参数都对模拟结果有影响;最好是分解为一系列任务,每个任务都不影响先前设置的效果,如下:

  • 创建发射源;
  • 设置基本模拟参数;
  • 设置温度和浮力参数;
  • 设置相对flame场的参数;
  • 调节外形shape操作;

创建发射源

        发射源对新注入smoke的外形和行为有很大影响,应创建有趣变化的源,不必担心最终结果的细节;

  • 对静态烟火模拟,对源添加noise(Attribute Noise SOP);
  • 对蔓延的火,确保传播行为正确(Pyro Source Spread SOP);
  • 对爆炸,可使用Pyro Burst Source SOP创建爆炸核心外形,还可添加拖尾(使用Pyro Trail Path和Pyro Trail Source);

        还应确定源值的范围,特别是temperature、flame,可使用Attribute Promote SOP计算最大值,对后来在解算器上设置参数有用;

设置基本模拟参数

        一旦设置好发射源,接下来就是设置模拟的基本参数,以使模拟正确工作;

Smoke Object:

  • Voxel Size,相对场景比例设置;
  • Boundary Conditions,可添加地面或实体墙;

Pyro Solver:

  • Max Timesteps,默认为1,应该足够,但对快速流体应增加;
  • Padding,应足够大以适应时间步长内的运动;

设置温度和浮力参数

        通过浮力,温度场对smoke的整体运动有很大影响;通过Ambient Temp (K)Reference Temp (K) 控制浮力;

  • Ambient Temp (K)
  • Reference Temp (K)
  • Gravity
  • Buoyancy Scale
  • Cooling Rate

设置相对flame场的参数

        解算器Flames标签内的参数对模拟有重大的影响,先首先调整“Flame Lifespan”参数,然后开启所需的输出;

调节外形shape操作

        以上旨在确定smoke的外形和运动,一旦满意,即可使用shape操作,来添加细节;Pyro解算器有4个内置shape操作,如dissipationdisturbance、​​​​​​​shreddingturbulence

  • Dissipation,降低density值,以便烟雾消散;
  • Disturbance and Shredding,应用随机力以分解模拟;Disturbance产生线性加速度,对破开光滑烟冒有用;Shredding旋转速度方向,对不加速或减速添加扰乱有效(特别对火模拟有用);
  • Turbulence,将强大的大尺寸noise添加到速度中;

Tips and troubleshooting

  • Advection-Reflection,可极大有助于涡流保存;
    • Disabled,对涉及divergence场(如爆炸)是最安全的选项;
    • Single-Project,使用廉价的方式,不会增加过多开销;
    • Double-Project,最佳的保存涡流方式,会增加子步数一倍;
  • Time Scale,此参数可动画,特别对爆炸有用,在开始设置高值以捕捉初始剧烈爆炸;
  • Disturbance模式设置为Continuous,将在每体素添加独立的noise,对雪崩很有用;但对体素太小,可能会不理想;
  • 在解算器的Forces输入端口,应用自定义力;
  • 在sparse内,如出现阶梯伪影,可增加最大子步或增加Padding;
  • 如发射源或模拟非常快,子步不够会出现明显的streak;
  • 如烟雾几乎没有和碰撞体交互,增加IOP Iterations可能有碰撞;
  • 如注意到轴对其的烟雾条纹,可开启Hourglass Filtering
  • Sparse解算器会批量执行驱动,以加速模拟;如遇内存问题,可设置Max Batch Size

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

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

相关文章

查看下端口的监听状态

执行命令netstat -ntulp 查看下端口的监听状态

node.js项目express的初始化

目录 1.初始化项目2.配置跨域3.开始编写API3.1准备3.2路由处理函数router_make下的user.js3.3路由模块router下的user.js3.4入口文件app.js里面去新增这段代码3.5启动项目进行测试 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你…

Chrome 浏览器插件 cookies API 解析

Chrome.cookie 前端开发肯定少不了和 cookie 打交道,此文较详细的介绍下 chrome.cookie 的 API 以及在 popup、service worker、content 中如何获取的 一、权限(Permissions) 如果需使用 Cookie API,需要在 manifest.json 文件…

mfc110.dll丢失是什么意思?全面解析mfc110.dll丢失的解决方法

在使用计算机的过程中,用户可能会遭遇一个常见的困扰,即系统提示无法找到mfc110.dll文件。这个动态链接库文件(DLL)是Microsoft Foundation Classes(MFC)库的重要组成部分,对于许多基于Windows的…

从 GPT1 - GPT4 拆解

从 GPT1 - GPT4 拆解 从 GPT1 - GPT4GPT1:更适用于文本生成领域GPT2:扩展数据集、模型参数,实现一脑多用(多个任务)GPT3:元学习 大力出奇迹InstructGPT:指示和提示学习 人工反馈强化学习 RLHF…

vue3-模版引用

模版引用 ref 属性 场景&#xff1a;需要直接访问底层 DOM 元素。 方法&#xff1a;使用特殊的 ref 属性。 <input ref"input">ref 属性 允许我们在一个特定的 DOM 元素或子组件实例被挂载后&#xff0c;获得对它的直接引用。 访问模板引用 小 Demo: 当 i…

《Redis:NoSQL演进之路与Redis深度实践解析》

文章目录 关于NoSQL为什么引入NoSQL1、单机MySQL单机年代的数据库瓶颈 2、Memcached&#xff08;缓存&#xff09; MySQL 垂直拆分 &#xff08;读写分离&#xff09;3、分库分表水平拆分MySQL集群4、如今的网络架构5、总结 NoSQL的定义NoSQL的分类 Redis入门Redis能干嘛&…

C++总结笔记

1. 简介 1、面向对象程序设计 面向对象的四大特性 1&#xff09;封装 2&#xff09;继承 3&#xff09;多态 4&#xff09;抽象 2、标准库 标准C由三个部分组成 1&#xff09;核心语言&#xff1a;提供了所有的构件块 2&#xff09;C标准库&#xff1a;提供了大量的函…

vue:处理base64格式文件pdf、图片预览

一、需求&#xff1a;后端返回是base64数据&#xff0c;需要前端处理来展示文件。 二、实现方法&#xff1a; 解释一下这段代码的功能&#xff1a; &#xff09;preview(item) 是一个函数&#xff0c;接受一个参数 item&#xff0c;其中包含了文件的相关信息。 &#xff09;首…

【Java】HttpServlet类简单方法和请求显示

1、HttpServlet类简介&#x1f340; Servlet类中常见的三个类有&#xff1a;☑️HttpServlet类&#xff0c;☑️HttpServletRequest类&#xff0c;☑️HttpResponse类 &#x1f42c;其中&#xff0c;HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对…

什么是关键字?C语言的关键字有哪些?(C语言32个关键字详解)

目录 一、问题 二、解答 1、数据类型关键字&#xff08;12个&#xff09; (1) 声明和定义的区别 (2) 数据类型关键字 • char&#xff1a;声明字符型变量 1、声明字符变量 2、字符数组 3、ASCII码表示 4、指针与字符数组 5、多字节字符集&#xff08;如UTF-8&#xff…

在Qt中通过控制按钮实现登录界面密码与明码的转换

创建控件&#xff1a; 首先&#xff0c;在Qt设计师界面界面上创建QLineEdit类文本框&#xff0c;用于输入密码&#xff0c;并且实现密码与明码相互转化。 设置初始状态&#xff1a; 默认情况下&#xff0c;输入密码的文本框应该是可见的并允许用户输入。 添加切换按钮&…

workflow源码解析:ThreadTask

1、使用程序&#xff0c;一个简单的加法运算程序 #include <iostream> #include <workflow/WFTaskFactory.h> #include <errno.h>// 直接定义thread_task三要素 // 一个典型的后端程序由三个部分组成&#xff0c;并且完全独立开发。即&#xff1a;程序协议算…

CISSP认证计算机化自适应考试(CAT)及常见问题解答

每位参加CISSP CAT考试的考生均会由一个远低于及格标准的考题开始。在考生对某道题作答之后&#xff0c;评分算法会根据所有题目的难度和作答情况重新估算考生的能力。每多作答一道题&#xff0c;计算机对考生能力就会估算更加精确——与传统的线性考试相比&#xff0c;它能更有…

23号资源——电力系统程序集合已提供下载资源

23号资源&#xff1a;程序集合包含9个程序&#xff08;经典电力系统经济调度程序&#xff1b;2解决带储&#xff1b;3智能微电网PSO优化算法&#xff1b;微电网调度等等&#xff0c;见资源描述&#xff09;资源-CSDN文库https://download.csdn.net/download/LIANG674027206/887…

【PICO】【Unity】【VR】如何对打包后的PICO项目有效Debug

【背景】 PICO项目打包后再运行就看不到Console了。当然,会有各类专业的Debug工具。 有一类Debug的工具是Preview形式下展示Debug信息,但是发现Preview成功不见得打包也成功。 打包后也会有一些Debug工具,不过这里我给出自己的简单解决办法。 【解决方案】 Unity Console…

第一篇【传奇开心果系列】WeUI开发原生微信小程序:汽车租赁小程序示例

传奇开心果博文系列目录 WeUI开发原生微信小程序示例系列博文目录博文目录一、项目目标二、编程思路三、初步实现汽车租赁微信小程序示例代码四、实现汽车租赁微信小程序的登录注册示例代码五、实现汽车租赁微信小程序的订单管理示例代码六、整合实现比较完整的汽车租赁微信小程…

算法笔记(动态规划入门题)

1.找零钱 int coinChange(int* coins, int coinsSize, int amount) {int dp[amount 1];memset(dp,-1,sizeof(dp));dp[0] 0;for (int i 1; i < amount; i)for (int j 0; j < coinsSize; j)if (coins[j] < i && dp[i - coins[j]] ! -1)if (dp[i] -1 || dp[…

Spark读取kafka(流式和批数据)

spark读取kafka&#xff08;批数据处理&#xff09; # 按照偏移量读取kafka数据 from pyspark.sql import SparkSessionss SparkSession.builder.getOrCreate()# spark读取kafka options {# 写kafka配置信息# 指定kafka的连接的broker服务节点信息kafka.bootstrap.servers: n…

C语言练习day8

变种水仙花 变种水仙花_牛客题霸_牛客网 题目&#xff1a; 思路&#xff1a;我们拿到题目的第一步可以先看一看题目给的例子&#xff0c;1461这个数被从中间拆成了两部分&#xff1a;1和461&#xff0c;14和61&#xff0c;146和1&#xff0c;不知道看到这大家有没有觉得很熟…