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

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

+trailbc18.jpg

█ “ 人生轨迹”

前言不搭后语

      一同毕业的同学,经过20年,每个人生阶段看似不经意的选择,都会产生截然不同的人生轨迹。当时选择进入电视台,当时一个轻松的选择,也许真的是个错误的决定。十多年之后这个当时细小的偏差,如今却造成了绝大的不同。

本节内容

在vellum中模拟两个连接的钟摆如何产生毫不相同的轨迹

本节要实现效果
.....





20190204Quicktip- Double Pendulum in Vellum2.png

今天是42岁
056周四

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


我是geo流程图

image.png

我是vex代码

设置ID:0点的质量

  f@mass = 0.0;

首先
制作步骤

            ○
小节提要

本节将学习: 

01)设置初始状态

02) 设置vellum约束 
03) 增加钟摆运动幅度 
04) 增加钟摆尾部轨迹 。


接下来
正式制作
            使用软件:houdini17.5


0 1设置初始状态



○ 节点 ○

image.png


○ 具体操作 ○

  小目标1 

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

? 解决方案 ?

  01)line :一根倾斜的线

    a)角度:Direction x=0.4; 

    b)三个点:points=3;

image.png

○  第一初始状态 ○

  小目标2 

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

? 解决方案 ?

使用“变换节点”

    02)transform:

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

image.png

image.png

○ 第二初始状态 ○


0 2 设置vellum约束


○ 节点 ○

image.png


○ 小目标1 ○

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

? 解决方案1 ?

    3)vellum constraints节点:

image.png

  小目标2 

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

? 解决方案2 ?

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

    4)vellum solver:vellum解算器

    5)pointwrangle:id:0质量=0

image.png


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

    3)vellum constraints节点:

image.png


○ 基本设置完成 ○

01)播放。



❖○ 小问题 ○❖

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



0 3 增加钟摆运动幅度


○ 节点 ○

image.png

? 解决方案 ?

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

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

image.png

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

image.png




0 4 增加钟摆尾部轨迹


○ 节点 ○

image.png

? 解决方案 ?

A)只保留点:ID:2

    6)blast:

image.png

B)增加轨迹

     7)trail:

image.png

❖○ 小问题 ○❖

            B1)摆动运动速度太快;

            B2)轨迹分辨率太低


? 解决方案 ?

B1)减少timescale 

    3)vellume solver:

image.png

B2)重采样路径

    8)resample:

image.png


  

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


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



05 番外篇:Vellum约束类型


○ 节点 ○


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

2)torus1:

image.png

3)vellumconstraints1:

4)vellumsolver1:

image.png


测试 不同约束类型 


(一)Distance Along Edges 


○ 保持边缘长度约束○ 

image.png


(二)Bend Across Triangles   


○  保持该边缘长度约束 ○ 

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

image.png

  ? 解决方案 ? 

5)vellumconstraints2:

    a)再在添加一个约束

image.png

    b)类型改成Distance Along Edges。

image.png


(三)cloth


○  布料约束 ○ 

    6)vellumconstraints切换cloth类型:

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

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

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

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

image.png

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

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


(四)hair

○  毛发约束 ○

      ? 这里需要polyline,而不是polygon;

    8)grid

        a)改变grid的连接类型。

image.png

        b)播放

image.png

        c)毛发约束属性:

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

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

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

image.png



(五)string

○  纤维,串约束 ○

      ? 跟hair很相似;

   6)vellumconstraints切换string类型:

        a)看一下“电子表格”

image.png

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

        c)约束更简单。


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

image.png


      ? 跟其他的约束结合使用;

1)Pin to Target

❖作用❖

把模拟点固定在给定位置

image.png

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

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

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

image.png

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

? 解决方案 ? 

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

image.png

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

2)Attach to geometry

2)Attach to geometry

❖ 作用 ❖

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

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

❖ 小目标 ❖

attach给几何体  

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

image.png

    a)播放

❖ 小问题 ❖ 

image.png

有些奇怪的效果

? 应用方案  ? 

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

3)stitch  points

❖ 作用 ❖

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

❖ 举个栗子❖

执行)

    a)建立一个tube替换grid:

image.png

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

image.png

image.png

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

image.png


   ? 应用方案  ? 

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

❖ 小目标 ❖  

缝合两组点

❖ 解决方案 ❖ 

○ 设置两组点;硬度;

image.png


4)pressure

? 应用方案  ? 

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

❖ 测试 ❖

     a)禁用cloth约束;显示null  

image.png

image.png

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

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


5)tetrahedral volume

❖ 作用 ❖

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

❖ 举个栗子❖

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

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

image.png

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

image.png

? 应用范围 ? 

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

6)struts

❖ 举个栗子 ❖

    a)切换struts约束

image.png

❖ 作用 ❖

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

image.png

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

最后两种约束

image.png

7)Glue

❖ 举个栗子 ❖

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

image.png

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

image.png

   ❖ 作用 ❖

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

image.png

    ○ 然后把两部分连接起来     

   ❖ 执行 ❖

    a)“最大搜索距离”

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

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

image.png


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

8)Weld Points

❖ 作用 ❖

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

2)

❖ 举个栗子 ❖

把布分割成几部分 

    a)edgefracture1节点

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

image.png

    c)启用“weld points”

image.png


❖ 小目标❖

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

❖ 解决方案 ❖ 

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



20190204 Quicktip- Double Pendulum in Vellum1.jpg


封面图片7.jpg
教程翻译自entagma的网络教程
下一节:: 
电子邮箱:oneinchtime@126.com

公众号:微信图片_20190607085947.jpg微信号


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值