

上图使用的Vellum Constraint类型:Cloth+Pressure(柔体气球),String(柔体绳子),Shap Match(简易刚体),Weld point(焊接点)等,连接在一起,在1个Vellum中解算即可

上图使用的Vellum Constraint类型:Cloth(柔体布)、Shap Match(简易刚体)

上图使用的Vellum Constraint类型:Cloth(柔体布)、Grain(沙砾)
《动图白皮书》系列主要针对晦涩、纠结的参数面板数据进行解析。从这个角度来说,本节实在是“没啥可说的”——Shape Match中几乎所有参数,都是Vellum Constraint节点的“常见参数”,在“Hair & String”中已经进行过介绍,点击“前序小结”即可查阅
Shape Match参数“没啥可说的”的另一个原因,是因为Vellum中内置的这种“简易刚体”特别简单——核心就是系统把物体的Rest Length(初始长度,点与点之间,也即每条边)和Rest Angle(初始角度,从一个点出发的每两条边的空间夹角)全部“固定”住(而我们看见的柔体型变,大多是以这两个参数变化为基础的),“柔体”的这两个核心属性被“锁死”,留给用户需要操作和定义的,自然就没多少了
当然,Shape Match的面板中还是勉强保留了Stretch参数模块,系统应对默认值是“直接最大”(1e+10),一般情况下都不需要调整这个参数(特别是向下调整)
如果你对Vellum的基本参数已经非常熟悉,本小节最重要的“干货”,可能就是开篇3张图所表达的内容——Vellmu不止有以Cloth和Hair为代表的典型柔体解决方案,也有对简易刚体、沙砾甚至流体的解决方案,是一个“一站式”的解决方案包,可以帮我们轻松应对一些不太复杂的创意项目
“一站式解决方案包”的意思是,你可以“简单的”把Cloth、Hair、刚体、沙砾、流体等连接在一起,加1个Vellum解算器,就能计算和实现这些物体的相互影响,而不需要在其它DOP系统里“进进出出”,项目的复杂性和操作难度会降低很多(当然复杂项目肯定还是需要)
Shape Match是Vellum Constraint“内置”的17种“Type”中的一种(以19.5版本为例)
面板中绝大多数参数是“熟面孔”,本节重点对几个“要点参数”进行一些扩展讲解


上图图解
因为就是控制刚体这个“简单”的“死框架”,Shape Match中使用的驱动型变的“约束器”(Constraint)的结构相比Cloth的要“简单”很多,可以粗糙的比喻为“扎灯笼”用的钢丝骨架
这种简易“骨架”的缺点也很明显——因为太“粗糙”,也可能出现“支撑硬度不足”的问题
为了进一步强化支撑和刚性,Houdini强烈建议对物体用【Remesh节点】先进行处理,“细化”支撑结构(见下图)

在Mass的模式选择中,Houdini官方帮助特别推荐选择“Calculate Uniform”,搭配上面“Remesh”节点的共同使用,使点的分布和质量的分布都尽可能“均匀”,保障解算效果,
这一块就不配图了,重点“转述”官方提示
无论把物体设置的多么“硬”,进入解算(毕竟是Vellum体系)的物体,还是有可能发生轻微的“变形”
为了改善这个问题,Houdini官方建议把解算出来的“刚体网格面(geometry,用于显示的面,Solver三个输出点的第1个)”,用“原始物体网格面”进行“替换”。这样,最后显示出来的物体,可以确保和原始物体100%一样(不变形),看起来就是真正的“刚体”了
要实现这个“替换”,大致有“旧”(下左图)、“新”(下右图)两种方式

旧方法的节点组合是:【Assemble】+【Extracttransform】+【Tranformpieces】,优点是传统、稳定,可控参数多
新方法的节点组合是:【Assemble】+【Vellumxformpieces】,其中vellumxformpieces是Vellum体系内的点,打包了旧方法中两个节点的功能,跟简洁高效(但我具体使用时还是有些小问题,还需要进一步研究)
不管用新旧哪种方法,最关键的第一步,都是Assemble

Assemble的目的,是给要“替换”的两组物体建立“关联”,主要是通过“起名字(name)”,让彼此“认识”
一定要注意,在Assemble节点内,不能“打包”、不能“打包”、不能“打包”(这个主要是与Houdini的DOP中一般刚体操作习惯相反,在那个体系里,刚体通常要顺便“打包”),也即Create Packed Primitives选项不要勾选
Assemble后,物体在Primitives上会增加一个叫@name的属性,这个“name”,在下游节点,比如Vellumxformpieces中、Tranformpieces中,都需要正确填写(就是输入:name;有时系统默认是错的,piece,需要手动修改)(见上图)
《Cloth 及类似Type Constraint》