当前位置:网站首页>三分钟教你用Houdini流体>>解算粒子流体水滴
三分钟教你用Houdini流体>>解算粒子流体水滴
2022-04-23 06:29:00 【Allen7474】
Houdini如何解算流体
效果展示:
思维导图式笔记:
一、粒子液体创建
-
粒子液体创建
1、Ctrl+鼠标左键在快捷栏中创建球体,准备为球体添加流体效果。
2、Particle Fluids快捷栏中选择<Flip Fluid form OBJ>。(从物体中流出效果)
3、选中对象添加流体后,节点控制窗口会有四个节点可调节,主要调节内容为框选的节点。
-
液体材质修改与显示
1、在右侧材质控制面板中,拖拽材质球到流体上。
2、在左侧工具栏中,点选区域渲染按钮,对流体状态进行预览。
3、这里赋予的材质默认为蓝色,调整为水透明,选择材质球,并取消勾选Enable Diffuse。
4、这时区域渲染就能看到水滴是透明状态了。
二、粒子液体碰撞
-
创建碰撞体StaticObject
1、创建一个Box对象,并调节box大小为4。
2、对Box删除3个面,方便预览,在选择模式下,按4,对面进行删除。
3、删除面后,选择Box,并添加刚体组件<Static Object>组件。
-
碰撞体单面挤出为双面
1、添加刚体组建后,双击进入,添加(挤出面节点)polyExtrued.节点,并调节Box厚度和细分。
-
预览碰撞解算
1、为Box添加碰撞范围并且预览范围,勾选Collision Guide 显示碰撞范围,Division Size控制碰撞范围大小(蓝色显示部分为碰撞区域)。
2、这个时候滑动时间条,就会看到,粒子解算已经起到碰撞作用了。
三、解算缓存与渲染输出
-
创建解算缓存
(将渲染信息,缓存到硬盘中,这样再次打开就不需要重新占用渲染资源,节省很多时间)
1、选择该节点,并进入节点选择Impurt Sphere object1,在细节面板中,选择保存缓存路径和名称。
2、打开(sphere_object1_fluid>>import_sphere_object1)节点,勾选(Save Frame Range)命令,设定渲染保存帧数范围。
3、选择保存路径和名称(命名规则:<名称,帧数,格式>)
(1)、Drop.$F4.bgeo.gz
(2)、名称------帧号------默认格式-------压缩文件格式
4、选择完成后,点击Save to Disk开始解算,或Save to Disk inBackground按钮保存缓存信息。
(如没有正常显示进度条或者,File读取不到,则可以进入文件夹删除原缓存,重新解算信息)
-
File节点读取缓存路径
1、按Tab键,创建出File节点,并在Geometry File中选择,上面缓存出来的信息,指定到此路径上。
2、勾选Load From Disk 后,再次打开项目,缓存信息就可以被读取了,并且不需要每次都重新解算。
3、设定不渲染范围,节省解算时间和运算量。
(1)、创建Box或任意形状对象
(2)、在窗口快捷栏中点击Sikn From Objects按钮,然后选在流体对象按Enter确认。
(3)、确认生成后,开始解算运行,经过Box范围内的多余流体,就会消失,节省解算资源。
-
创建渲染节点并导出
1、创建渲染节点,RPO>>并进入节点创建Mantra节点(截图)
2、Mantra节点可以控制输出格式,路径和帧数等。选择Valid Frame Range ==Render Frame Range命令,并且在Output Picture中设定输出路径和格式名称。
3、 Water04$F4.TGA-----------按照以上格式命名。
名称---分隔符---图片格式
4、保存后,创建灯光,和灯光,进行渲染。
在快捷栏中,点选灯光,和镜头,并锁定当前(镜头或灯光)角度进行相机和灯光的位置调节,取消锁定,即可自由观察。
5、角度选定好后,进入RPO中的Mantra1节点中,Render to Disk.开始渲染。
6、接下来坐等输出为序列,并处理即可。(这里的最终目的为进入Unity中使用,所以会有导出部分的分支,敬请期待)。
四、案例下载地址
版权声明
本文为[Allen7474]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Allen7474/article/details/113918778
边栏推荐
猜你喜欢
Apache Hudi 如何加速传统的批处理模式?
Window10版MySQL设置远程访问权限后不起效果
The projection vector of a vector to a plane
庄懂的TA笔记(六)<FakeEnvReflect && 生锈,锈迹效果>
FUEL: Fast UAV Exploration using Incremental Frontier Structure and Hierarchical Planning
js之什么是事件?事件三要素以及操作元素
Django uses MySQL database to solve error reporting
利用Lambda表达式解决c#文件名排序问题(是100大还是11大的问题)
命令行参数传递库argparse的使用
使用flask时代码无报错自动结束,无法保持连接,访问不了url。
随机推荐
利用Lambda表达式解决c#文件名排序问题(是100大还是11大的问题)
快速排序
c#读取INI文件和向ini文件写入数据
数组扁平化
ES6 uses recursion to implement deep copy
将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小)
Read and modify the JSON file under the resource folder
面经的总结
Weblux file upload and download
Online Safe Trajectory Generation For Quadrotors Using Fast Marching Method and Bernstein Basis Poly
C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值)
移动Web(字体图标、平面转换、颜色渐变)
Date object (JS built-in object)
Game assisted script development journey
instanceof的实现原理
保研准备经验贴——18届(2021年)中南计科推免到浙大工院
unity 屏幕自适应
Robust and Efficient Quadrotor Trajectory Generation for Fast Autonomous Flight
Mongodb 启动警告信息处理
读取修改resource文件夹下的json文件