How do i make realistic water like this on Construct ?

2 favourites
From the Asset Store
Water Sound consists of 85 seamless loops of water sounds and 5 Thunder sounds.
  • if you set something every tick you need to use delta time!

    The default movement behaviours are already programmed to be framerate independent though.

    now that might explain why this bullet code i did earlier per tick didnt work properly

  • Self.ID&3 correct way to write this code?

  • check out this, using mesh deformation youtube.com/watch

    https://foozlecc.itch.io/impact-wave-effect-with-mesh-distortion

    edit: I checked it out and it sadly is framerate dependent and has terrible performance.

  • He's just got too many subdivisions it would probably work fine with less.

    Then again there's other methods...

    dropbox.com/s/pmcjiyl3yn48p5w/1dcwater.c3p

  • Hi,

    Glad it’s been useful.

    If you set k2 to 0 the water is no longer connected to each other. So it needs to be greater than zero for they affect each other.

    The dt is indeed to make it frame rate independent. Basically it follows the formula: speed*time=distance

    It’s utilizing iids to access neighboring instances. So currently it works with only one body of water. I have a few ideas how to get multiple to work. One is to clone the object type for each pool and duplicate the events. Another is to store the iids in an array per pool to access neighbors. A third is to just use some instance variable that store the next and previous iid. Should be able to setup the last one with a loop at the start of layout.

    I’ll mess with that later today.

  • sadly can't open the file newt , anyone else can?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Well that sucked, the save failed, had to remake.

    Try it now.

    Ashley there's a bug with permissions on save as single file.

  • It’s utilizing iids to access neighboring instances. So currently it works with only one body of water. I have a few ideas how to get multiple to work. One is to clone the object type for each pool and duplicate the events. Another is to store the iids in an array per pool to access neighbors. A third is to just use some instance variable that store the next and previous iid. Should be able to setup the last one with a loop at the start of layout.

    Um I got to thinking about that, and I thought maybe array in a container, but its just so awkward for 2d coordinates that I think that instancing with hierarchies in C3 would be a better option.

  • Here's an updated example that lets you have separate bodies of water. It works by finding the neighbors with some overlap checks at the start of the layout.

    dropbox.com/s/lz8wz3g2lciurwv/spring_water2.capx

    Applying it to a distort mesh or drawing it with the canvas is something I'll leave to the users of c3. It should be straightforward.

  • Is it possible to draw mesh on c2?

  • Yes, but none of it is portable to c3.

    There’s the paster plugin that has a action to draw a distorted quad.

    There’s a customDraw plugin that lets you do it too.

    You could even use the Rojo3d plugin to do it.

    There may be other plugins but I forget.

    Another way to to use the browser plugin to run some js to hijack the drawing of an instance and use the renderer’s drawQuad function directly.

  • check out this, using mesh deformation youtube.com/watch

    https://foozlecc.itch.io/impact-wave-effect-with-mesh-distortion

    edit: I checked it out and it sadly is framerate dependent and has terrible performance.

    so did you make any progress on the water sprite distortion? love to see

  • André created an awesome water project with mesh distortion based o ROJOs math, if you are in the Construct Community Discord it's in the uploads channel!

    https://cdn.discordapp.com/attachments/183566321156358144/922145868516307024/GIF_12-19-2021_4-15-40_PM.gif

  • Such an awesome project example- and I don’t disagree with the performance comments on the mesh deformation video I made lol. Hope it still gives some people ideas for their games!

  • Hi,

    Glad it’s been useful.

    If you set k2 to 0 the water is no longer connected to each other. So it needs to be greater than zero for they affect each other.

    The dt is indeed to make it frame rate independent. Basically it follows the formula: speed*time=distance

    It’s utilizing iids to access neighboring instances. So currently it works with only one body of water. I have a few ideas how to get multiple to work. One is to clone the object type for each pool and duplicate the events. Another is to store the iids in an array per pool to access neighbors. A third is to just use some instance variable that store the next and previous iid. Should be able to setup the last one with a loop at the start of layout.

    I’ll mess with that later today.

    Hi R0J0hound!

    Thank you very much for your .capx!

    I see this tutorial for Godot and I don't know What ways are better to do this work (tutorial link: youtube.com/watch

    I work spring_water2 and make this: drive.google.com/file/d/1EQIIYflxQFAUU0oOHsz35Lftj-RkwZRw/view

    I try to add physics and draw curve spline for water node and fix some problems but I can't do it T-T (for example I add floating for water, but it's too unbelievable and unnatural. when a rock goes up from the water, Waves down instead of going up!)

    guys send some gifs and they are very nice!

    we can do these in your capx?!

    again thanks for your capx!

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)