RBD —— DOP Nodes

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

目录

RBD Packed Object —— 创建表示大量刚体的单个DOP对象

Bullet Solver —— 子弹解算器


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;

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 transformPrestpivotorientpscale, scale定义,这些属性会自动初始化;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值