Liquid "Physics"

Now I hate to use the word physics because in reality nothing like this can be achieved with ROBLOX physics, simply because of how rudimentary it is, so its easy to tell that at best its a mash of physics and scripting, and it is! With quite literally an hour and a half of work I’ve managed to make this prototype which runs fully on the server and is controlled half by physics and half by scripting (when the liquid is flying through the air, that’s physics, when the liquid lands on a part, that’s physics telling the script to recast and scripting placing the part, when the liquid is rolling down a part or splatting on a surface, that’s scripting). What are your guys’ thoughts on how it looks so far?

https://gyazo.com/4aaad6b0bb5268a96094b9fea2c94d31

11 Likes

damn how??? did u make that! its very good and clean

its mainly just the physics lightening the load a ton, and tweening to make it so that raycasts only need to fire every half second or so for sliding down the sides of parts, with tweening kind of just estimating the inbetween portions of its course and raycasts marking its keyframes, seeing as this runs on server, its pretty insane how far you can push it, nobody would even ever need this much https://gyazo.com/c67e284ce07e6ab07d88415e5f6f4452

1 Like

damn didnt understand much cuz uhh I have a smol brain but still pretty impressive! good job keep the good work up!

Really impressive!

I think if you were to have a big map with rain in it, you would need to do this on the client. It looks expensive to render on the server for the whole map.

1 Like

That’s amazing! I’ve been looking for a way to do that for a while now, and I think that this could be an interesting component for some sort of game.

honestly not sure why you wouldnt do it in a region locked to the camera, itd def have to be client sided but unless id need it, i personally wouldnt make it be on the whole map

ill actually try porting it to client rq, itl be easier to port than some things like bullets cuz i wont have to worry about mismatching clients returning dif values to server