NVIDIAGameWorks / PhysX-3.4

NVIDIA PhysX SDK 3.4
https://www.nvidia.com/
2.34k stars 275 forks source link

PhysX3.4 - Exception on collision #110

Open OsirisDeveloper opened 5 years ago

OsirisDeveloper commented 5 years ago

Hi, I just added PhysX to my game and trying to resolve collisions, unfortunately, I have a crash on the contact of 2 dynamic objects here: ` struct PxCollisionBitMap { PX_INLINE PxCollisionBitMap() : enable(true) {}

 bool operator()() const { return enable; }

bool& operator= (const bool &v) { enable = v; return enable; }

    private:
    bool enable;
};

`

Callstack:

Totem3IACW2_Battle.exe!`anonymous namespace'::PxCollisionBitMap::operator()() Line 52 C++ Totem3IACW2_Battle.exe!physx::PxDefaultSimulationFilterShader(unsigned int attributes0, physx::PxFilterData filterData0, unsigned int attributes1, physx::PxFilterData filterData1, physx::PxFlags<enum physx::PxPairFlag::Enum,unsigned short> & pairFlags, const void constantBlock, unsigned int constantBlockSize) Line 284 C++ PhysX3DEBUG_x86.dll!physx::Sc::NPhaseCore::runFilterShader(const physx::Sc::ElementSim & e0, const physx::Sc::ElementSim & e1, unsigned int & attr0, physx::PxFilterData & filterData0, unsigned int & attr1, physx::PxFilterData & filterData1, physx::PxFilterInfo & filterInfo) Line 1166 C++ PhysX3DEBUG_x86.dll!physx::Sc::NPhaseCore::runFilter(const physx::Sc::ElementSim & e0, const physx::Sc::ElementSim & e1, unsigned int filterPairIndex, bool doCallbacks) Line 1200 C++ PhysX3DEBUG_x86.dll!physx::Sc::NPhaseCore::filterRbCollisionPairSecondStage(const physx::Sc::ShapeSim & s0, const physx::Sc::ShapeSim & s1, const physx::Sc::BodySim b0, const physx::Sc::BodySim b1, unsigned int filterPairIndex, bool runCallbacks) Line 1271 C++ PhysX3DEBUG_x86.dll!physx::Sc::NPhaseCore::filterRbCollisionPair(const physx::Sc::ShapeSim & s0, const physx::Sc::ShapeSim & s1, unsigned int filterPairIndex, unsigned int & isTriggerPair, bool runCallbacks) Line 1362 C++ PhysX3DEBUG_x86.dll!physx::Sc::NPhaseCore::onOverlapFilter(physx::Sc::ElementSim volume0, physx::Sc::ElementSim * volume1) Line 204 C++ PhysX3DEBUG_x86.dll!OverlapFilterTask::runInternal() Line 6344 C++ PhysX3DEBUG_x86.dll!physx::Cm::Task::run() Line 67 C++

Can you direct me what can I check to resolve this? It just looks like here:

// Collision Group if (!gCollisionTable[filterData0.word0][filterData1.word0]()) { return PxFilterFlag::eSUPPRESS; } word0 == 65537

OsirisDeveloper commented 5 years ago

It looks like this is still in action with export from Max: https://devtalk.nvidia.com/default/topic/813601/other-tools/physx-plug-in-version-3-02-01024-04200-for-3dstudio-max-2015-issue-/