C++ 有没有办法允许PhysX 4.1 CCT使用自定义重力从斜坡上滑下?

C++ 有没有办法允许PhysX 4.1 CCT使用自定义重力从斜坡上滑下?,c++,game-physics,physx,C++,Game Physics,Physx,默认情况下,PhysX似乎会将脚上的“摩擦力”设置为无穷大,这样,使用向下的力(如重力)调用move,站在倾斜的表面上时不会导致你向下滑动 但这恰恰与我想要的相反。我知道PxControllerNonWalkableMode::ePREVENT\u granning\u AND\u FORCE\u slide,但这似乎没有使用任何重力或加速度,我也没有使用内置的slopeLimit值。还有setPreventVerticalSlidingAgainst天花板(),所以地板上没有类似的东西似乎有点

默认情况下,PhysX似乎会将脚上的“摩擦力”设置为无穷大,这样,使用向下的力(如重力)调用
move
,站在倾斜的表面上时不会导致你向下滑动

但这恰恰与我想要的相反。我知道PxControllerNonWalkableMode::ePREVENT\u granning\u AND\u FORCE\u slide,但这似乎没有使用任何重力或加速度,我也没有使用内置的
slopeLimit
值。还有
setPreventVerticalSlidingAgainst天花板()
,所以地板上没有类似的东西似乎有点奇怪


那么,是否有任何内置的方法来消除这种人为摩擦,并允许垂直滑动,就像CCT可以沿着墙壁和天花板滑动一样?如果没有,我如何生成一个新的向下运动向量,它遵循曲面法线?我对任何与数学相关的东西都非常糟糕,因此(psuedo-)代码示例将受到赞赏。

结果证明我不会阅读,我的问题的答案就在后面

我只需要实现一个
PxControllerBehaviorCallback
,并让它为每个函数返回
PxControllerBehaviorFlag::eCCT_SLIDE

    virtual physx::PxControllerBehaviorFlags getBehaviorFlags(const physx::PxShape& shape, const physx::PxActor& actor) {
        return physx::PxControllerBehaviorFlag::eCCT_SLIDE;
    }

    virtual physx::PxControllerBehaviorFlags getBehaviorFlags(const physx::PxController& controller) {
        return physx::PxControllerBehaviorFlag::eCCT_SLIDE;
    }

    virtual physx::PxControllerBehaviorFlags getBehaviorFlags(const physx::PxObstacle& obstacle) {
        return physx::PxControllerBehaviorFlag::eCCT_SLIDE;
    }
然后将
pxcontrollerdebc->behaviorCallback
设置为我的
PxControllerBehaviorCallback
类的一个实例