Pyro —— 简介

目录

Differences between legacy and sparse pyro

Getting started with pyro using shelf tools

Sourcing

DOP simulation

SOP simulation

Post-Processing

Rendering

Simple FX shelf tools


        Pyro为Houdini的体积流体(volumetric fluid)模拟包;用于烟、火、爆炸,也可用于其他类似流体现象,如雾、雪崩;

注,与FLIP相反,Pyro不使用粒子来追踪流体,由于粒子对surface解析非常有用,因此Pyro不适合模拟液体;

Differences between legacy and sparse pyro

Legacy pyro works

        H18之前,使用fuel场燃烧(在高温区,fuel被点燃,形成瞬时的burn场以提供heat场,从而捕获烟雾的发射部分;最后,输出将由积累的heat和瞬时burn场产生;

Sparse pyro works

        新推荐的工作流,要求在SOP中生成瞬时burn场并作为源的一部分;此burn会被合并到flame和divergence场;此方法具有可预测和更多控制的优点;

Getting started with pyro using shelf tools

        Simple FX shelf工具架,生成pyro模拟(使用Pyro Solver SOP),提供快速友好的用户体验,并避免手动构建动力学网络;通常是更好的选择,因为更简单、更友好、不需要分离的动力学网络;

        Pyro FX shelf工具架,使用DOP pyro设置案例;

Sourcing

        Sourcing负责向模拟注入新的流体,建议使用光栅化点属性(Volume Rasterize Attributes)的方法来创建source volumes,可使用粒子模拟的结果来发射源;

Sourcing相关节点
Pyro Source将几何体转化为具有指定属性(如density、temperature)的点,可操作这些属性,以调整烟火特性;
Pyro Source Spread模拟点上的fuel燃烧及heat扩散;
Pyro Burst Source创建爆炸核心的源点,且塑造爆炸的外观;
Pyro Muzzle Flash(Pyro Burst Source)创建枪火源点,且塑造枪口闪光的外观;
Pyro Shockwave(Pyro Burst Source)创建爆炸冲击波源点,且塑造冲击波;
Pyro Scatter from Burst在爆炸核心创建点,用于生成拖尾,火花,各种粒子,及飞溅的刚体碎片;
Pyro Trail Path生成用作拖尾的曲线(为Pyro Trail Scource);
Pyro Trail Scource生成沿曲线运动的源点;
Pyro Source Pack从输入的volumes创建packed source,可合并多个packed source,可被实例化到pyro模拟中;
Pyro Spawn Sources创建spawn点,实例化源库的元素,可精确控制位置和时间;
Pyro Sources Instance从spawn点生成实例化源点;
Debris Source使用RBD Bullet Solver输出来生成源点,用于从破碎处发射烟雾;
Attribute Noise对点添加随机,以创建更有趣更真实的烟火效果;
Volume Rasterize Attributes从点和点属性生成volume,为Pyro Solver;

DOP simulation

        Pyro动力学模拟的基本构成为:object、sourcing、solver;Smoke Object(Sparse)创建所有必要的场,Volume Source负责导入源,最终Pyro Solver(Sparse)应用力及演算流体场;

DOP Simulation
Smoke Object控制精度和域,及可视化;
Volume Source导入volumes,并与object场合并(具有多种合并方式);
Volume Instance Source与Volume Source类似,合并volumes,但使用实例化点;
Pyro Solver基于Smoke Solver构建,添加火等控制;
Smoke Solver烟雾解算器,但没有flame;
DOP Import Fields将模拟结果导入的SOP,以输出和渲染;使用Pyro Bake Volume SOP创建和调整可视化数据;

SOP simulation

        Pyro模拟可完全在单个SOP中,避免切换;使用Pyro Solver SOP,pyro动力学网络的封装,可适用于大多数模拟;内置了Pyro Post-Process和Pyro Bake Volume,以确保可渲染;

Post-Processing

        处理解算完的volume,以节省空间是非常重要的;可使用此节点,来优化;Pyro Solver SOP节点的Quick Setups->Optimize Exports可降低90%大小;

Rendering

        最后是在视图或渲染中,尽可能获得最佳外观;须调整默认的颜色显示,默认是gamma2.2不足以显示和渲染pyro;使用ACES(Academy Color Encoding System);

Rendering
Volume Visualization调整volume的可视化;
Pyro Bake Volume调整volume以备渲染,视图结果非常接近于渲染;
Pyro Shader由渲染使用的shader,以生成产品级的质量;

Simple FX shelf tools

Pyro Muzzle Flash,创建枪火及额外的火星,非动力学模拟;

Simple Billowy Smoke,简单的上升烟雾设置(sparse pyro);

Simple GPU Ground Explosion,创建完全GPU模拟的爆炸(Minimal OpenCL Solve);尽可能快的模拟,可在模拟过程中实时操作参数(以快速反馈效果),会禁用某些功能;

  • 禁用模拟的缓存,无法返回查看;
  • 不支持Advection-Reflection
  • 仅执行dense模拟;
  • 禁用动态流体框;
  • 不可基于CFL Condition动态子步;
  • 发射源和碰撞体有更多的限制;须指定帧范围,解释器会循环整个输入源;碰撞体须转化为SDF(collision)和速度场(v);

以下可提高性能:

  • 避免使用Pyro Bake Volume节点;
  • 关闭Field Guides和Shape Guides;
  • 尽可能的循环源;
  • 如使用microsolvers,开启Use OpenCL

Simple GPU Torch,创建完全GPU模拟的火炬(Minimal OpenCL Solve);

Simple Fireball,创建上升扩大的爆炸火球(Sparse);

产品级文件:Fireball | SideFX

Simple Aerial Explosion,创建空中爆炸(Sparse);

产品级文件:Aerial Explosion | SideFX

Simple Ground Explosion,创建地面爆炸(Sparse);

产品级文件:Ground Explosion | SideFX

Simple Shockwave,创建地面爆炸(Sparse),并带有冲击波;

Simple Bonefire,创建篝火(Sparse);

Simple Spreading Fire,创建表面蔓延火(Sparse);

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

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

相关文章

c++函数重载(同名函数)功能,区别于c语言

c可以使用同名函数,实现功能类似的多个功能 规则: ①函数名相同,但是函数的参数(形参)绝不相同 ②参数个数不同 ③参数个数相同,参数类型不同 只有返回值类型不同,不可以;只有形…

力扣hot100 找到字符串中所有字母异位词 滑动窗口 双指针 一题双解

Problem: 438. 找到字符串中所有字母异位词 文章目录 思路滑动窗口 数组滑动窗口 双指针 思路 👩‍🏫 参考题解 滑动窗口 数组 ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( 1 ) O(1) O(1) class Solution { // 滑动窗口 …

VM使用教程--SDK取图 视频笔记

本笔记均由海康机器人官网的V学院视频中记录所得,属于省流大师了[doge] 图像采集 图像采集包括1图像源,2多图采集,3输出图像,4缓存图像,5光源 1图像源 图像源包括本地图像,相机采图,SDK 本…

【JSON2WEB】01 WEB管理信息系统架构设计

WEB管理信息系统分三层设计,分别为DataBase数据库、REST2SQL后端、JSON2WEB前端,三层都可以单独部署。 1 DataBase数据库 数据库根据需要选型即可,不需要自己设计开发,一般管理信息系统都选关系数据库,比如Oracle、…

设计模式--组合模式

缘起 某日,小明公司最近接到一个办公管理系统的项目,并且在每个城市都有分部。这属于是很常见的OA系统,只要前期将需求分析完善好,中后期开发维护是不难的。 然而,总部公司使用后觉得很OK,想要其他城市的…

【日常聊聊】自然语言处理的发展

🍎个人博客:个人主页 🏆个人专栏: 日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 技术进步 应用场景 挑战与前景 伦理和社会影响 实践经验 结语 我的其他博客 前言 自然语言处理(NLP&#xf…

PLC物联网网关BL104实现PLC协议转MQTT、OPC UA、Modbus TCP

随着物联网技术的迅猛发展,人们深刻认识到在智能化生产和生活中,实时、可靠、安全的数据传输至关重要。在此背景下,高性能的物联网数据传输解决方案——协议转换网关应运而生,广泛应用于工业自动化和数字化工厂应用环境中。 无缝衔…

IGBT工作原理

IGBT(绝缘栅双极型晶体管) 在实际应用中最流行和最常见的电子元器件是双极结型晶体管 BJT 和 MOS管。 IGBT实物图电路符号图 你可以把 IGBT 看作 BJT 和 MOS 管的融合体,IGBT具有 BJT 的输入特性和 MOS 管的输出特性。 与 BJT 或 MOS管相比,…

如何探究大模型理论?UCLA最新《深度学习统计理论》综述,详述近似、训练动力学和生成模型

在这篇文章中,我们从三个角度回顾了神经网络的统计理论文献。在第一部分中,我们回顾了非参数框架下关于神经网络的过度风险(excess risks)的研究成果,这些成果适用于回归或分类。这些结果依赖于神经网络的显式构造&…

Spring Boot 3.2.2整合MyBatis-Plus 3.5.5依赖不兼容问题

问题演示 导依赖 当你启动项目就会 抛出该异常 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 问题原因 mybatis-plus 中 mybatis 的整合包版本不够导致的 解决方案 排除掉mybatis-plus 中 mybatis 的整合…

Cortex-M3/M4内核中断及HAL库函数详解(1):中断相关寄存器

0 工具准备 Keil uVision5 Cortex M3权威指南(中文) Cortex M3与M4权威指南 stm32f407的HAL库工程 STM32F4xx中文参考手册 1 NVIC相关寄存器介绍 在Cortex-M3/M4内核上搭载了一个异常响应系统,支持为数众多的系统异常和外部中断。其中&#…

C - Monotonically Increasing

很妙的dfs&#xff1a;记录层数以及前一个数是多少。 代码&#xff1a; int ans[11]; int n,m;void dfs(int u,int pre){if(un1){for(int i1;i<n;i)cout<<ans[i]<< ;cout<<endl;return;}for(int ipre1;i(n-u)<m;i){ans[u]i;dfs(u1,i);} }void solve(…

Linux问题 apt-get install时 无法解析域名“cn.archive.ubuntu.com”

问题描述: 在安装程序时会出现无法解析域名的错误 解决办法: 1、编辑文件 sudo vim /etc/resolv.conf 2、在最后加上(按键 i 进入编辑模式) nameserver 8.8.8.8 3、保存退出(:wq)

Upload靶场通关教程(旧版20关)

文件上传类型&#xff1a; 前端验证&#xff1a;1 MIME类型验证&#xff1a;2 黑名单验证&#xff1a;3~10&#xff0c;19 大小写绕过、空格绕过、解析后缀数字绕过、点绕过、/绕过、::$DATA绕过 白名单验证&#xff1a;11~18&#xff0c;20 %00截断、二次渲染、文件包含、…

力扣每日一练(24-1-20)

大脑里的第一想法是排列组合&#xff0c;直接给出超级准确的最优解。 但不适用&#xff0c;hhh 只要连续的n个元素大于或者等于target就可以了 题目比自己想象的要好解决 解法是使用滑动窗口算法。这个算法的基本思想是维护一个窗口&#xff0c;使得窗口内的元素总和大于等于目…

算法常用思路总结

思路 1. 求数组中最大最小值思路代码 2. 计算阶乘思路&#xff1a;代码&#xff1a; 3. 得到数字的每一位思路代码 4. 计算时间类型5. 最大公约数、最小公倍数6. 循环数组的思想题目&#xff1a;猴子选大王代码 补充经典例题1. 复试四则运算题目内容题解 2. 数列求和题目内容题…

Pytest 测试框架与Allure 测试报告——Allure2测试报告-L3

目录&#xff1a; allure2报告中添加附件-图片 Allure2报告中添加附件Allure2报告中添加附件&#xff08;图片&#xff09;应用场景Allure2报告中添加附件&#xff08;图片&#xff09;-Python代码示例&#xff1a;allure2报告中添加附件-日志 Allure2报告中添加附件&#xff…

Flink处理函数(3)—— 窗口处理函数

窗口处理函数包括&#xff1a;ProcessWindowFunction 和 ProcessAllWindowFunction 基础用法 stream.keyBy( t -> t.f0 ).window( TumblingEventTimeWindows.of(Time.seconds(10)) ).process(new MyProcessWindowFunction()) 这里的MyProcessWindowFunction就是ProcessWi…

《WebKit 技术内幕》之五(4): HTML解释器和DOM 模型

4 影子&#xff08;Shadow&#xff09;DOM 影子 DOM 是一个新东西&#xff0c;主要解决了一个文档中可能需要大量交互的多个 DOM 树建立和维护各自的功能边界的问题。 4.1 什么是影子 DOM 当开发这样一个用户界面的控件——这个控件可能由一些 HTML 的标签元素…

使用Sobel算子把视频转换为只剩边缘部分

效果展示 原始视频 修改后的视频 整体代码 import cv2vc cv2.VideoCapture(test.mp4)if vc.isOpened():open, frame vc.read() else:open Falsei 0 while open:ret, frame vc.read()if frame is None:breakif ret True:i 1# 转换为灰度图gray cv2.cvtColor(frame, cv…