如何使用Houdini渲染流体?

版本:Houdini19.5 其他版本应该也差不多

渲染器与材质是直接关联的,不同渲染器有不同的灯光、材质。

我们首先讲解如何利用Houdini自带的Mantra渲染(CPU渲染,较慢),然后讲解更快的第三方渲染器Redshift(GPU渲染,较快)。

但是,在此之前,有一些通用步骤,即读取流体粒子帧数据和表面重建。

Houdini基本常识

Houdini中视角移动的方式

Esc进入视图视角

然后左键旋转,滚轮/右键拉近拉远,中键平移

H键重置视角

G键以某个物体为中心重置视角

Houdini 节点

节点是Houdini核心中的核心!是第一公民。

这也是为什么Houdini被称为程序化建模软件。

Houdini中所有操作都可以作为一个节点。

在Network视图中用 Tab键创建节点。

读取数据和流体表面重建

粒子位置数据

首先,我们准备粒子数据。我这里的输入数据是从taichi生成的mpm3d模拟得到的序列(默认是ply格式)

如果是obj格式的话,它里面只有一些点的位置而已。
例如

v 1.00718 0.992176 1.00718
v 1.09713 0.992118 1.00712
v 1.2004 0.992209 1.00721
v 1.29996 0.992199 1.0072
v 1.4 0.9922 1.0072
v 1.5 0.9922 1.0072
v 1.6 0.9922 1.0072
v 1.7 0.9922 1.0072
v 1.8 0.9922 1.0072
v 1.9 0.9922 1.0072
v 2 0.9922 1.0072
v 2.1 0.9922 1.0072
v 2.2 0.9922 1.0072
v 2.3 0.9922 1.0072
v 2.4 0.9922 1.0072
v 2.5 0.9922 1.0072
v 2.6 0.9922 1.0072
...

读取数据到houdini

我们新建一个geo节点,重命名为read_data

双击进入该节点

然后新建file节点,选择数据序列

我们现在得到的就是一堆点。

重建表面

接下来重建表面。使用particle fluid surface这个节点。调整particle seperation。

实际上这就完成了工作。但是这样的话,你每次使用的时候,都要重新读取粒子,然后重建表面。我们不如把表面缓存一下,以后直接使用这个缓存即可。

新建file cache节点,然后修改下面的时间帧。我们只需要50帧,因此改为50。(上面绿色的位置会随之更改。如果你直接去改绿色的位置是改不了的。)
并且,我们还可以指定输出文件序列的名字:$OS的意思就是当前节点的名字。$HIP的意思就是当前.hip文件的绝对路径。

输出的格式是.bgeo.sc。这是houdini特有的压缩格式,对于Houdini来说读写都很快。

输出完了,你可以去看一看。

你会发现file cache之后的节点上会出现一个虚影,这就代表我们已经缓存了。

最后,我们新建一个null节点,重命名为fluid_surface。这个节点什么也不做,单纯就是为了以后好引用名字。

回到最外层


至此,我们已经完成了流体读取数据和表面重建

灯光和摄像机 (Mantra )

灯光和材质都是渲染器特定的,我们从此处开始使用Mantra渲染。

灯光

面光源

首先增加面光源。control+左键 点击工具栏(shelf tool)的area light

然后就会自动进入灯光的视角,点击锁定,就可以移动灯光。

Houdini中移动的方式是先

Esc进入视图视角

然后左键旋转,滚轮/右键拉近拉远,中键平移

H键重置视角

G键以某个物体为中心重置视角


调整结束之后,再次点击锁,然后随便移动一下视角,就能退出。

如果你想再次进入灯光视角,就点击右上角的look through light。如下图所示

退出以后,随便移动下视角,你会发现会有一个黄色的矩形,那个就是刚才的面光源的位置。

然后调整灯光的亮度。可以调参数Exposure


如法炮制再制作另一个面光源。

环境光和HDR背景

接下来增加环境光和HDR背景

增加environment light节点

然后选择Environment Map。在这里,我们可以导入HDR背景图。

你可以从 https://polyhaven.com/ 获取免费的HDR资源!

HDR的作用就是为环境添加环境光照。因为是环境,你得指定是什么样的环境。比如:是厨房?还是广场?还是森林?

我们要清楚,HDR的背景图默认不会被渲染出来(当然你也可以渲染出来),添加HDR的主要目的是为了设置环境光照

摄像机

设置相机的方式基本与面光源一致:look through, 锁定,调整,解锁并退出。

设置材质和渲染器参数(Mantra)

材质

首先,切换到Material Platte

如果你发现自己的标签页上没有这玩意,就右键,然后选择Material Platte

这里面所有的东西,都是迪士尼的Principled shader,学名又叫BRDF或者BSDF。Blender里面又叫原理化BSDF。所有这些东西,都只是参数不同的预设而已。

我们把Basic fluid拖出来。这是个流体的预设。

然后再把它拖到我们的流体块上

这时我们就会发现流体有了材质。

如果你想调整流体的材质,可以双击进入Basic fluid, 然后调整参数。比如我们这里稍微调整一下不透明度(opacity)

渲染器

我们跳转到out。会发现有个默认的mantra_ipr

然后点击渲染窗口

设置好输出路径等之后,点击渲染(或Render To Disk)即可!

注意:你可以自己指定保存路径和渲染的范围。我这里只是渲染一帧。

Mantra是CPU渲染,所以很慢。而且会占满你的整个CPU(如图所示。一张图我已经渲染了1分17秒才进度87%,而且CPU满载,内存消耗1.11GB)

如果你等不及的话,可以先保存一下没渲染完的截图。如下所示。


至此,完整的渲染流程结束!

结果如图:

【Houdini】如何使用Houdini渲染流体?相关推荐

  1. 【Houdini】使用Houdini的Karma渲染器渲染流体

    使用Houdini的Karma渲染器渲染流体 介绍 在之前我们讲过使用默认的Mantra渲染器渲染.但是Mantra将在2024年被Houdini官方停止更新.因为他们推出了一个新的更好的渲染器Kar ...

  2. 最快的 Houdini 和 V-Ray 云渲染服务

    Houdini是SideFX开发的一款3D动画软件应用.Houdini 最常用于 FX 部门,用于在电影和游戏中创建视觉效果.它被主要的 VFX 公司使用,例如 Walt Disney Animati ...

  3. 如何知道当前像素的顶点坐标_GT 大神 | 如何高效渲染流体效果(绝对干货)

    流体效果 相信大家都不陌生,实现方式中的一种是将粒子渲染成 metaball . 什么是metaball metaball 就是粒子加上其周围的 密度场 (density field).两个 meta ...

  4. python houdini_python for houdini——python在houdini中的基础应用01

    学了一个星期的python,终于可以在houdini中实操了,但是还是有点懵,对于python的语法还不大熟悉,所以还是得多练多做笔记,看了网上几位大佬的博客,个人觉得入门学习还是挺不错的python ...

  5. 【Houdini】流体渲染流程(进阶版)-- learn from ysy

    Houdini渲染流体(进阶版)–ysy 工程文件: 链接:https://pan.baidu.com/s/1eneV39-jC2N197P4etzDsA 提取码:xzn7 或者 链接: https: ...

  6. 翻译Houdini官方对UE4新版插件的介绍:Houdini Engine for Unreal - V2

    原视频:Houdini For Unreal - YouTube 目录 介绍 0. 总览 1. 简介HoudiniEngine 2. UE4的HoudiniEngine - 第二版 为什么要做&quo ...

  7. 三维电影视觉特效和物理模拟软件:SideFX Houdini for Mac

    SideFX Houdini for Mac是三维电影视觉特效和物理模拟软件,将卓越的性能和物理逼真的动态模拟工具与VFX艺术家相结合,制作故事片,商业广告或视频游戏.此次该软件已经更新到了17.5版 ...

  8. Houdini运行时崩溃了怎么办?别害怕,还有一点点救!

    进入正题前还是先提醒一句:常按Ctrl+S保存,Houdini容易崩溃,小心Houdini的崩溃让你一天的努力操作白费. 当我们使用Houdini时,Houdini可能会因为各种各样的原因崩溃,如果忘 ...

  9. Houdini制作全流程你知道多少,快来看看

    Houdini包含许多功能.程序和最佳实践,使制作流程能够快速处理和渲染大量复杂的场景.例如,共享 Alembic 几何可以允许管道中的各个步骤并行运行. 在 Houdini 中与代理几何交互工作并在 ...

最新文章

  1. CSS vs. JS Animation: 哪个更快
  2. 使用GitLab或者Github简单实用地将数据导入Colab的方法
  3. Win7搭建Telnet服务器 解决Access Denied: Specified user is not is not a member of TelnetClients group
  4. 7月份计划-----dream
  5. 服务器升级内存跟cpu之后性能更差,云服务器cpu重要还是内存重要
  6. 个人学习进度(第十六周)
  7. functools.partial()==>预先设置参数,使得之后调用的时候,减少函数的参数
  8. python相等的表达式_02-python-运算符与表达式
  9. c#在当前窗体的按钮事件调用另一封…
  10. 如何避免贫穷和忙碌,在2018年你需要这样提升自己
  11. androidstudio can't run git.exe
  12. 期货价格与即期价格?
  13. STM32_WS2811驱动
  14. FlexBuilder3安装集成eclipse
  15. Python程序批量校验统一社会信用代码的校验
  16. UI5-文档-4.5-Controllers
  17. python重启路由器_Python实现路由器的重启和查看实时流量
  18. 专业实验 I 实验报告
  19. LIVE555 RTSP RTP/RTCP协议介绍
  20. 云技术是什么_三分钟了解云技术的原理与发展

热门文章

  1. springboot 多模块项目构建【创建√ + 启动√ 】
  2. 2021 各式免費 sorce code final
  3. 2021-01-11经典的八皇后问题和N皇后问题, 回溯
  4. cavans图形绘制(直线、矩形、原型、贝塞尔曲线、渐变背景)
  5. 2023年广州深圳市两融开户佣金和融资融券利息率最低多少?哪个券商最低?支持量化交易
  6. TOYO东洋变频器维修VF61V-3722印刷机变频器维修
  7. 智能手环一些模块总结
  8. 再谈NAND 【转】 关于SSD的二三事,NAND闪存的一些常识
  9. GSview5.0安装步骤及问题
  10. SDNUOJ.1105.椭圆(记得避坑)