C++ 子弹车车轮参数

C++ 子弹车车轮参数,c++,bulletphysics,C++,Bulletphysics,我想用子弹做一个简单的光线投射器。它应该是一个装在酸轮子上的盒子 我现在一直在处理对btRayvastVehicle::addWheel的调用,因为我不明白它们的确切含义,因为它们在API文档中没有很好的文档记录,而且作为一个非英语母语的人,我很难根据它们的名字推断出它们是什么 让我特别困惑的是,前三个参数是如何定义车轮的位置和方向的 那么,btRaycastVehicle::addWheel的参数到底做了什么?方法中的btRaycastVehicle::addWheel具有签名 btWheel

我想用子弹做一个简单的光线投射器。它应该是一个装在酸轮子上的盒子

我现在一直在处理对
btRayvastVehicle::addWheel
的调用,因为我不明白它们的确切含义,因为它们在API文档中没有很好的文档记录,而且作为一个非英语母语的人,我很难根据它们的名字推断出它们是什么

让我特别困惑的是,前三个参数是如何定义车轮的位置和方向的

那么,
btRaycastVehicle::addWheel
的参数到底做了什么?

方法中的
btRaycastVehicle::addWheel
具有签名

btWheelInfo & btRaycastVehicle::addWheel( const btVector3& connectionPointCS0,
                                          const btVector3& wheelDirectionCS0,
                                          const btVector3& wheelAxleCS,
                                          btScalar suspensionRestLength,
                                          btScalar wheelRadius,
                                          const btVehicleTuning& tuning,
                                          bool  isFrontWheel
                                        )
从中,您可以单击每个成员变量以转到标题(遗憾的是,标题的文档也非常模糊)

看起来前5个参数基本上描述了每个车轮的位置和方向。第六个参数(
调谐
)似乎描述了轮胎的机械性能,如摩擦、阻尼等。最后一个参数似乎不言自明

//
// basically most of the code is general for 2 or 4 wheel vehicles, but some of it needs to be reviewed
//
btWheelInfo& btRaycastVehicle::addWheel( const btVector3& connectionPointCS, const btVector3& wheelDirectionCS0,const btVector3& wheelAxleCS, btScalar suspensionRestLength, btScalar wheelRadius,const btVehicleTuning& tuning, bool isFrontWheel)
{

    btWheelInfoConstructionInfo ci;

    ci.m_chassisConnectionCS = connectionPointCS;
    ci.m_wheelDirectionCS = wheelDirectionCS0;
    ci.m_wheelAxleCS = wheelAxleCS;
    ci.m_suspensionRestLength = suspensionRestLength;
    ci.m_wheelRadius = wheelRadius;
    ci.m_suspensionStiffness = tuning.m_suspensionStiffness;
    ci.m_wheelsDampingCompression = tuning.m_suspensionCompression;
    ci.m_wheelsDampingRelaxation = tuning.m_suspensionDamping;
    ci.m_frictionSlip = tuning.m_frictionSlip;
    ci.m_bIsFrontWheel = isFrontWheel;
    ci.m_maxSuspensionTravelCm = tuning.m_maxSuspensionTravelCm;
    ci.m_maxSuspensionForce = tuning.m_maxSuspensionForce;

    m_wheelInfo.push_back( btWheelInfo(ci));

    btWheelInfo& wheel = m_wheelInfo[getNumWheels()-1];

    updateWheelTransformsWS( wheel , false );
    updateWheelTransform(getNumWheels()-1,false);
    return wheel;
}