Grant Kot
Grant Kot
  • Видео 169
  • Просмотров 965 767
Putting a Liquid Simulator in tldraw
Demo: grantkot.com/draw/
Just some early experiments with tldraw. Most of the time spent so far was just project setup
Просмотров: 102

Видео

Liquid Layers
Просмотров 11 тыс.14 часов назад
Demo: grantkot.com/ll Added new interactions, better multi-touch, easier to modify via scripting. The physics is based on the paper: Particle-based Viscoelastic Fluid Simulation by Simon Clavet, Philippe Beaudoin, and Pierre Poulin
WebAssembly Liquid Simulator
Просмотров 3,8 тыс.Месяц назад
2D Liquid Demo: grantkot.com/ll/ 3D Liquid WIP Preview: grantkot.com/pvfs3d/ Mesh Shader Demo (Mesh Shader.zip): kotsoft.itch.io/liquid-crystal-sandbox-parsec-version Blobs: kotsoft.github.io/blob/ Going to work hard the next month to port a variety of mini physics demos to WebAssembly.
Open-source Particle-based Viscoelastic Fluid Simulation Implementation
Просмотров 3,3 тыс.Месяц назад
Demo: kotsoft.github.io/particle_based_viscoelastic_fluid/ Code: github.com/kotsoft/particle_based_viscoelastic_fluid/ Everything can mostly be implemented directly from the pseudocode in the paper. For more info about spatial hashing, I would recommend Matthias Muller's 10 minute physics. I also made some changes to the springs section to improve stability.
How I Use Mesh Shaders
Просмотров 3,2 тыс.Месяц назад
Quick mesh shader explanation vid for the new peeps. Also I tried to record higher quality than my previous vid on MS.
Ships, Deep Water | Voxel Physics Engine
Просмотров 4,1 тыс.Месяц назад
Re-enabling coarse pressure for my ships scene, allowing for much deeper water.
4K, 6 Months of Voxel Physics Engine Optimizations
Просмотров 12 тыс.2 месяца назад
4K60 reupload of my previous video detailing the past 6 months of optimizations I've made for my engine. Some clips are newly recorded since I don't have 4K versions of all of my old footage. Some early unoptimized demos here: kotsoft.itch.io/
My Voxel Physics Demos on itch.io
Просмотров 3,3 тыс.2 месяца назад
Demos page: kotsoft.itch.io/ ruclips.net/video/XgzCNFG4XWE/видео.html These are 4K clips from currently released demos, going backward from most recent to oldest.
6 Months of Voxel Physics Engine Optimizations
Просмотров 45 тыс.2 месяца назад
Demos page (unoptimized): kotsoft.itch.io/ A summary of my past 6 months (or maybe more lol) of voxel physics engine optimizations to get massive simulations running in real-time on laptops and handhelds. Going through memory bandwidth optimization, sparse grid and adaptive particle resolution.
Structures Preview | Deformable & Liquid Voxel Physics
Просмотров 1,6 тыс.2 месяца назад
0:08 Shape Matching Clusters 0:50 Normal Stiffness 1:37 Terrain The new structures system will be much more flexible than the old one, which only did one shape matching cluster per object. The new one will be able to support multiple clusters as well as connections between clusters. Here the particles are only assigned to 1 cluster, but I will work on letting them be part of multiple clusters w...
skibidi sandbox 01
Просмотров 1,3 тыс.3 месяца назад
skibidi sandbox 01
Updated City Demo on Itch.io | Liquid Crystal
Просмотров 9073 месяца назад
Updated City Demo on Itch.io | Liquid Crystal
City-scale Real-time Liquid Simulation | Liquid Crystal
Просмотров 1,1 тыс.3 месяца назад
City-scale Real-time Liquid Simulation | Liquid Crystal
Block Building Preview | Liquid Crystal
Просмотров 5803 месяца назад
Block Building Preview | Liquid Crystal
Liquid Crystal Demo 2024
Просмотров 6283 месяца назад
Liquid Crystal Demo 2024
Renderer Improvements, Ambient Occlusion (Intel XeGTAO)
Просмотров 1,3 тыс.3 месяца назад
Renderer Improvements, Ambient Occlusion (Intel XeGTAO)
Multiphase Preview
Просмотров 5993 месяца назад
Multiphase Preview
Granular and Elastic Materials
Просмотров 9093 месяца назад
Granular and Elastic Materials
Sandworm Simulation
Просмотров 2,6 тыс.3 месяца назад
Sandworm Simulation
Ocean-scale Noodle Simulation
Просмотров 6273 месяца назад
Ocean-scale Noodle Simulation
Deep Water (6/6): Multigrid Pressure
Просмотров 6264 месяца назад
Deep Water (6/6): Multigrid Pressure
Deep Water (5/6): Fixed Visual Glitches
Просмотров 4704 месяца назад
Deep Water (5/6): Fixed Visual Glitches
Deep Water (4/6): Distance to Surface Adaptive Particle Resolution
Просмотров 4224 месяца назад
Deep Water (4/6): Distance to Surface Adaptive Particle Resolution
Deep Water (3/6): Distance to Player Adaptive Particle Resolution
Просмотров 3884 месяца назад
Deep Water (3/6): Distance to Player Adaptive Particle Resolution
Clearwater and Structures Preview (Liquid Crystal)
Просмотров 6274 месяца назад
Clearwater and Structures Preview (Liquid Crystal)
Liquid Crystal Updated Demo
Просмотров 1,4 тыс.Год назад
Liquid Crystal Updated Demo
Liquid Crystal New Demo Now Available On Itch.io (4K)
Просмотров 1,7 тыс.Год назад
Liquid Crystal New Demo Now Available On Itch.io (4K)
Light Absorption & Fresnel (Real-time Voxel Physics)
Просмотров 2 тыс.Год назад
Light Absorption & Fresnel (Real-time Voxel Physics)
Going Underwater (Realtime Voxel Physics Engine)
Просмотров 4 тыс.Год назад
Going Underwater (Realtime Voxel Physics Engine)
Added Sea Foam 2
Просмотров 843Год назад
Added Sea Foam 2

Комментарии

  • @BenHarling
    @BenHarling 15 минут назад

    This is utterly wikid :)

  • @23lkjdfjsdlfj
    @23lkjdfjsdlfj 33 минуты назад

    Truly amazing!

  • @gostan2718
    @gostan2718 39 минут назад

    wow the development is so fast

  • @mrmaniac9905
    @mrmaniac9905 3 часа назад

    So much potential here.....

  • @3borsresistance551
    @3borsresistance551 7 часов назад

    Noita 2.0 Tech Demo

  • @krystostheoverlord1261
    @krystostheoverlord1261 22 часа назад

    Oh wow! This is spectacular! Is this an open source project with a github repo!

  • @neon_Nomad
    @neon_Nomad День назад

    Danball 2.0

  • @Otakutaru
    @Otakutaru День назад

    I lost my shet when he moved the window and the liquid got mixed. He just said it so casually too!! That's an amazing feature!

    • @GrantKot
      @GrantKot День назад

      Thanks! Handling different window sizes properly is an important thing to keep in mind when developing a responsive web site.

  • @pablogonzalez4567
    @pablogonzalez4567 2 дня назад

    this is really cool

  • @willd2609
    @willd2609 2 дня назад

    just incredible! I am in love with the planet stuff!!!!

  • @willd2609
    @willd2609 2 дня назад

    Just incredible!! Could something like this be ported to Godot? This would be so wonderful to play with for 2D video games!!

    • @GrantKot
      @GrantKot 2 дня назад

      Thanks! Definitely the base algorithm from Particle based Viscoelastic Fluid Simulation (Simon Clavet) could be implemented. But yeah I think JS+Wasm is a pretty amazing combination for getting near native performance but being easy to hack around on.

  • @creativical
    @creativical 2 дня назад

    Just spent an eternity trying to get 4 different colored blobs to stay together in zero gravity just using the drag tool. Meanwhile my sister married and had two kids who study statistics now.

    • @GrantKot
      @GrantKot 2 дня назад

      There is the nbody checkbox under the simulation tab which might be helpful lol

  • @azedinelyakoubi7887
    @azedinelyakoubi7887 3 дня назад

    a very fun project i hope you continue adding littel things to it and meybe make it a stand alone programe or game at one point

  • @Diabolka666
    @Diabolka666 3 дня назад

    great job! Do you calculate the physics on CPU side? If yes do you use simd instructions? Iam thinking about reimplementing my fluid simulation from GPU side to CPU. ruclips.net/video/R7nsbQ9iQEo/видео.html

    • @GrantKot
      @GrantKot 2 дня назад

      Yeah I use WebAssembly with simd but if you multiply by substeps mine is only 20k at 240fps so I guess GPU 10 times faster

  • @OBBY_506
    @OBBY_506 3 дня назад

    Price

    • @GrantKot
      @GrantKot 3 дня назад

      I have some free demos on itchio: kotsoft.itch.io/ But the one with the worms needs a pretty extreme computer. I have also started working on a less demanding physics simulator in WebAssembly: grantkot.com/

  • @user-qh8bm4nv9w
    @user-qh8bm4nv9w 3 дня назад

    Noita 2 Demo :)

  • @brainangles
    @brainangles 3 дня назад

    I've been having so much fun with this. Thanks. Stay inspired!

  • @MDNQ-ud1ty
    @MDNQ-ud1ty 3 дня назад

    You seem excited. /s Maybe you could add some molecular like feature where the different materials can act as atoms and form molecules if they exist in the right configuration. This would likely make the simulation non-realtime though but maybe if you limited the possible configurations. E.g., 4 reds with a blue center in the form of a + can form a molecule and these will then act as fixed structures which could only break if another molecule hit it hard enough. Also, maybe have some help hints when mouse is over the text.

    • @GrantKot
      @GrantKot 3 дня назад

      Yeah, great ideas! Thanks for reminding about the hover hints. Will try to get those in soon.

  • @kellymoses8566
    @kellymoses8566 3 дня назад

    This is like a liquid version of powder toy.

  • @markoradojevic4813
    @markoradojevic4813 3 дня назад

    This is REALLY amazing!!!

  • @robelso5646
    @robelso5646 3 дня назад

    This is AWESOME

  • @trololp9724
    @trololp9724 4 дня назад

    This remainding me of old sandbox game called OE-Cake that was released in 2008, some structure you called "molecular bonding" and those spaghetti thing I saw in that game too.

  • @idontwantahandlethough
    @idontwantahandlethough 4 дня назад

    Very cool man!

  • @emrekt22
    @emrekt22 4 дня назад

    very impressive i like this

  • @JohnDoe-rx3vn
    @JohnDoe-rx3vn 4 дня назад

    "Falling sand" games aren't new, but this is the by far the best fluid simulation i've seen in that vein

  • @TiagoTiagoT
    @TiagoTiagoT 4 дня назад

    Long time ago I saw something about a technique where liquids were simulated as layers of particles near the surface, and as voxel-grid celular-automata style simulations inside the volumes, with the interface between the two types talking with each other to transfer forces and densities and stuff, and particles being created and destroyed as needed, and the voxel grids adjusted to fit inside as the surface layers changed shape, and stuff like that. Would that be something that could help you get deeper water working better?

    • @GrantKot
      @GrantKot 3 дня назад

      Yes this is definitely something I need to look into. It gets a bit difficult in my case I think because I have many objects interacting with and poking into the water, sometimes thin objects too like the demo with the bamboo. And then there is the multimaterial aspect of things.

  • @TiagoTiagoT
    @TiagoTiagoT 4 дня назад

    Imagine if this tech was already available when they were creating Teardown...

  • @TiagoTiagoT
    @TiagoTiagoT 4 дня назад

    Steam page? What is it? Do got any toys and I can add to my Deck yet?

    • @GrantKot
      @GrantKot 3 дня назад

      I didn't put up the steam page yet for the 3d sandbox. I just tried out the webassembly simulator on there but the experience is not great as for some reason the browser doesn't seem to enable multitouch and accelerometer. I think I'll try to compile a native version of Liquid Layers to put on Steam. My 3D stuff I probably need to lower down the minimum requirements. Gotta get it at least 60fps on the Steam Deck.

    • @GrantKot
      @GrantKot 2 дня назад

      Actually, multitouch does work with the browser demo on Steam Deck. I think I just hadn't used it in a while and had to do some things to get the touchscreen working.

  • @OBBY_506
    @OBBY_506 5 дней назад

    Game name B.

  • @Copa20777
    @Copa20777 5 дней назад

    I didnt expect to interact with it in my phone directly, dude your a Genius, wish you all the best and God bless

  • @artificiallychallenged
    @artificiallychallenged 5 дней назад

    I would really like to see electric potentials and radii added here. It could be fun to try to make molecules with this!

  • @hallo2955
    @hallo2955 5 дней назад

    Truly amazing. I see so much potential for a Game. But sadly, it doesn't run in FireFox. I just can't emit any particles. Does anyone has similar issues?

    • @GrantKot
      @GrantKot 5 дней назад

      Hi, Firefox should be able to run this. Would you be able to press F12 while on the page so the inspector pops up, then reload and see if any errors pop up in the bottom? It does use some newer features like WebAssembly and WebGL2 so maybe also check your FF version in settings (search "updates" to get to relevant section). I am currently trying it out on FF 127.0.2.

  • @iestynne
    @iestynne 5 дней назад

    This looks so much fun to play with! Am I the only one thinking... Noita sequel?? :)

  • @RPG_Guy-fx8ns
    @RPG_Guy-fx8ns 5 дней назад

    add some bubbles, boids, maybe some slime growth. maybe add a crafting system, where you recognize certain molecule structures, and you replace them with other particles.

  • @kaede_elfen
    @kaede_elfen 5 дней назад

    Amazing stuff! Where can we read more about the background and the method used to simulate the fluids?

    • @GrantKot
      @GrantKot 3 дня назад

      Thanks! The base liquid algorithm can pretty much be fully implemented just by following the paper Particle-based Viscoelastic Fluid Simulation. The method I recommend for spatial hashing can be found here: github.com/DiligentGraphics/DiligentSamples/tree/master/Tutorials/Tutorial14_ComputeShader

    • @kaede_elfen
      @kaede_elfen 12 часов назад

      @@GrantKot I've been working on implementing the paper for a few days now, it's coming along nicely. Thank you so much for your inspiring work!

  • @salvadorian3288
    @salvadorian3288 5 дней назад

    Fantastic!

  • @basiliotornado
    @basiliotornado 5 дней назад

    Fun demo! always love playing with this kind of thing

    • @basiliotornado
      @basiliotornado 5 дней назад

      is it intentional that i can drag the window to shake the fluid? 😅

    • @GrantKot
      @GrantKot 5 дней назад

      @basiliotornado yeah dragging and resizing the window are supported. On mobile accelerometer and multitouch is also supported.

  • @Lily-Carruthers
    @Lily-Carruthers 5 дней назад

    Does this have a public git repo that I could contribute code to?

    • @GrantKot
      @GrantKot 3 дня назад

      I don't have the SIMD optimized version available to public, only a JS version so far: github.com/kotsoft/particle_based_viscoelastic_fluid/ If there are features you would like to see let me know and I can also potentially add them.

  • @timmygilbert4102
    @timmygilbert4102 5 дней назад

    Me: look ma! I'm a Jedi Ma: stop playing with your cereal 🥣

  • @theowenmccarthy
    @theowenmccarthy 5 дней назад

    It's wild that moving the window is simulated as motion, such a cool detail

  • @Theawesomeking4444
    @Theawesomeking4444 5 дней назад

    do you plan on updating liquid heating in the future? im actually very curious how well your new fluidsim performs compared to back then.

    • @GrantKot
      @GrantKot 5 дней назад

      I think the liquid heating one was reasonably optimized. With it I resolved the multithreading and cache issues that were plaguing me when I moved up to the 5900X. Its main slowdown is the tracking of the full 3x4 deformation gradient. And sending it to the GPU as all floats. In the newer one, with the sand, I only send a byte for each of the 3x3 deformation gradient elements.

    • @Theawesomeking4444
      @Theawesomeking4444 5 дней назад

      ​@@GrantKot interesting, because something i realized with the liquid heating is that it runs at 20 fps (1 million particles i think it is?), and it does not matter if my cpu is clocked at either 4ghz or at 2ghz it runs at the same fps, possibly memory bottle necked, since you said that you made the particle memory size smaller, maybe it should run at 40 fps now? because for example the one i have, i managed to get it running at 18 fps (1 million) after doing manual simd with avx2 as you suggested which thanks btw. but the cpu has to be clocked at 4ghz otherwise it lowers based on clock speed, for example 2ghz will make it run at 9 fps.

    • @GrantKot
      @GrantKot 5 дней назад

      @Theawesomeking4444 yeah could be memory bandwidth related. Does your machine support resizable bar? I think I relied on it too much. I am on the way to get things multithreaded with webassembly as well

    • @Theawesomeking4444
      @Theawesomeking4444 5 дней назад

      @@GrantKot resizable bar? ive never heard of that, what is it for?

    • @GrantKot
      @GrantKot 5 дней назад

      @Theawesomeking4444 it allows you to write directly to GPU memory from the cpu. Instead of having to use an upload buffer. Started with nvidia 3000 series.

  • @DTS037
    @DTS037 5 дней назад

    hello ;qnm i love ur job / do u think it could be qudio sync ?

    • @GrantKot
      @GrantKot 3 дня назад

      Thanks yeah, would be cool to audio sync different things. Maybe a heightfield collider on the ground, or maybe bass could control some repulsion force fields. I think it is possible to use the WebAudio analyzer node to do this.

  • @m.i.c.h.o
    @m.i.c.h.o 5 дней назад

    Please add fixed obstacles and containers that you can place into the sim

    • @GrantKot
      @GrantKot 3 дня назад

      I have started adding some of this. To preview static colliders you can now use the C, V, B, G keys to have the liquid collide with basic shapes around the mouse. Will allow placing of these as soon as I update the renderer to render the shapes. You can lock particles in the brush radius in place with the tilde ` key. I hope to polish this stuff up this week.

    • @m.i.c.h.o
      @m.i.c.h.o 3 дня назад

      @@GrantKot that’s great, thanks! By the way, I was hoping you could add a purely anti-gravity button for mobile users, as when using the accelerometer makes it so you need to have your screen flat to the ground.

    • @GrantKot
      @GrantKot 3 дня назад

      For zero g you can also now use the gravX and gravY (set to 0) settings in the Simulation tab. Kind of unfortunate they’re not in same tab

    • @m.i.c.h.o
      @m.i.c.h.o 2 дня назад

      @@GrantKot Got it. All good!

    • @GrantKot
      @GrantKot 37 минут назад

      Check out latest vid/demo. For collisions

  • @m.i.c.h.o
    @m.i.c.h.o 5 дней назад

    You just blew my mind. I'm playing with the demo right now and I can't believe my eyes! MY computer is running this??? Thanks for this!

  • @tev5040
    @tev5040 5 дней назад

    found this video randomly. played around on this website for like 30 minutes. super fun lol

  • @scotthilton7164
    @scotthilton7164 6 дней назад

    Can you make it so we can set rest density for each material individually? Do you have source code available?

    • @GrantKot
      @GrantKot 3 дня назад

      I will try to add that feature soon. I don't have the latest SIMD optimized version available to public but I do have a JavaScript implementation: github.com/kotsoft/particle_based_viscoelastic_fluid/

  • @SuperWabo
    @SuperWabo 6 дней назад

    Really cool simulation. Well done!

  • @realElo.2
    @realElo.2 6 дней назад

    would it be possible to add a pause hotkey? where things are paused but you can still leftclick drag things around? would be awesome

    • @GrantKot
      @GrantKot 6 дней назад

      I added a "sculpt mode" which you can toggle with S key. There's also the vortex forces from x and c that you can use while in this mode. Or attract/repel. Would also recommend playing around with the sameRestDensity/diffRestDensity/stiffness parameters in this mode.

    • @realElo.2
      @realElo.2 5 дней назад

      ooo this is very interesting!! thank you for doing this!! (:

  • @LaDoorDude
    @LaDoorDude 6 дней назад

    easily a chrome bookmark. usable on a school laptop!

  • @quentinwach
    @quentinwach 6 дней назад

    How do I upload my brain into this?