GithubHelp home page GithubHelp logo

Comments (3)

pkusilence avatar pkusilence commented on August 17, 2024 4

The problem is solved, after replacing the codes of interactions by version 3.4.2 (orginal is 3.4.0). Differences are below:

  1. In constructor ShapeInteraction::ShapeInteraction, it lacks "scene.getNPhaseCore()->registerInteraction(this);" in 3.4.0;
  2. In Sc::NPhaseCore::convert, as PT described, unregisterInteraction should be done before create new shapeInteraction.

from physx.

PierreTerdiman avatar PierreTerdiman commented on August 17, 2024 1

Glad to hear this.

Yes, 3.4.0 is quite old by now and it is likely that this is not the only bug that got fixed in more recent versions.

from physx.

pkusilence avatar pkusilence commented on August 17, 2024

Last 4 days I have been debugging this problem but did not find any key clue. What I found are :

  1. It only happens probabilistically (~10%) if the two shapes of two rigidDynamic switch the collison response from PxFilterFlag::eSUPPRESS to PxFilterFlag::eDEFAULT. After the switch the ScInteraction will get refiltered and is converted to a shapeInteraction. If the two shapes are created to collide with each other at the beginning, there won't be duplicate collisions.
  2. The primary scene where duplicate collisions are generated is Sc::NPhaseCore::createRbElementInteraction, I check them as the pic shown:
    image
  3. After the first duplicate collisions were found, one of the contact managers is always active, even if the AABB of the shapes are separated. When the two shapes come to be in touch again, collision will be found twice again.
  4. The two duplicate collisions will go through all the pipeline of contact resolution, usually they are solved that one is given impulses to a certain value enough , and the other is given impulse nearly to zero.
  5. I can filter out duplicate collisions via contact modification, and set one of them to have zero maxImpulse, but there is still a waste of narrow phase of collision detection.
  6. It happens with and without CCD contact enabled.

from physx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.