CGCircuit – 为VFX和Houdini构建流体求解器 – 第1&2部分
标题:CGCircuit – 为VFX和Houdini构建流体求解器 – 第1&2部分
信息:
第1部分
你是否梦想过构建自己的流体模拟引擎——像Houdini、RealFlow或你自己的自定义求解器?你来对地方了。
本系列的第1部分是你进入模拟编程世界的入口。我们将从魔法背后的数学开始:理解和从头构建流体求解器所需的微积分和线性代数基础。
但别担心——这不是枯燥的学术数学课程。这是简化的流体模拟数学,即使你只记得一点学校水平的数学也能理解。我们将从基础开始——从什么是函数开始,一直到偏导数、散度、旋度,以及为你所见过的每一个烟雾、火焰和水模拟提供动力的矢量微积分。
通过本课程,你将理解模拟专业人员使用的数学语言,并完全准备好进入第2部分,在那里我们将开始使用伪代码和Houdini微求解器构建求解器。
你将学到什么 – 章节分解
第1章:微分学 我们将从微积分1基础开始。什么是函数?什么是导数?如何计算它们?我们将通过大量示例介绍常见的微分技巧。
第2章:积分学 我们将介绍积分作为微分的逆过程,并练习模拟物理中所需的多种积分技巧。
第3章:多变量微积分与模拟核心数学 这是事情变得真实的地方。你将学习如何对多变量函数进行微分和积分,并探索流体模拟中最基本的导数算子:
- 梯度
- 散度
- 旋度
- 拉普拉斯算子
- 以及更多。
我们还将介绍你需要的线性代数概念——不会太高级,只关注对你的求解器重要的内容。
重要提示: 构建一个像Houdini或RealFlow那样功能齐全的求解器需要多年的研发和一个大型开发团队。本课程并不旨在复制这一点——但它为你提供了进入该领域的钥匙。无论你是想编写自己的模拟工具、更好地理解求解器的工作原理,还是成长为一名FX TD,本课程都是你的第一步。
第2部分: 在本模拟系列的第二部分中,我们深入流体的世界——将复杂的数学和模拟逻辑分解为易于理解、实用的概念。如果你已经学习了第1部分,你已经对数学基础有了扎实的掌握,现在你将学习如何使用它们通过逐步伪代码和真实的Houdini示例来模拟流体。
本课程并非试图构建一个功能齐全的商业流体求解器(这需要多年时间和专门团队),而是作为你的发射台——为你提供构成每个现代流体模拟器核心的核心思想、数学概念和求解器技术。
第1章:常微分方程、偏微分方程和矩阵 理解模拟中使用的方程类型——常微分方程和偏微分方程——以及线性代数和矩阵如何支持它们。
第2章:流体方程 以简化的、易于理解的方式探索著名的纳维-斯托克斯方程。理解它们是如何推导的,以及它们如何与现实世界的流体行为相关。我们还介绍边界条件。
第3章:MAC网格与离散化 学习如何对模拟的空间和时间进行离散化。我们将重点介绍标记-网格(MAC)技术,该技术广泛用于流体求解器。
第4章:平流技术 深入流体模拟的平流步骤。你将理解半拉格朗日方法、其简单性及其缺点(如人工扩散)。
第5章:强制执行不可压缩性 这是实现真实流体的核心!学习如何应用不可压缩条件、求解得到的线性系统以及有效处理边界条件。
第6章:Houdini中的简单烟雾求解器 看到一切付诸实践。你将使用Houdini的DOP微求解器构建一个简单的烟雾求解器,将理论转化为实际工作流程——这是在编写自己的求解器代码之前的关键一步。

