▉生活的画家一定是个抽象派,它总是把人们的生活轨迹画的充满变数。— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】
█ “ 人生轨迹”
前言不搭后语
一同毕业的同学,经过20年,每个人生阶段看似不经意的选择,都会产生截然不同的人生轨迹。当时选择进入电视台,当时一个轻松的选择,也许真的是个错误的决定。十多年之后这个当时细小的偏差,如今却造成了绝大的不同。
在vellum中模拟两个连接的钟摆如何产生毫不相同的轨迹
我是geo流程图
f@mass = 0.0;
首先
制作步骤

本节将学习:
01)设置初始状态
正式制作
○ 节点 ○

○ 具体操作 ○
❖ 小目标1 ❖
“双摆旋转”的“第一个初始状态”
? 解决方案 ?
01)line :一根倾斜的线
a)角度:Direction x=0.4;
b)三个点:points=3;
○ 第一初始状态 ○
❖ 小目标2 ❖
“双摆旋转”的“第二个初始状态”
? 解决方案 ?
使用“变换节点”
02)transform:
○ 第二初始状态 ○
○ 节点 ○

○ 小目标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)播放。
❖○ 小问题 ○❖
本例不希望:钟摆模拟减弱并消失
○ 节点 ○

? 解决方案 ?
4)vellum solver: 风力,摩擦力,动态刻度都=0
○ 节点 ○

? 解决方案 ?
6)blast:
7)trail:
❖○ 小问题 ○❖
B1)摆动运动速度太快;
B2)轨迹分辨率太低
? 解决方案 ?
3)vellume solver:
8)resample:
小改动
1)“点ID:2”增加z轴的偏移。产生3D的轨迹
2)增加一个“点ID:1”的轨迹。
○ 节点 ○

1)grid1:size=2*2; 分辨率:50*50
2)torus1:
3)vellumconstraints1:
4)vellumsolver1:
○ 保持边缘长度约束○
○ 保持该边缘长度约束 ○
每一对三角形创建一个三角形之间的约束保持最初的二面角
? 解决方案 ?
5)vellumconstraints2:
a)再在添加一个约束。
b)类型改成Distance Along Edges。
○ 布料约束 ○
6)vellumconstraints切换cloth类型:
7)<6>d1中间输出槽连接 null:
a)在几何体sheet表中有“弯曲”“距离”约束条件。
b)每个prim都有每个的约束属性。
c)高亮可以看出约束网格:可以选择不同网格类型。
? 为了驱动模拟行为,就要影响prim的参数;比如“硬度stiffness”“restlength”“阻尼damping”.
? 接下来,对毛发进行限制;
○ 毛发约束 ○
? 这里需要polyline,而不是polygon;
8)grid
a)改变grid的连接类型。
b)播放
c)毛发约束属性:
1 它在相邻点之间强制一个给定角;
2 还会执行一个给定的扭曲约束,所以头发绳子不会在它们里面扭曲;
3 它还有伸展约束,加强点距离,
○ 纤维,串约束 ○
? 跟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失效,也就达到撕裂效果


公众号:微信号