-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Make a LiquidBody and a DestructibleBody node for cool real-time destruction events . . #2082
Comments
Also, lightning and, boiling water physics . . maybe, written in native or, some crazy, far - out system or, cache . . |
Quick question. You do realize the effects you've shown here were all done offline, right? Meaning that they're not done in realtime and are practically impossible to do in a video game where you'll have other things going on. The only one of the effects that look remotely feasible is the building destruction, which can be done without even adding anything to godot itself. And the asteroid smoke can be done with a particle system. |
I'm not sure about this proposal as a whole: I think if someone is making a game that's focused on lots of big catastrophic set pieces, then doing some custom code in their game to support those makes sense -- we don't need this support in the engine for all games. However, on one particular point, though: I think having a LiquidBody node in the engine would make sense. I can't find the proposal for it right now, but I know the plan (per https://godotengine.org/article/camille-mohr-daurat-hired-work-physics) is to add pluggable physics engines to Godot 4.0, and some physics engines do have support for liquid bodies (ex. Flex, PhysX). So, having this node would allow you to take advantage of this feature if you were using a physics engine that supported, without needing to have some special node just for your particular physics engine, ie. a FlexLiquidBody node and a PhysXLiquidBody node. There's probably other nodes that are used by a large subset of physics engines that could also make sense. |
@SIsilicon @dsnopek The point is, there are more and more ' real - time ' simulations, of physics, and the real - time ones are looking so good, that it would work, pretty well . . another option might be to make some slower simulations, where one can render the results at a lower frame - rate, and save the out-put, to a not ' live ' video data, but that's not real - time . . Point is, real - time simulations are constantly getting better, and I was thinking, maybe there are by now some good ones, that could work, in a video game . . to increase frame - rate, one might disable all the other game logic, like for a cut-scene, and only run the simulation, etc . . Was really hoping there'd be some amazing, new improvements to real-time stuff, so we could have that, Thanks . . . Also . . Was hoping, maybe Godot gurus could, find a realistic, real-time system . . . Thanks . . <3 |
I'm not saying "don't do real-time physics" - there's plenty of cool things you can do in real-time physics engines, including liquid simulations. I'm just not convinced that the level of simulation you're describing in your proposal makes sense in the core Godot engine, because most games don't need it. If you need it for your game, then, in my opinion, you should either implement these simulations in your game, or integrate a 3rd party physics engine/library that can support them. |
the point is, if Godot could do this, any other lesser physics or,
'destruction' related stuff, could be run, also in cartoon or, stylized
games . . scaling it down, it would answer all physics questions,
involving, fluids, explosion, smoke, or more, so it's very useful, for any
other use - case requiring, less ' big ' simulations, or so . .
the question is, can it be done, and should it be an add-on, not sure <3
Den lør. 9. jan. 2021 kl. 04.46 skrev David Snopek <[email protected]
…:
I'm not saying "don't do real-time physics" - there's plenty of cool
things you can do in real-time physics engines, including liquid
simulations. I'm just not convinced that the level of simulation you're
describing in your proposal makes sense in the core Godot engine, because
most games don't need it. If you need it for your game, then, in my
opinion, you should either implement these simulations in your game, or
integrate a 3rd party physics engine/library that can support them.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2082 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOR5TLDWSI6QWGA26QBXHQTSY7GTBANCNFSM4VYVUUCQ>
.
|
I have wanted Realtime fluid sim for small simulations like pouring, splashes, etc... Reduz has mentioned it might be possible to add, I should probably create a proposal for this. A lot of the effects in this proposal cant be done in realtime right now during an actual game. Some can like splashes but the majority of the effects listed here would need to be accomplished using shaders, particles, spritesheets, etc... All of which Godot already supports. It would be great to get some fluid, proper cloth and some destruction tools. Just keep in mind that even with those tools it would be limited in scale and you would still need to fallback to more traditional methods for larger scale or lower end hardware. Created my own issue relating to fluid sim, that has more technical information and realtime examples. #2094 |
If its prebaked it better to bake in blender or houdini. Then save to alembic or vat. keep in mind high quality sims can require 100s of gbs so you still have to be conservative with the scale of the effect and particle amount |
also, if Godot could get just one, of such nodes, maybe a tidal wave or, fluid simulation, so it's not ALL these effects, at the same, just a FluidBody node, or so . . and, it doesn't matter if the first version is just voxel based, it's prob. something that will need to be improved, over time . . also, a FluidBody node would need to be able to create a ' body ' of water, but also a ' hose ' of water, like a ' water ' or liquid source, that has a certain shape and, initial velocity and, direction or, so . . it would need some ' emitter ' types, that are common use - cases . . I simply need this for a game, and I need it to run fast, pref. at real - time, but an option to ' bake ' a simulation, and then, like how images are often compressed, there could be a sort of ' optimization ', so there's less date . . I need total catastrophes, or MASSIVE disasters, for a game, and might be fun, for some very talented people, to study this topic, both real - time and, baked simulation . . Wanted to ask, since the people here are mind-blowingly good, at really crazy, amazing stuff . . Maybe, tech and, simulation is getting so good, or maybe Godot masters could make, something new, I need total devastation, massive disasters and, catastrophes . . Getting even ONE of these nodes, maybe some can be combined, would be amazing, not sure, thanks <3 End, of days stuff, Armageddon, epic cataclysm . . <3 |
take look at my proposal #2094 as well, it doesn't cover baking but it does cover a practical way to implement fluid into godot also that fluid effect of the hose is completely doable in Realtime |
that's exactly what I want, but it needs to support more large-scale things . . I'd really like something like that, a ' disaster solver engine ', like, crazy tornados, effects . . . I like everything in your proposal, I just need it to be BIGGER, that's all . . hope we could get some of these nodes, assuming it's possible, as an official add - on, or a built - in feature, that doesn't take a lot of space, until one BAKES the data, only THOSE games will get a larger file - size . . Thanks . . . also, for such things, one would often use them during cut-scenes, so all the other game - logic is not running, when doing this stuff, character movement, all kinds of stuff get's freezed, so it ONLY runs that simulation, which should make it fast . . what you suggested, is EXACTLY what I want, just bigger, more massive, larger - scale and, destruction, Thanks . . <3 :O :O . . maybe this is something Juan, or another engine master god, can code in 2 - 3 weeks, boom, then it works, or so . . I have NO idea if, this is impossible . . |
I want that too but its going to be several years before its possible todo in realtime. But its possible to fake it at least. https://www.youtube.com/watch?v=WCpiSPoI-gM Here is an example of baked fluid in Godot that I did, you could make it high quality it was just a test so no reason. It uses VAT, ill see if i cant get it working properly, just need to fix the normals basically. |
see, even if one could pre - render it, so it takes maybe 4 hours, to make a 10 second video, then one could play that back in Godot, so it fits the lighting, etc., in the scene or, event . . then, store it in a video format, I need it for a game, where the Devil appears, and tries to destroy the planet with, disasters and, catastrophes, really dark, large - scale stuff or, world - wide devastation, or so . . :O <3 . . point is, the actual simulation code wouldn't really make Godot much bigger, but those that use it, will bake the data, to a file, that might be 50 megabytes . . the actual solver or, algorhithm wouldn't need to make Godot much bigger, just the ' generated ' data, which could be streamed from a graphics card memory or, for even larger stuff, from the SSD, using heavy compression algorhithms, to remove un-needed or, so data, in the simulation, like in a fluid simulation, where it compresses areas, that don't really ' change ' or, need as much ' simulation ' resolution . . Also, it might be cool, to see how it looks, a meteor hitting a sphere and, leaving a crater, etc . . or, a massive tidal wave hitting a RigidBody city, in real - time, or pre - baked, or even pre - rendered, so the lighting, other stuff, matches the engine, 100 %, <3 Thanks . . |
@NHodgesVFX the stuff in your video is all I need, and for it to be able to flow, around RigidBodies, and knock them over, like cards, or make, them crumble, from the inside . . I need, this >> Concept, for teaser trailer, early work . . it's about the worst disasters, you can image, at all . . <3 when the Devil appears, and tries to destroy the world, and heroes stop him, that's the story or, so on . . but, I need those amazing destruction events or, disasters . . And, since the Godot experts and, masters are so amazing, it might be possible, to do, a low - res result in real - time, a medium - res result, where it's pre-baked, and compressed and, a high - res pre-render frames, of the simulation, not sure I'll need that . . Saw a demo of GPU particles, from a Godot con, with like 2.000.000 particles, was hoping we could get that in 3D, for fluids, wind and, explosions or, fires, etc . . Need, Global destruction effects or, events, pref. in real - time, not sure is possible, thank you . . Might be, an engine expert, with experience, could add this, that's all . . . |
that first video you showed, with tornado, was really nice . . here's a open source wave simulator, that runs real - time, called Celeris, or so . . I don't understand the math, I just need the engine, to support Armageddon or, larger destruction, if possible, might be something a good coder could do, in 2 - 3 weeks, or a, proto-type . . :O |
I need something like the tornado, in the video, where the clouds are on fire, there's lightning strikes, and demons and, monsters flying out, of the clouds, also . . <3 Thanks, hope, it's possible <3 ( I'll have to model the demons, myself, of course . . |
Ideally, there would be a ' global simulation ' scale, like an LOD, where some calculations are made, at this level . . where they could be, lower resolution, then as one needed, one could ZOOM in, like with LOD's, and the simulation gets more detailed . . so, one could simulate a storm, meteor impact, at that level . . it would have to be a very simple, ' LOD ' algorhithm, at THAT level, then as one zooms in, the blast creates massive walls of air, or water, explosions and, so on, that would then affect a scene, so one can make some common scenarios, using meteor ( rock ) impacts, and then as one zooms in, the resolution of the more ' local ' scene, get's more detailed . . basically, a meteor is just a rock, that hits another rock, in theory and, leaves a crater and, blast wave . . this would allow one to create all the scenes one needs, to ' simulation ' an event, that is cataclysmis or, apocalyptic . . :O :O . . but, I have no idea, if this is possible, just see these papers and, youtube videos, with better and, better real - time stuff, water, explosions, fire and, wind, more and more, so it MIGHT be possible, I hope . . Thanks . . also, to make it even nicer, having a ' bake ' option, so the data doesn't require calculations, but can just be streamed, from graphics memory, or a SSD, might be enough :O . . |
also, since this about simulating ' solids ', ' liquids ', ' gas ' or, ' fire ' ( smoke ) . . then, it's a matter of, simulating the four elements, earth, water, air and, fire ( smoke, is maybe air, or so ) . . and, ideally one would have to be able to start the simulation, from here . . > like, you start with making a ' meteor ' in space, and then have it collide, with something . . that's the kind of simulation, I need . . and yes, it's very advanced, and will require amazing, optimized code . . <3 custom, grade - A shit and, code . . <3 :O :O . . |
it's also something, where if Godot made it, then it'd be Godot's Physics engine or, solver . . something ' new ' or, different, from the competitors or, other engine houses or, so . . Global Destruction Physics Engine <3 . . . |
Describe the project you are working on
A Tomb raider game, where I need amazing ' catastophic ' or, disaster events, running, in real-time . .
Describe the problem or limitation you are having in your project
I need to make some effects, that are sort of, like this . .
And . .
Also . . .
And, I need them to run in real-time, and cause destruction, mayhem . .
I wanted to make a suggestion, that Godot maybe makes a ' custom ' physics engine, or new nodes, that can handle stuff, like this, call it, Armageddon Physics Motor, or worse . . I need to be able to simulate near - global destruction events, in real-time . . This is probably very complex, but since it might be cool or, just fun, wanted to suggest it, really need it, for my game stuff . . Maybe it's super-technical, or so, but I really need it . .
also, smoke effects, like this, a real time example, from google . . I THINK the tech and, algorhithms for making such stuff is available, not sure . . I need something, that really kicks ass, hopefully . . As a complete game dev, code and, 3D effects noob, it might be just impossible, but maybe Godot, can pull it off, thanks . . .
Also, fog, and rain, like a big hurricane, massive ' billowing ' or, dynamic fog walls, so on, hope, it can be done . . . Thanks . .
Describe the feature / enhancement and how it helps to overcome the problem or limitation
I'm not sure, maybe one could store the data on the SSD, and call them real time, the simulation data, maybe one would have to bake them or, pre-render them, but I need real-time stuff, for my game . . Might, be hopeless . . <3 . .
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
The ability to create such effects, in real-time, using perhaps new nodes or, brand-new custom, state-of-the-art physics engine, unparalleled, using the latest real-time simulations or, code, thanks . . . <3
If this enhancement will not be used often, can it be worked around with a few lines of script?
No, idea, sry . .
Is there a reason why this should be core and not an add-on in the asset library?
Well, maybe it's so ' big ', it could be an add-on, since not all games need it, either way, I need pro stuff, global destruction, chaos or, worse, bigger . . <3
Thanks, for your time, and all the help, I'm now beginner level Godot user, bec. of the amazing, wonderful community and, just all-round superb devs, mods and, community, thanks . . . <3 :DD :DD . .
The text was updated successfully, but these errors were encountered: