欢迎光临散文网 会员登陆 & 注册

[Houdini] RBD constraints创建工具

2022-04-13 19:04 作者:pandahgt  | 我要投稿

背景知识:物体经过pack打包成一个点来给bullet solver解算,solver用点上的name属性判断哪些部分属于同一块。要告诉solver哪两个碎块是连在一起的,需要通过constraints geometry,也就是约束,一条线。线上的点的name属性告诉solver它连接的是哪两个碎块,R线的prim级别上的属性告诉solver这个约束的名字和属性。

手动对物体破碎和创建约束很繁琐,houdini在17.5提供了更方便的工具。

Rbd Material Fracture节点 能对物体进行不同类型的破碎并创建约束。

Rbd Material Fracture

Use Tags ,是否给约束创建Tags属性,这是Prim级别上的string类型的属性,记录了约束是在连接哪个级别的破碎。

Apply Constraint Properties,是否添加约束属性。勾选后会在约束上添加strength,restlength等属性。

Level Multiplier ,对于不同级别的破碎的约束,会添加不同的强度。第一级破碎约束强度是Primary Strenght,第二级破碎约束的强度会乘以这个参数。

Strength Variance ,对约束强度进行随机。


Rbd Constraints From Lines 和Rbd Constraints From Curves节点 能通过手动在窗口画线,通过画的线创建约束。 Rbd Constrains Frome Rules 能在不同的组之间创建约束。这3个节点都是创建约束线,添加组属性,没有添加约束属性.。

Rbd Constrains Frome Rules

这3个节点上的Connection Type和Connection Adjacent Pieces节点的Connection Type一样,选择怎么创建约束。Group Type选项选择是否给约束添加组属性或者Tag属性。

Connection Adjacent Pieces

创建好约束后,Rbd Constraint Properties节点可以给这些约束添加约束属性。通过选择Constraint Type来添加不同约束特有的属性。

Rbd Constraint Properties

Sop里的Rbd Bullet Solver节点也有约束相关的设置,这里对应的是dop里的constraint network节点和各种Constraint Relationship节点。要知道约束的name属性单纯只是一个名字,dop里的不同的约束器通过名字来获取这些叫这些名字的约束信息然后应用,就是这里的Date Name。这里的属性设置对约束已有属性做的是乘法,比如一个约束已经有10000的strength属性,这里设置成2,那实际的强度是10000*2=20000。

Rbd Bullet Solver
Rbd Bullet Solver内部


[Houdini] RBD constraints创建工具的评论 (共 条)

分享到微博请遵守国家法律