Houdini中文网站 > 使用教程 > Houdini粘性碰撞
Houdini粘性碰撞
发布时间:2024/08/06 18:07:22

  基本 SOP 设置

  粘性碰撞是使用RBD 配置 SOP创建的,用于基本碰撞检测。在那里,您可以找到带有各种参数的粘性碰撞子窗格。该系统使用粘性对象和目标对象工作。这两个名称只是为了区分事物的定义。

  一个基础网络由两个分支组成:一个用于粘性部分,另一个用于目标。最后,两个分支合并并连接到RBD Bullet Solver SOP解算器或DOP Network SOP。

  例如,为了演示粘性碰撞,我们模拟了破裂的地面物体(目标)与圆柱体(粘性)的碰撞。当圆柱体与地面碎片接触时,一些碎片会粘在目标物体上。

  例子

  步骤 1:创建目标对象

  目标物体是一个将要破裂的盒子。

  使用创建架上的“Box”工具创建一个盒子。

  双击box_object1即可深入到几何级别。

  将盒子的尺寸值设置为5、0.1和 ,5以创建一块薄玻璃板。

  将Center参数的 Y 值更改为ch("sizey")/2。此表达式取框的Scale.Y值并将其减半。这使得框直接位于地平面上,无论它有多厚。我们稍后会添加地平面。

  第 2 步:断裂物体

  Houdini 提供了几种方法来破碎物体。最方便和最逼真的方法是基于材质的破碎。

  添加RBD Material Fracture SOP并将其第一个输入与 Box SOP 的输出连接起来。

  在“主要断裂”选项卡上,将“断裂等级”设置为,1以创建不太复杂的断裂模式。

  在“单元格点”部分,增加“散点”以400增加碎片数量。

  在“雾量”部分中,将“噪声频率”更改为2、0、2。

  将“噪声偏移”的值更改为0、0、2。这会使裂缝沿 XYZ 轴移动,并使碎片分布更均匀。下图显示了默认设置和修改后的设置之间的差异。

  步骤 3:标记为目标对象

  在此步骤中,目标物体被标记为刚体。

  添加RBD Configure SOP并将其第一个输入连接到 RBD Material Fracture 节点的第一个输出。

  在“属性”部分中,将“名称前缀”设置为target。

  步骤 4:创建粘性对象

  粘性物体是一根具有一定初始线速度和角速度的管子。管子在目标立方体上滚动并收集一些玻璃碎片。

  写下Tube SOP。

  在方向下拉菜单中,选择Z 轴

  打开“端盖”使其成为封闭的圆柱体。

  使用中心参数将管转换为3、1.1、0。

  将高度设置为2。

  将列的值更改为60以创建更平滑的表面。

  为了赋予管一些初始速度,添加两个Attribute Adjust Vector SOP节点。

  将第一个节点的输入连接到管的输出。

  将第二个节点的输入连接到第一个 Attribute Adjust Vector SOP 的输出。

  转到两个节点的属性名称参数,第一个v节点输入,第二个节点输入。属性代表线性()和角()速度。wvw

  将的常量值设置为,,。这会使管沿负 X 方向移动。v-5.500

  将的常量值设置为、、。这会使管绕其 Z 轴旋转。w008

  步骤 5:创建粘性碰撞

  粘性分支的最后一个节点将管变成具有粘性碰撞的刚体。

  添加另一个RBD Configure SOP并将其第一个输入连接到最后一个 Attribute Adjust Vector 节点(角速度节点w)的输出。

  在“属性”部分中,将“名称前缀”设置为sticky。

  转到“粘性碰撞”部分并打开“最小粘性碰撞脉冲”。脉冲依赖于子步,调整起来可能有点棘手。如果撞击足够强,解算器会将粘合约束添加到约束网络。

  改变参数的值以15使更多的碎片粘在管子上。

  步骤 6:合并分支

  为了完成设置,我们必须将粘性分支和目标分支合并在一起进行模拟。

  添加合并 SOP并将其输入连接到 RBD 配置 SOP 的第一个输出。

  添加RBD Bullet Solver SOP,并将其第一个输出与 Merge SOP 的输出连接起来。

  转到“碰撞”选项卡的“地面碰撞”部分。从“地面类型”下拉菜单中,选择“地面”以创建无限碰撞平面。

  按下播放栏上的

 

  播放按钮开始模拟。您应该会看到类似于以下视频的结果。

  提示

  尝试不同的线速度和角速度、脉冲阈值和管位置来感受参数值。

读者也访问过这里:
135 2431 0251