您的位置:首页 > 产品设计 > UI/UE

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

2019-08-09 08:33 971 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/sinat_33115291/article/details/98936820

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

█ “ 人生轨迹”

前言不搭后语

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

本节内容

在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的网络教程下一节:: 电子邮箱:oneinchtime@126.com

公众号: 微信号


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐