Comments (4)
@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.
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:
- 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.
- 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.
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.
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.
- By default, picking should update every frame any time the window is active (focused).
- 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)
- Resizing a mesh causes picking to break
- Bevy 0.13
- Sprite Highlighting HOT 1
- Unable to get location for pointer Touch(0) HOT 3
- `bevy_ui` debug overlay broken HOT 3
- Bevy UI node with Display::None is always hit
- HighlightPluginSettings "is_enabled" Private Field
- keyboard_input : Res<Input<KeyCode>> - not working after import of bevy_mod_picking HOT 1
- transparency and overlapping problems with sprite picking HOT 1
- bevy_ui backend does not work with `TargetCamera` HOT 7
- Single click also fires drag events HOT 1
- [XPBD] Cannot select Kinematic Bodies
- `Option<ForceTouch>` to pointer events
- Picking doesnt work on adjacent 2d meshes (`backend_raycast`) HOT 2
- Click handlers not firing on mesh HOT 3
- PickingInteraction isn't changing colors in many buttons.
- Make bevy_render optional
- Crate features: `debug` depends on `backend_bevy_ui` being enabled
- Picking should take the sprite's rect into consideration. HOT 1
- Unexpected `Pointer<Drop>` hit position
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bevy_mod_picking.