Skip to content
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

Add a physically based wind simulator . . #1435

Closed
jasperbrooks79 opened this issue Aug 31, 2020 · 7 comments
Closed

Add a physically based wind simulator . . #1435

jasperbrooks79 opened this issue Aug 31, 2020 · 7 comments

Comments

@jasperbrooks79
Copy link

Describe the project you are working on:
A Tomb Raider game . .

Describe the problem or limitation you are having in your project:
Right now, we're getting some amazing PBR, or ' science ' based features, like the new sky, so on . . And, sdfgi, volumetric fog, many improvements . . . I would suggest Godot gets a wind simulation system, where one can add ' objects ', or meshes to that layer, so it creates a wind system, based on physics, or approximations . . . All the objects needed to be affected by a global, procedural wind simulation, would be added, to the ' wind ' layer, or so . . Settings would include from light breeze, to more chaotic stuff, gusts, random factors, other stuff . . This would help games, that need this, to easily create some basic cases, more could be added later, to make it more realistic . . All the objects in the ' wind cull mask ', would be affected by a global wind simulation, with a number, of settings . . . This would help create planes of waving grass, from light breeze, to maybe storms, procedurally generated, based, in physics . . . Even if it was only applied to transparent grass objects, to begin with, it could create some amazing effects, for most users . .

Describe the feature / enhancement and how it helps to overcome the problem or limitation:
It might sound silly, but having an optimized, global, or perhaps restricted wind system, to a certain volume, if it was based in science, physics, could do amazing things, for many games . . .

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:
Basically, in environment settings, have a new mode, called ' wind ', all the stuff in that cull mask, is affected by physics, optimized, to make things like fields, of wheat, random breezes . . .

2020-08-31 0505

Having this feature, would help Godot better simulate real world effects, and should be user-friendly, and customizable . .

If this enhancement will not be used often, can it be worked around with a few lines of script?:
Having it as in-built feature, would mean more games could benefit from it, it should be fairly small, or scalable, so it can be run, at least cost, to FPS . . <3

Is there a reason why this should be core and not an add-on in the asset library?:
It's something that helps simulate worlds, or physics . . Game engines are moving towards this, more and more things a PBR, physics based, having an approximation, based in science, of wind, would be nice . .

@jasperbrooks79
Copy link
Author

jasperbrooks79 commented Aug 31, 2020

Also, both stylized and realistic games could use this, if it had the right settings or, modes . . <3

2020-08-31 0522

Making something like this, would be the goal, even storms, almost <3 Maybe, it can be procedurally generated, or physics based, and user-friendly, if possible . . Pro - stuff . .

@Calinou
Copy link
Member

Calinou commented Aug 31, 2020

Wind in grass and trees is generally simulated by using some kind of noise function in a shader. I don't think this needs to be a built-in feature as long as we have some way to introduce noise functions in shaders (which is already the case).

@jasperbrooks79
Copy link
Author

Ok, I was not sure, nice to have procedural wind engine, that was optimized, at run -time . . . .

@ghost
Copy link

ghost commented Aug 31, 2020

it would be nice but i think ur best option is to just animate the grass to sway by hand

@Tooniis
Copy link

Tooniis commented Sep 6, 2020

Other than grass, this would be useful for all other kinds of physics bodies. You could have a drag factor in rigid bodies, or perhaps multiple ones for each direction which would then be interpolated, and this factor would be used to calculate a force to apply to them to simulate wind.

@jasperbrooks79
Copy link
Author

jasperbrooks79 commented Sep 6, 2020

I know this might be a noob thing, to ask . . But, since we're getting like ' sky ' simulator, and PBR materials also ' imitate ' physics, and sdfgi mimics real light bounces, that one could maybe make a sort of, ' wind ' simulator, that just works, or so, where one can set various complexity settings . . .

But, I'm noob, not sure if it's best way, but once it was done, one could create all sorts of weather, very easily, and it'd be physically based, and would give very nice, out-of-box results, same way PBR materials, volumetric fog, so on, effectively imitates real world systems or, laws, of science, or so . .

Not sure, if it's really efficient, but since it could be turned off, it would not be performance demanding, and one could set ' detail ' of it, with various ' real ' world parameters, same as for fog, new ' sky ', other stuff . . . Having such a setting, or feature, that could create various kinds of ' pretty ', or advanced physics-based wind-simulations, or approximations, might really make games look ' next - gen ', on Godot, more than already do, and it'd fit in the ' box ', of adding science-correct simulation, in general, in 3D software, or games . . . <3

The question is, can it be done in such a way it is 1. fast, 2. gives nice results, and 3. flexible, for various types, of wind effect, or basic weather simulations, ie. will it be good, if made, is it possible . . If not, it won't have many users, if it was fast, and flexible, by tweaking PBR settings, like speed, random gusts, based on an algorithm, or an approximation, it could give amazing results, at run-time . . . And, by changing the ' complexity ' of it, one could create more unique looks, even change weather with a few changes, from code, in those settings, giving a very nice look . . I also hope we get a procedural ' cloud ' node, or so, so we can ' generate ' realistic, PBR based clouds, or so . . Having wind, would complete the picture, and make Godot games look a lot better, with just a few settings, and based on science principles, or mathmatical approximations, or so . . <3

@Calinou
Copy link
Member

Calinou commented May 14, 2021

Closing in favor of #2591, which has more detail about the feature to implement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants