godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.13k stars 86 forks source link

Ideas and improvements of the new sky shader . . #2186

Closed jasperbrooks79 closed 1 year ago

jasperbrooks79 commented 3 years ago

Describe the project you are working on

A Tomb raider game . . With characters and, levels . . .

Describe the problem or limitation you are having in your project

The new sky shader, that is in Godot 4, is simply amazing . . There's another thing, I hope it will support stuff like dark rain-clouds, white clouds and, perhaps a layering effect, so one can have say, a sky where there's ' fire ' or, an ' internal ' color, or so . . 2021-01-26 0557

That would allow me to make an effect, I need to make about God being angry / skies raining fire or, so, for a part of game, where there's ' biblical ' disasters . . 2021-01-26 0600

Part of the story is, how ' heaven ' responds, when a nation commits big crimes, like bad wars or, large cruelty <3 This would really help me, get the ' final ' look, I need . . so, it looks like dark or, murky clouds with fire or, smoldering flames inside . . <3 <3 . . .

so, it looks like there are different ' colors ' INSIDE the clouds . . <3 or, layers or, gradients . . .

Also, I want to make a game, where the character flies ABOVE the clouds, so I was hoping the sky shader could also be put ' under ' the screen <3

2021-01-26 0603

In procedural sky, one can change ' color ' of upper and, lower, like sky and, ground . . if sky shader could also be applied ' beneath ' the screen, it could work well, for air - plane games, or so . . And, eventually, maybe one could fly ' inside ' the clouds, as well, but that's probably super - advanced, to do in ' good ' resolution, so that's prob. not possible, or so . .

2021-01-26 0605

That's prob. like Godot 4.4, or 5 :(( . . But, it'd look cool, hope it can be done, since air combat games are cool, also flight simulator games <3

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Well, what I wanted most, is to be able to put the sky shader below the horizon, for a flying above the clouds part, of the game, I hope this is fairly simple, but don't know . . And, I need to be able to make clouds, with fire or, flames inside, so it looks like a sky, full of hatred and, rage :OO :OO . . it's since part of my story is, adding some ' biblical ' disaster stuff or, so . .>> 2021-01-26 0608

Last, not sure it's even possible, but if one could animate the clouds, so it looks like a storm or, big hurricane, ie. clouds fold or, ' billow ' . . These are ideas, and may be TOO performance heavy, or they could be done in scenes, where one only looks at the clouds, or so . . Need it, for a cut - scene, about consequences, of defying the UN and, starting 'evil', sick wars . . :OO that's the core theme, for the game, the ' plot ' or, story . . :OO it's about a game, after living in Denmark, following the Iraq war or, so . . I want to talk about, why illegal wars and, invasions are just bad, in fiction or, ' media ' <3 that's all . . . . anyway, it's just a cool idea, for a game, or so . . <3 <3 . . . .

Also, will the clouds perhaps support things like internal lighting, as a toggle, so one can simulate lighting or, so inside the clouds <3 2021-01-26 0618

Hope some of it can be added, and run some-what well, the current sky shader looks amazing, so cool . . <3 but, I'd like to be able to put it on the ' ground ' and, not ' sky ', so one can fly above them . . :OO

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Like, if the sky shader could be expanded, to be able to have a ' gradient ' or, layers, so one can create all kinds of effects, it could also be used to create all sorts of 'novel' and, also cool effects, in other games, to get a 100 % custom look, not sure . . . <3

If this enhancement will not be used often, can it be worked around with a few lines of script?

I use visual script and, I can't reprogram the engine, esp. C# :(( <3

Is there a reason why this should be core and not an add-on in the asset library?

Well, if it was added as a customization option, but not set to on, in the default, sky shader, but as stuff below, that's an option, it'd be nice . .

ps. having a stylized sky shader, might be nice, for more ' toon ' games, but maybe that's easier to make, for each project or, too ' difficult ' to make into ' one for all ' shader . . :(( . . .

I need these things, for a game I'm making, but maybe others could use them, to create very unique or, ' custom ' looks, all kinds of clouds, green clouds, gas clouds . . if one could animate the clouds, so they look like a storm - front, on the dark horizon, it'd be super - good . . :O

jasperbrooks79 commented 3 years ago

sort of, like this, where there's fire or, flames on inside, of the clouds >>> 2021-01-26 0635

if one could animate the noise texture, maybe set it in low resolution, one could create these effects, maybe 128x128 or, 256x256 is enough, hope for it . . also, lightning inside clouds is, very cool, maybe some of these, are possible . . .

or, one could create a certain angle, where it looks 'good', then render that or, so, to get more detail, then move camera, to other place <3 Thx . . .

basically, dark storm-clouds, full of fire, on the horizon, billowing forward, or so . . <3

here . . .

Skærmbillede (952)

it just requires, like say particle systems, that have many different options, to have settings, to optimize the quality and, so on <3

the sky shader looks amazing, atm <3 one could many more sky effects, or so, and get almost any horizon or, well ' effect ', or so . . .

last, for someone as crazy good, as Juan, or a complete engine master, making something, to create a PB-tornado, that works with the sky shader, might be a fun challenge . . 2021-01-26 0654

I know that's super - technical, but Godot devs just do amazing things, all the time . .

even, all way up to >> 2021-01-26 0658

super - tornados, . . . 2021-01-26 0701

that way, one could generate a ton of weather effects, procedurally . . prob. 50 % of this isn't possible, but it'd be cool, ya ya . . . <3 maybe a dev is like, I could do that, in 2 - 3 days, if they have correct background, not sure . . :OO

jasperbrooks79 commented 3 years ago

last thing, to 'round' it off, was a storm so powerful, it lifted rocks or, even boulders . . so, if one could make a storm simulation, that applied forces to objects inside the storm or, wind, then one could apply those forces to rocks, and make some 'really' nasty weather . . 2021-01-26 0708

like, the worst nightmare, is a tornado or, hurricane that could lift large boulders, and throw them, like ping - pong balls, or so . . 2021-01-26 0711

it'd require some sort of physics simulation, approximate, inside the storm, and then having rocks be affected by them . . those are prob. the the ' wildest ' weather systems, I can image, can it be done procedurally or, using approximations . . :OO <3 Thx . . . .

2021-01-26 0714

that covers the craziest weather phenomenon, related to clouds and, storm or, so <3 it's just for fun, I guess it requires, that the clouds can be driven, by some sort, of simple storm simulation or, so . . .

it's like the ' craziest ' weather, that can make you shout, RUNNNN ! <3 hi hi . .

like . . 2021-01-26 0719

today's fore-cast . . raining boulders and, trees . . :OO lol . . .

ps. know the Godot engine devs like to tackle amazing challenges, it might be fun, for some pros or, devs . . :OO . .

I've never made special effects, so I have NO idea if, this is just completely unrealistic, :(( . . sry, if this is totally impossible <3 hope maybe some of these things, could be in the new sky shader, which blew my mind, Thx . . .

I think you need like a, wind strength map or, volume . . like the new sdfgi can be made, so it fits a level, maybe one could make a 2d wind simulator, for the sky shader and, a local 3D one, around a tornados . .> 2021-01-26 0732

so, the 2D sky shader could have a 2D wind speed or, pressure effect, and around a tornado, it could make a 3D pressure or, wind speed map, or close . .>> 2021-01-26 0732

it'd be so fun, if one could run that live, or such . . .

so, a tornado could be simulated, with a 2D sky shader, using sdfgi physics or, so . .>

Skærmbillede (954)

Not sure, if this is simply impossible . . . maybe, some of these calculations can be done, in a shader, to speed it up, or GPU <3

Calinou commented 3 years ago

There's already a cloud texture you can apply to ProceduralSky, but its use is mostly intended for stars at night due to how it's blended.

SIsilicon commented 3 years ago

Fortunately for you, these are already doable within the editor. The clouds and other weather effects, those could be implemented with whatever the editor already has (shaders, particles, scripts, etc...). They do sound a little specific to be in core, don't you think?

jasperbrooks79 commented 3 years ago

well, this is hard - core stuff, wanted to ask, since I can't make it, and some of it is too specific, unless it could be procedurally generated + ran fast or, so . . but, I wanted to ask, since the Godot devs and, core team often knocks it out of the park, and it might be like, sure, we get that stuff done in 2 days . .

on a note, if the sky shader also, could be a ' good ' night shader, perhaps with clouds, stars, so on, procedurally generated . . Godot is already a super - star release, for Godot 4, but the more options users have, the better it will be . . so, since there's a procedural sun, why not also make a procedural moon, and stars, one can move between, using PBR, procedural stuff . . that way, my vampire and, werewolf game can have a really nice ' night ' vibe <3 I guess the last stuff is fog, but that's already there, and ALSO improved in Godot 4 . . anyway, it might be fun for a contributor, to add some stuff, or make this stuff a plug-in, as a challenge, as physical -science based, as possible <3

I know you're working hard, and Godot 4 is already a done deal <3 . . but, these might be in Godot 4.2, or later, or so or, as plug-ins <3 Thx . . .

also, I'm not sure how to accurate simulate moon-light, it'd be so cool, with a procedural day cycle, using PBR tech . . . like, since moon-light is reflection, from sun, what color does it have, does it filter through atmosphere in a special way . .

since one could also technically want ' smoke ', that looks photo-real, like at night, with a ton, of say torches or, fires . . maybe if the engine got a ' procedural smoke ' texture, that one could use, in the particle systems, to get a complete, most - often used atmospheric ' look ', related to sky and, fog or, 'smoke' in the air . .

so, like the ' noise ' texture has some settings, like resolution, other stuff . .

Skærmbillede (955)

if one could generate a ' smoke texture ', that would work with particles or, CPU or, GPU, or so . . so, one could get realistic looking smoke, in any density, turbulence, shape or, emission . . . <3

2021-01-26 1748

2021-01-26 1749

if this could be added, then basically all the most used ' particles / smoke ' in the air cases, could be generated, maybe there's a PBR way, since stylized will have to be made, for each project . . just, the accurate, different kinds of smoke, from feint, to thick, to billowing, all that, which can be plugged into a particle system and, has some random 'seeds' etc <3 smoke color, from feint white ( fog or, close ), to thick white or, black <3 if we could a realistic looking way, to generate smoke, from feint traces to, thick plumes, in a ' smoke texture ', that'd complete the ' atmospheric gas ' needs, for any realistic game and, rock . . .

jasperbrooks79 commented 3 years ago

it's working, in Blender, atm . .>

2021-01-26 1754

if it was PBR based or, close, and cover most or, all ' smoke / gas ' types, so cool <3

for instance, if it could generate say a 4 x 4 texture, with 16 randomly generated smoke particle, that one could use, in any particle system, we'd have all use cases, for ' vapor / smoke / fog / mist ' covered . . or, maybe a Mist texture, might also work well, for other effects, or so . . <3 clouds are just, like water vapor, in the sky <3

last, sometimes one has a fine ' mist ' or, drops hanging in the air, it's not fog, a bit more dense, and has a ' different ' look . .

2021-01-26 1805

maybe that has to be done with volumetric fog, but maybe if the Fog system, could have two modes, like a way that ran faster, than volumetric fog . . I guess those are the things related to clouds, smoke, mist, fog and, gas, vapor . . :OO Thx, hope it can be optimized, and very PBR /science based, as well . . :OO

mist is more like ' floating small particles ', but fog is just, well almost vapor . .

SIsilicon commented 3 years ago

Continuing my previous comment, since this can all be done within the editor, it can indeed be made as a plugin. The clouds can be made with a shader, the falling rocks and fire can be made with a particle system, and the storm can be a combination of a script, procedural geometry, shaders and a particle system. In fact, I made a storm this way for a game jam. If you think you can't do this yourself, you have two choices.

  1. Man up and do your research on how this can all be implemented.
  2. Ask someone to make a plugin for you.

It's a nice feature proposal, but remember that anything you ask for in the proposal is something you are asking to be in the core engine. If it can be done with already existing features and is not widely needed by the community, then a plugin is a better route.

Here are some plugins in the asset library that could get you closer to your goal.

And of course there's the Godot docs. Some notable pages:

jasperbrooks79 commented 3 years ago

You're right, these things prob. have to be made manually, bec. not many games will need a tornado, or so . . I'm not sure, it's not something that's in EVERY game ( though, it's very cool <3 ) . .

So, it has to be made, with other engine resources, I guess :(( . . . Sucks, wanted a real, simulated tornado, using kick - ass physics, but one can prob. just make it, like you say, Thanks . . .

I'm noob, and don't always know, what I ask, Sry . . .

Calinou commented 1 year ago

Closing per @SIsilcon's comment above.

We now have documentation on sky shaders: https://docs.godotengine.org/en/latest/tutorials/shaders/shader_reference/sky_shader.html

A 3D sky shaders demo with volumetric clouds is also being worked on: https://github.com/godotengine/godot-demo-projects/pull/809