GithubHelp home page GithubHelp logo

Comments (3)

eliasdaler avatar eliasdaler commented on June 25, 2024

And while we're at it, the docs for CharacterContactListener::OnContactAdded say:

Called whenever the character collides with a body. Returns true if the contact can push the character.

Which seems outdated since the method doesn't return anything.

from joltphysics.

jrouwe avatar jrouwe commented on June 25, 2024

The comment was wrong indeed, I fixed that.

The CharacterVirtual doesn't keep track of previous contacts in the same way as the normal simulation does, so it would require a bit of rework to support this especially since there are many function calls you can do on the character (Update, ExtendedUpate, WalkStairs) that modify it's collision state and to the library it is not obvious when the user is 'done' moving the character.

As a user of the library it shouldn't be hard to track this though. You can store the existing contacts through GetActiveContacts before you start modifying the state of the character and then in the OnContactAdded callback you can check if it is a new contact / after you finish modifying the character you can compare the old state with the new state to generate contact removed events.

from joltphysics.

eliasdaler avatar eliasdaler commented on June 25, 2024

As a user of the library it shouldn't be hard to track this though. You can store the existing contacts through GetActiveContacts before you start modifying the state of the character and then in the OnContactAdded callback you can check if it is a new contact / after you finish modifying the character you can compare the old state with the new state to generate contact removed events.

I see, thanks! If it's hard to implement, then it's probably not worth it.

I just found OnContactRemoved pretty handy for regular bodies, since I didn't need to do the manual tracking. But I guess I can track previous contacts myself as you've explained. :)

from joltphysics.

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.