Giter VIP home page Giter VIP logo

Comments (4)

aevyrie avatar aevyrie commented on August 26, 2024 1

@Sheepyhead this is resolved in PR #78 and #68. Default behavior now results in picks being updated every frame for the cursor pick source. The 3d_scene example has been updated to show this new behavior by animating the camera.

from bevy_mod_picking.

aevyrie avatar aevyrie commented on August 26, 2024

Hey, thanks for the report! I'll have to see if this is happening in the debug cursor, or in the actual picking systems. I think the intent here is to only compute picks during a mouse movement, instead of running constantly. Some ways we could specify the always-on behavior:

  1. In your world movement systems, send a callback to the picking system, letting it know it will need to run a check this frame because you've moved things around.
  2. When setting up the PickingSource, there could be an "always-on" mode you specify.

Let me know if you have any thoughts on this! 🙂

from bevy_mod_picking.

Sheepyhead avatar Sheepyhead commented on August 26, 2024

Hey, thanks for the report! I'll have to see if this is happening in the debug cursor, or in the actual picking systems. I think the intent here is to only compute picks during a mouse movement, instead of running constantly. Some ways we could specify the always-on behavior:

1. In your world movement systems, send a callback to the picking system, letting it know it will need to run a check this frame because you've moved things around.

2. When setting up the `PickingSource`, there could be an "always-on" mode you specify.

Let me know if you have any thoughts on this! 🙂

As shown in the example it also applies to the intersection returned by InteractableMesh, so the debug cursor is accurately showing the intersection it's returning. Now what I'd personally find most useful is to have a setting for PickingSource that it keeps updating the intersection even when a mouse button is held, personally I'd consider that the expected behavior, but leaving it as an option is fine

from bevy_mod_picking.

aevyrie avatar aevyrie commented on August 26, 2024

I've been thinking about this a bit - I think you are completely right in that this should be default behavior. The plugin really doesn't work as intended if the scene isn't static.

  1. By default, picking should update every frame any time the window is active (focused).
  2. We can supply options for update behavior (always, while window focused, on mouse move, etc.)

PR #68 gets us most of the way there. I will need to make some new test examples to verify this is working as intended.

from bevy_mod_picking.

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.