RBD —— RBD SOP

本文介绍了Houdini中几个关键的RBD工具,如RBDConfigure用于设置刚体属性,RBDBulletSolver简化刚体模拟,以及RBDConstraintsfromCurves和RBDConstraintsfromLines用于创建约束。还提及了如何处理变换、动画化和几何体变形,以及注意事项。

RBD Configure —— 打包并配置刚体属性

        对Geometry和Proxy Geometry打包(如未打包),并在模拟几何体上创建属性(如无可用的Proxy Geometry,在Geometry上创建);

        可用于对不同RBD对象,单独设置属性或特性;Physical Attributes是非常有用的,对不同材质类型有许多预定义(density、friction、bounce);还有许多Visualization可视化选项;

注,打包后组会被忽略,解包后组和属性是可用的;

RBD Bullet Solver —— 子弹解算器

        此解释器是DOP的封装,以简化刚体模拟;如没有代理几何体的输入,则使用第一个端口的输入;

  • 第二端口输入是约束几何体,可由RBD Material Fracture SOP或RBD Constraints From Lines/RBD Constraints From Curves/RBD Constraints From Rules创建;
  • 第三个端口是用于模拟的代理几何体,是几何体的简化版;
  • 第四个端口是碰撞几何体,可使用RBD Configure SOP配置;
  • 第五个端口是引导几何体,既可packed geometry也可是mesh(会被转化为packed fragments);使用引导几何体的变换矩阵来驱动被引导的碎片;

        如使用collisionignore,模拟几何体可使用rbd_object,碰撞几何体可使用collision_object,碰撞地面可使用groundplane; 当添加impact时,impact点可通过OUT_IMPACT_POINTS获取;

  • 应小心既有name点属性也有name面属性或一些有name属性一些没有name属性;
  • 非激活的时约束不会跟随,如对激活有K帧,会对产生不匹配,对soft、hard会有问题;
    • 可使用RBD Deforming to Animated(packedfulltransform);

 RBD Constraints from Curves —— 绘制曲线约束

RBD Constraints from Lines —— 绘制线段约束

  • 绘制的蓝线并不是约束,是依据它生成对应的约束(surface points、hinges、center of mass);
  • Hinges的位置很重要,影响约束,可手动移动;
  • 还可导入现有的曲线,注意restlength;
  • wire节点是独立prim构成,polywire节点生成的是一个整体;

 

RBD Match Transforms —— 匹配对应的变换

  • 参考第四个端口,提取变换信息,然后应用到其他流接口(如constraint geometry等);
  • 内嵌Extract Transform节点;

RBD Deforming to Animated —— 将deforming几何体转化为animated几何体

  • 变换信息附加到packedfulltransform属性;

RBD Deforming Pieces —— 使用代理几何体对几何体变形

  • 根据代理几何体的点云,变形几何体;
  • 使用属性或约束来限制影响;

Discovering Houdini RBD 4 - lesson 05_哔哩哔哩_bilibili

### 使用 Houdini 实现破碎和爆炸效果 在 Houdini 中实现破碎和爆炸效果通常涉及 Rigid Body Dynamics (RBD) 和其他动力学工具。以下是具体方法: #### 设置场景并准备模型 为了创建破碎效果,首先需要准备好要破碎的对象。可以使用 `Fracture` 工具来分割对象成多块。这一步骤可以通过 `Modeling` 类别下的 `Shatter` 节点完成。 ```houdini // 创建一个简单的立方体作为测试对象 geo { add sop box {} } // 应用 Shatter SOP 来打碎这个盒子 shatter1 { set divisions 8; // 控制碎片数量 } ``` #### 添加粘合约束 为了让破碎后的部分保持在一起直到受到外力作用,在应用 `RBD Fractured Object` 后应添加 `Glue Constraints`。通过调整这些参数可以让物体看起来更加自然地破裂开。 对于具体的设置,如果希望控制哪些部位更容易断裂,则可以在 `glueconrel` 的 data name 改为 `Glue_Outside` 并将 strength 设定为较低值[^4]。 #### 动力学模拟配置 接下来就是配置整个系统的动态行为。选择合适的求解器非常重要;一般情况下会选用 `DOP Network` 下面的 `RBD Solver` 或者更高级别的 `Bullet Solver` 进行碰撞检测与响应计算。 当涉及到爆炸时,除了基本的动力学属性之外还需要引入额外的力量源——比如气流或者冲击波。这时就可以利用 `Force Field` 或者自定义 VEX 表达式向系统注入能量。 #### 渲染最终结果 最后一步便是确保所有元素都已正确连接到渲染树形结构中去,并且设置了恰当的材质球以获得逼真的外观质感。考虑到性能因素,可能还要优化一下缓存策略以便更快预览动画片段。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值