目录
RBD Packed Object —— 创建表示大量刚体的单个DOP对象
RBD Packed Object —— 创建表示大量刚体的单个DOP对象
在DOP内创建单个DOP对象,从SOP导入几何体,使用每个primitive(包含变换和表示RBD的单个点),如packed primitive、sphere、tube等;每个primitive提供碰撞体,和点属性(用于储存方向、质量、速度的信息);
所得到的DOP对象在表示大量的对象方面,比RBD Fractured Object DOP、RBD Point Object DOP更有效;当前仅适用于Bullet Solver;
| Name | Type | Description |
| active | int | 指定是否对其他对象做出反应,默认由initial object type设置; |
| animated | int | 指定变换transform(pack后的)是否更新,仅active为0时使用,默认由initial object type设置; |
| deforming | int | 指定是否重建碰撞外形(即变形),默认由initial object type设置; |
| name | string | 对象唯一名字,会被Constraint Network用于识别约束赋予的对象; |
| orient | quaternion | 围绕pivot的方向;当调整此属性时,解算器会自动更新变换; |
| P | vector | 对象质心的当前位置; |
| pivot | vector | 应用方向的枢轴点;如computecom不为0,将从碰撞形状解算,否则由Center of Mass设置; |
| v | vector | 对象线速度,可由Velocity参数设置; |
| w | vector | 对象角速度(弧度),可由Angular Velocity参数设置; |
| age | float | 对象年龄(秒); |
| life | float | 最大年龄(秒); |
| dead | int | 指定对象在下次解算中是否被删除;POP Kill可被用于生成此属性; |
| pscale | float | 围绕pivot统一的缩放,与scale相乘; |
| scale | vector | 围绕pivot统一的缩放,与pscale相乘;解算器会自动更新碰撞体和inertial tensor; |
| restxform | matrix | 初始变换,当前变换是初始变换和position transform的合并;position transform被P, rest, pivot, orient, pscale, scale定义,这些属性会自动初始化; |

本文介绍了如何利用RBDPackedObject在DOP中高效表示大量刚体,特别是与BulletSolver结合时的优势,包括点属性的详细说明以及与BulletSolver相关的碰撞处理和解算器内部机制。还提到了与cloth、solid和wire碰撞的支持,以及ConstraintSolver的并行算法在不同场景下的性能优化。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



