第083封“情书”:画家Quicktip- Double Pendulum in Vellum<Entagma>Houdini 2019

▉生活的画家一定是个抽象派,它总是把人们的生活轨迹画的充满变数。— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】

█ “ 就像毕加索的画,人生轨迹抽象而诡异莫测”

前言不搭后语

人的一生,总是有很多选择时刻。很多鬼使神差的选择,可能是一个改变了生命的运行轨迹的决定,看似不经意冥冥之中却似有定数。       

本节内容

在vellum中模拟两个连接的钟摆如何产生兜兜转转的轨迹

本节要实现效果

.....

今天是42岁

056周四

83

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

我是geo流程图

我是vex代码

设置ID:0点的质量

  f@mass = 0.0;

首先

制作步骤

            ○

小节提要

本节将学习: 

01)设置初始状态

02)设置vellum约束 

03)增加钟摆运动幅度 

04)增加钟摆尾部轨迹。

接下来

正式制作

          使用软件:houdini17.5

01设置初始状态

○ 节点 ○

○ 具体操作 ○

❖小目标1❖

“双摆旋转”的“第一个初始状态”

解决方案

  01)line :一根倾斜的线

    a)角度:Direction x=0.4; 

    b)三个点:points=3;

○  第一初始状态 ○

❖小目标2❖

“双摆旋转”的“第二个初始状态”

 解决方案 

使用“变换节点”

    02)transform:

为了让钟摆在2d平面上运动,z轴取值为0

○ 第二初始状态 ○

02设置vellum约束

○ 节点 ○

○ 小目标1 ○

本例只需要“长度约束”类型

 解决方案1

    3)vellum constraints节点:

小目标2

设置“ID:0”为“双摆第一段的轴点”

 解决方案2

A)ID:0点的质量=0:

    4)vellum solver:vellum解算器

    5)pointwrangle:id:0质量=0

B)其它点应用质量和厚度:

    3)vellum constraints节点:

○ 基本设置完成 ○

01)播放。

❖○ 小问题 ○❖

本例不希望:钟摆模拟减弱并消失

03 增加钟摆运动幅度

○ 节点 ○

 解决方案

A)取消vellum解算的各种外力

     4)vellum solver: 风力,摩擦力,动态刻度都=0

B)减少迭代值,增加次级步幅

04 增加钟摆尾部轨迹

○ 节点 ○

 解决方案

A)只保留点:ID:2

    6)blast:

B)增加轨迹

     7)trail:

❖○ 小问题 ○❖

            B1)摆动运动速度太快;

            B2)轨迹分辨率太低

 解决方案

B1)减少timescale 

    3)vellume solver:

B2)重采样路径

8)resample:

  

小改动

1)“点ID:2”增加z轴的偏移。产生3D的轨迹

2)增加一个“点ID:1”的轨迹

05 番外篇:Vellum约束类型

○ 节点 ○

1)grid1:size=2*2; 分辨率:50*50

2)torus1:

3)vellumconstraints1:

4)vellumsolver1:

测试 不同约束类型 

(一)Distance Along Edges 

○ 保持边缘长度约束

(二)Bend Across Triangles  

保持该边缘长度约束 ○

每一对三角形创建一个三角形之间的约束保持最初的二面角       

解决方案

5)vellumconstraints2:

a)再在添加一个约束

    b)类型改成Distance Along Edges。

(三)cloth

布料约束 ○

6)vellumconstraints切换cloth类型:

7)<6>d1中间输出槽连接 null:

a)在几何体sheet表中有“弯曲”“距离”约束条件。

b)每个prim都有每个的约束属性。

c)高亮可以看出约束网格:可以选择不同网格类型。

     为了驱动模拟行为,就要影响prim的参数;比如“硬度stiffness”“restlength”“阻尼damping”.

接下来,对毛发进行限制;

(四)hair

毛发约束 ○

  这里需要polyline,而不是polygon;

    8)grid

a)改变grid的连接类型。

b)播放

        c)毛发约束属性:

            1 它在相邻点之间强制一个给定角;

2 还会执行一个给定的扭曲约束,所以头发绳子不会在它们里面扭曲;

3 它还有伸展约束,加强点距离,

(五)string

○  纤维,串约束 ○

  跟hair很相似;

6)vellumconstraints切换string类型:

a)看一下“电子表格”

        b)这里不限制没跟string的扭曲,更容易的约束模拟,比hair计算速度更快。

        c)约束更简单。

测试 剩下的约束要结合上面几种约束 

  跟其他的约束结合使用;

1)Pin to Target

❖作用❖

把模拟点固定在给定位置

   9)第一个约束:cloth类型:

   10)第二个约束:Pin to Target类型        

        a)小问题)播放没反应。

因为)pin约束传入的几何体

解决方案

1)换soft,硬度减小=20,布料整体上下浮动

pin就像弹簧一样,拉回它原来的位置。

2)Attach to geometry

2)Attach to geometry

❖ 作用 ❖

1)它会找到与目标geo表面最近的点,

2)建立弹簧连接保持点与表面的距离。

❖ 小目标 ❖

attach给几何体  

解决方案)把geo拖到Target Path栏

    a)播放

❖ 小问题 ❖ 

有些奇怪的效果

 应用方案   

   类似胶水,粘贴“geo”到“碰撞体”上

3)stitch  points

❖ 作用 ❖

缝合约束,用来缝合不同的几何体

❖ 举个栗子❖

执行)

a)建立一个tube替换grid:

b)选择一些面,删除;打组;旋转;

c)暂时使“stitch缝合约束”失效,播放。

    应用方案   

如果)斗篷盖在跑步的角色身上,它需要缝合一些点,可以把选择两组点组合在一起   

❖ 小目标 ❖  

缝合两组点

❖ 解决方案 ❖ 

○ 设置两组点;硬度;

4)pressure

 应用方案   

充气气球&充气玩具吸收了压缩气体的geo

❖ 测试 ❖

     a)禁用cloth约束;显示null  

    b)电子表只有一个prim的压力约束    

因为这个储存了我们输入的对象的体积,它根据刚度参数,试图强制执行这个体积。     

5)tetrahedral volume

❖ 作用 ❖

四面体体积约束的是:一个有四面体网格填充的网格,

❖ 举个栗子❖

    a)Clip节点,剪掉一部分geo。

b)clip前加入“solidconform”可以观察里面充满四面体。

c)使clip失效;播放,有些慢,有些硬

 应用范围  

气球或充满不可压缩液体的物体(水,油等),如果pressure约束表现得太软,这是一种选择   

6)struts

❖ 举个栗子 ❖

    a)切换struts约束

❖ 作用 ❖

○ 它试图在一个网格上寻找相反的点,然后把两个点连接起来,产生一个简单的类似软体的约束;

○ 这种模拟速度很快,对于基本的软体,它不会被压的太厉害,这是一种非常快速简单的稳定的软体模拟方法。

最后两种约束

7)Glue

❖ 举个栗子 ❖

    a)transform和merge创建grid,得到两个错位的不相连的网格;

    b)Glue失效,播放,第二块布会滑下来。

   ❖ 作用 ❖

     ○ 它会寻找,不在一块“几何体”上的临近的点,所以它不会自身相连。

    ○ 然后把两部分连接起来     

   ❖ 执行 ❖

    a)“最大搜索距离”

    b)“最大点数”搜索每个点的约束; 

c)“约束每个点”:增强硬度

两块连接在一起,一起滑落下来

8)Weld Points

❖ 作用 ❖

1)自动将相邻的点缝合在不同的网络。

2)

❖ 举个栗子 ❖

把布分割成几部分 

    a)edgefracture1节点

    b)禁用“二级约束”播放:

    c)启用“weld points”

❖ 小目标❖

达到某一条件,焊接的布料撕裂

❖ 解决方案 ❖ 

有个break的特性,高于某一阈值,weld失效,也就达到撕裂效果  

教程翻译自entagma的网络教程

下一节:: 

电子邮箱:[email protected]

公众号:

微信号

你可能感兴趣的:(第083封“情书”:画家Quicktip- Double Pendulum in Vellum<Entagma>Houdini 2019)