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);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一篇文章搞懂什么是测试,测试是干什么的?

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

【STM32CubeMX串口通信详解】USART2 -- DMA发送 + DMA空闲中断 接收不定长数据

( 本篇正在编写、更新状态中.....) 文章目录: 前言 前言 本篇,详细地用截图解释 CubeMX 对 USART2 的配置,HAL函数使用,和收发程序的编写。 收、发机制:DMA发送 DAM空闲中断接收。 DMA空…

Kafka-消费者-KafkaConsumer分析-Rebalance

在开始介绍Rebalance操作的实现细节之前,我们需要明确在哪几种情况下会触发Rebalance操作: 有新的消费者加入Consumer Group。有消费者宕机下线。消费者并不一定需要真正下线,例如遇到长时间的GC、网络延迟导致消费者长时间未向GroupCoordin…

ISA Server2006部署RuoYi无法登录的问题

ISA Server2006部署RuoYi无法正常登录。每次登录都会报错如下: 无效的会话,或者会话已过期,请重新登录。 原因分析 在nginx中部署没有问题,在ISA Server就会报这个错。根据登录的原理,我猜测可能是headr中的Author…

Linux:软件包管理器 yum

提示:以下指令均在Xshell 7 中进行 什么是软件包? 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放…

JVM篇--垃圾回收高频面试题

JVM垃圾回收 1 简单说下Java垃圾回收机制? 首先在java运行过程中,其实程序员并不需要去显示的调用程序来释放对象的内存,而是由虚拟机来完成的,具体来看是在jvm中有个垃圾回收线程,这个线程是个守护线程,…

pytest实现多进程与多线程运行超好用的插件

前言 如果想分布式执行用例,用例设计必须遵循以下原则: 1、用例之间都是独立的, 2、用例a不要去依赖用例b 3、用例执行没先后顺序, 4、随机都能执行每个用例都能独立运行成功每个用例都能重复运行,不影响其它用例 这…

假设检验:以样本服从二项分布举例

目录 假设检验一、假设检验的思想二、假设检验的基本步骤1. 确定要进行检验的假设2. 选择检验统计量。3. 确定用于做决策的拒绝域4. 求出检验统计量的值5. 查看样本结果是否位于拒绝域内6. 做出决策 三、举例说明例子1——某公司治疗打鼾例子2——女士品茶的故事 假设检验 一、…

python爬虫知识点:5种线程锁

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 线程安全 线程安全是多线程或多进程编程中的一个概念,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个…

细说JavaScript事件处理(JavaScript事件处理详解)

js语言的一个特色和就是它的动态性,即一时间驱动的方式对用户输入作出反应而不需要依赖服务器端程序。事件是指人机交互的结果,如鼠标移动、点击按钮、在表单中输入数据或载入新的Web洁面等。 一、什么是事件 1、事件类型 1.1、事件源 1.2、事件处理…

【数据结构】详谈队列的顺序存储及C语言实现

循环队列及其基本操作的C语言实现 前言一、队列的顺序存储1.1 队尾指针与队头指针1.2 基本操作实现的底层逻辑1.2.1 队列的创建与销毁1.2.2 队列的增加与删除1.2.3 队列的判空与判满1.2.4 逻辑的局限性 二、循环队列2.1 循环队列的实现逻辑一2.2 循环队列的实现逻辑二2.3 循环队…

Git 配置与理解

简述 Git 在 Windows 和 Ubuntu 中的配置,以及对 Git 工作区域划分和 Git 中对于文件状态划分的理解。 git 基础安装与配置 基于 WSL 的 Ubuntu 下的 git 打开或关闭Windows功能 -> Hyper-V、Virtual Machine Platform、Windows Subsystem for Linux # 1.必须…

傲空间私有部署Windows指南

推荐阅读 智能化校园:深入探讨云端管理系统设计与实现(一) 智能化校园:深入探讨云端管理系统设计与实现(二) 安装 docker 请下载对应的 Docker,安装完成后启动。 Docker Desktop for Windows…

【Linux取经路】初探进程地址空间

文章目录 一、历史问题回顾二、语言层面的地址空间2.1 验证 三、虚拟地址的引入3.1 初步解释这种现象——引入地址空间的概念3.2 再来粗粒度理解上面的现象 四、细节解释4.1 地址空间究竟是什么?4.2为什么要有地址空间4.3 页表4.3.1 CR3寄存器4.3.2 页表是由页表项组…

智慧校园大数据应用系统介(3)

智能巡课系统 巡课系统是一种新的课堂观察记录工具,它将学校或区域内全体教师作为一个整体,采用数字化手段描述教师和学生的课堂行为。通过移动端实时记录和通用性的统计分析,使教育者更容易发现教学过程与教学成果之间的联系,有助于改变课堂生态、提高教学有效性、提升教…

Codeforces Round 895 (Div. 3)补题

Two Vessels(Problem - A - Codeforces) 题目大意:有两个无限容器,目前一个容器中有a克水,另一个容器中有b克水,现有一个大小为cg的容器,我们每次可以从一个无限容器中取任意不大于c克的水&…

【Linux】相关背景及环境搭建

前言: 认识 Linux, 了解 Linux 的相关背景,学会如何使用云服务器,掌握使用远程终端工具 xshell 登陆 Linux 服务器 文章目录 一、Linux介绍1.1 关于UNIX1.2 Linux的诞生及发展历程1.3 Linux开源1.4 Linux在各个行业的现状1.5 发行版本 二、Li…

令牌桶算法与Guava的实现RateLimiter源码分析

令牌桶算法与Guava的实现RateLimiter源码分析 令牌桶RateLimiter简介RateLimiter使用示例导入maven依赖编写测试代码 RateLimiter的实现源码解析SmoothRateLimiterSmoothBursty恒速获取令牌acquire(int)tryAcquire(int,long,TimeUnit) 存量桶系数小结 优缺点与漏桶的区别总结 令…

Python爬虫时被封IP,该怎么解决?四大动态IP平台测评

在使用 Python 进行爬虫时,很有可能因为一些异常行为被封 IP,这主要是因为一些爬虫时产生的异常行为导致的。 在曾经的一次数据爬取的时候,我尝试去爬取Google地图上面的商家联系方式和地址信息做营销,可是很不幸,还只…

CloudPanel file-manager/backend/makefile接口存在远程命令执行漏洞CVE-2023-35885

@[toc] 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. CloudPanel 简介 微信公众号搜索:南风漏…