【发布时间】:2021-04-10 11:14:26
【问题描述】:
我正在尝试在 Bullet Physics 中实现布娃娃,模仿我在使用 PhysX 的 Maya 插件中创建的布娃娃。除了约束马达,我拥有 1:1 的一切。
在 physX 中,电机仅具有线性和角度阻尼/刚度以及表示为 mat4(位置和旋转)的目标。
理想情况下我会使用btConeTwist,但它似乎没有线性/角电机设置,所以我切换到btGeneric6DofConstraint,它确实提供了可访问性,我设置如下,我认为它是正确的。 ..
// Angular
joint.dof6->getRotationalLimitMotor(0)->m_damping = joint.drive_angularDamping;
joint.dof6->getRotationalLimitMotor(1)->m_damping = joint.drive_angularDamping;
joint.dof6->getRotationalLimitMotor(2)->m_damping = joint.drive_angularDamping;
joint.dof6->getRotationalLimitMotor(0)->m_limitSoftness = (1 / joint.drive_angularStiffness);
joint.dof6->getRotationalLimitMotor(1)->m_limitSoftness = (1 / joint.drive_angularStiffness);
joint.dof6->getRotationalLimitMotor(2)->m_limitSoftness = (1 / joint.drive_angularStiffness);
// Linear
joint.dof6->getTranslationalLimitMotor()->m_damping = joint.drive_linearDampening;
joint.dof6->getTranslationalLimitMotor()->m_limitSoftness = (1 / joint.drive_linearStiffness);
问题是我找不到任何方法来设置电机目标。它必须有一个,即电机的唯一用途,将刚体旋转/平移到目标旋转/平移。
Bullet 文档至少可以说缺乏,任何见解或建议都会令人难以置信。
【问题讨论】:
标签: c++ bulletphysics physx