-
-
Notifications
You must be signed in to change notification settings - Fork 521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Water current visuals #5922
base: master
Are you sure you want to change the base?
Water current visuals #5922
Conversation
We are currently in feature freeze until the next release. |
GPU particles seems pretty bad in terms of performance in general in Godot. Might be better to switch to CPU particles but that might not also perform that well. In the worst case we need some kind of custom visuals shader on a plane to represent the currents (which kind of was my initial guess as to how to implement the visuals). Also I won't review this until after the 0.8.1 release as I simply don't have time. |
Looks great! But I think it would be good idea to add a little bit of variation in the size of these particles. And I think that the currents should stop when you pause the game |
CPU particles might be unusable here, because they don't support particle shaders, which I used to apply currents to particles. It's also possible to slightly optimize GPU particles by setting their FPS to a smaller value, but turning on interpolation, thus avoiding some calculations. |
Apparently awfully worsened by getting values from Godot.Array
…read And update threaded run
Instead of trying to calculate it with an arbitrary formula
60cd0a1
to
527167f
Compare
Has the visuals now been changed or is there a new thing to look at here? Now that we are done with the release I can have a proper look at this once the approach is locked in (performance is good / acceptable, and graphics are satisfactory). |
I.e. make image arrays non-nullable
I think that the general approach is locked in. Performance doesn't seem awful (in fact, it might be a bit better, as the currents system doesn't have to calculate noise in real-time now). The programming side of visuals (i.e. particles) is done, though we might want to experiment with the particles' sprites, maybe also making them vary per-patch. |
Brief Description of What This PR Does
Implements water current visuals using GPU particles. Also makes currents differ per patch and affect cells.
This PR is currently a draft because it needs some balance and visual feedback. There also seems to be a performance issue.
Current demonstration
Godot.Engine.2025.02.20.-.19.28.39.01.mp4
Related Issues
A roadmap item (https://wiki.revolutionarygamesstudio.com/wiki/Release_Roadmap#0.8.x_(world_and_auto-evo_updates))
Closes #4739 (no longer necessary as the current system now uses noise textures)
Progress Checklist
Note: before starting this checklist the PR should be marked as non-draft.
break existing features:
https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
(this is important as to not waste the time of Thrive team
members reviewing this PR)
styleguide.
Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author. Merging must follow our
styleguide.