第072封“情书”:压力山大Houdini 17 VellumTheory & Basic Setups<Entagma>Houdini 2018

▉ 生活就是如此,每段人生都有压力测试。— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】

█ “压压惊 ”

前言不搭后语

    在这个公司呆了13年,感觉像一觉醒来。外面的世界全变了。技术完全被小一轮的年轻人碾压了。

本节内容

使用houdini17新增的vellum软体动力学的解算器测试一个压缩软体的过程

本节要实现效果

.....

今天是42岁

046周一

72

这是写给Houdini的第072封“情书”

我是geo流程图

首先

制作步骤

            ○

小节提要

 houdini17带来了很多很酷的新东西,其中最令人兴奋的一个特点是vellum(一种新的对各种软体动力学的解算器),这意味着对于线,衣服,软体,像气球等软体之类的,速度解算的可以非常快,而且相对稳定。

本节将学习: 

01)建立vellum约束模拟

    a 基本的vellum约束流程

    b 几种软体的模拟

    c 几种组合预设

02) 碰撞动画

a碰撞接口合并一个压缩动画

b极端压缩的穿透问题

c平滑纠错细分模拟结果

接下来

理论部分

○ vellum ○

1)这种叫PBD的技术 :Position Based Dynamics(基于位置的动力学约束迭代):这是种非常快速的方法,解决实时动态系统的方法。

1)例如,这里有一串由“线性弹簧约束”所连接的点组成虚拟的线。这些点可能只会将“约束”扩展到给定的数量。

2)这些点本质上是球体,它们都有一个碰撞半径,

3)这些小球之间的约束。

4)所有PBD所做的就是对近似一个给定的几何体(它有点和一组约束组成)进行线性约束,这些点之间的约束会进行延申,

    接下来把这些点往下拉。

1)它并不是像想象中线的形状,不需要了解整个系统的弹簧和点的构成,PBD会有效的对球面与球面,点于点执行约束。

2)假设从第一个点开始,试着把临近点放松到两个约束条件都满足的位置。此时点之间“距离最小化”

3)对另一边的点做同样的事情

4)直到依次对所有临近的点执行约束

但是现在仍然不是期望的线性约束效果

然后又继续运行一遍约束;

PBD试着一点点的放松约束和碰撞,通过约束的点和约束,只要有足够的迭代次数,就会得到一个合力的结果。

所以这就是“约束迭代值”是PBD系统重要的子步骤的原因。在houdini17之前,使用grain这些也是可行的。

那是什么使它们很特别呢!主要是因为更简单的工作流程,还有更稳定的解决方案,

PBD一些额外的约束类型 

1)Distance(距离)/Length(长度)/Stretch(弹性)约束    

作用:在两个约束条件下的点保持一定的距离。这些约束具有“硬度”和“适应性”可以把它们看作线性弹簧

2)Rotational(旋转)/Bend(弯曲)约束

作用:在primitive之间保持一定角度。或约束一定的角度;比如一根线它只能弯曲这么大。可以想象在两个prim之间一个旋转的弹簧。

3)Volume(体积)约束

作用:它试图保持几何体的体积。只在有几何体的时候才会起作用,

其它)还有其他的约束是这三至基本类型的结合。

接下来

正式制作

          使用软件:houdini17.5

01建立vellum约束模拟

1基本的vellum约束流程 

○ 节点 ○

○ 具体操作 ○

1)从自带模型“pighead猪头”开始,Difficulty:选择类型Easy,模型简单些。  

❖ 2)使用vellum解算器:它有三个接口

        ①接口1:模拟的几何体;

②接口2:约束的几何体;

        ③接口3:碰撞的几何体;

小问题)约束如何设定几何体的行为

解决方案)

  3)加一个vollumconstraints节点:

    ①连接对应<2>的三个接口。

    ②“接口1”连“pig” 

4)grid作为地面。连接碰撞接口

节点<3>的“接口3” 

   ③Constraint Type:选择约束类型   

线框内的三个基本约束类型,其它类型都是由基础类型混合而成;

=其它类型=

1)hair:“bend弯曲”+“twist扭曲”。

2)string:“length长度”+“bend弯曲”没有弯曲。

3)cloth:  没有长度约束。

4)Tetrahedral volume:视图保持四面体的体积,所以在四面体网格中进行反馈,很容易用来模拟一种柔软的身体。

5)pressure:保持内部网格压力。 跟四面体不同,类似填充气球或充满可压缩的流体,液体,气体等的填充物。

=还有些辅助约束物=

6)Pin to Target:

7)Attach to Geometry;将模拟物附着到另一个几何体或目标点上;

8)stitch Point:比如想要把布料缝到另一些布料上制作衣服;

2 几种软体的模拟

○ 节点 ○

○ 具体操作 ○

5)放一个null节点:观察这里产生的“受限几何体”

模拟)

模拟类型1)struts

6a)另加一个约束条件:

    ①约束类型:struts;

    ②再次null进行观察;

(内部增加很多支撑线产生反向作用,能更好保留形态)

模拟)

外面局部的地方柔软抖动,但不会完全塌陷.

模拟类型2)pressure

     ③约束类型:压力pressure;

(外面有些连线,内部线比struts少)

结合有限的约束条件

3 几种组合预设 

○ 节点 ○

这些预设可以让艺术家很快的建立一些简单的模拟

A)vellum configure ballon

B)vellum configure strut softbody

02 碰撞动画

1 碰撞接口合并一个压缩动画

○ 节点 ○

07)transform

    ①增加一个48~72帧从上到下的动画。

②缩小面积。

08)merge:合并grid和transform,连<03>“碰撞接口”

2 极端压缩的穿透问题

小问题1)进一步挤压空间会产生穿透凸起等问题。

原因)

默认的substeps=1

就是一帧内只有一个子步幅,对于模拟精度太低,

解决方案)

substeps=2(这样每帧内所有模拟迭代走两遍)

小问题2)仍有穿透

解决方案)

1)给“猪头”增加“细分”节点   

---仍然有穿透---

2)提高substep=4;降低迭代=40

---大概差不多---

补充)

模拟柔体,布料,是要设置厚度,质量

也就是cloth类型下勾选厚度

所以记住要设置厚度;

3 平滑纠错细分模拟结果

○ 节点 ○

10)vellumpostprocess1

    a)平滑;b)碰撞纠正;c)模拟后的细分更安全;

今天就到这里,收功

教程翻译自entagma的网络教程

下一节::20180924 Crochet - Blending between Delaunay and Voronoi

电子邮箱:[email protected]

公众号:

微信号

你可能感兴趣的:(第072封“情书”:压力山大Houdini 17 VellumTheory & Basic Setups<Entagma>Houdini 2018)