【发布时间】:2014-06-24 03:04:02
【问题描述】:
我有一个简单的问题:如何将btConvexShape 转换为btSoftBody?通过使用btSoftBodyHelpers::CreateFromConvexHull?如果是这样,我不清楚如何根据 helper 和 convex shape 的子弹文档将凸包传递给软体助手
【问题讨论】:
标签: bulletphysics
我有一个简单的问题:如何将btConvexShape 转换为btSoftBody?通过使用btSoftBodyHelpers::CreateFromConvexHull?如果是这样,我不清楚如何根据 helper 和 convex shape 的子弹文档将凸包传递给软体助手
【问题讨论】:
标签: bulletphysics
btConvexShape 可以是子弹中的任何凸对象,而不仅仅是凸包。您应该根据具体的子类实现不同的方法。使用 btCollisionShape::getShapeType() (return values) 找出具体实现,然后进行转换。例如:
btSoftBody* convexShapeToSoft(const btConvexShape& shape)
{
if(shape.getShapeType() == BOX_SHAPE_PROXYTYPE)
{
const btBoxShape& boxShape = static_cast<const btBoxShape&>(shape);
// Build btSoftBody using the box vertices
}
else if(shape.getShapeType() == SPHERE_SHAPE_PROXYTYPE)
{
const btSphereShape& shpereShape = static_cast<const btSphereShape&>(shape);
// Build btSoftBody using the box vertices
}
// ....
}
【讨论】: