正在加载视频...

视频加载失败

So I've implemented hash grid based fluid simulation in VRChat - its absolutely incredible. Because its hash based its literally boundless, so fluid can occupy the entire world. Currently I only have the "Mentos" particle rendering, but I plan on trying to make isosurface work

358,962 次观看 • 1 个月前 •via X (Twitter)

58 条评论

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

Its absolutely mental when you set gravity to low, fluid literally flyes everywhere

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

I have put 1M particles as limit in the world for now, which can fill a decently large space

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

I've also added a bunch of "manipulator" objects, like this attractor sphere, you can make globes of fluid

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

Here's high viscosity goop liquid

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

Inverting gravity direction is also quite insane when you dont have bounds

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

I've also been improving the isosurface ray tracer, make it a bit more PBR based, also basic screen space effects. Its currently only functional in bounded simulation mode. Making it work in hash sparse boundless would be the next problem. Not sure if even feasible with good perf

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

Regarding the technical side, I think hash based particle simulation is much better than sparse tree grid based one, sparse tree's require indirections to get neighbor, while with hash grids the only drawback is hash collisions, but the bottleneck is latency so its much better

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

Making a hash based grid however is tricky, I think I'm going to try making a "N-slot texture" where each sparse cell can hold up to N voxels, it should hopefully work most of the time if the "hash" has few collisions. But yeah making it ray trace fast is tricky

kiby3x 的头像
kiby3x1 个月前

Soo what exactly do you expect vrchat players to do with a fluid sim...

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

dont worry about that 🫡

Low3 的头像
Low31 个月前

Please dont add white color, i beg you

Low3 的头像
Low31 个月前

You did, didn't you

POBrevive 的头像
POBrevive1 个月前

How did he made the water physics work I mean is there a tutorial for it

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

tutorial? not really, more like papers:

Joseph Adams 的头像
Joseph Adams1 个月前

VR chat? How many request for a sticky white version you got so far?

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

yes

Vladimir Cazacu | 𝕧𝕠𝕝𝕠𝕕▿ 的头像
Vladimir Cazacu | 𝕧𝕠𝕝𝕠𝕕▿1 个月前

Will you be releasing this anywhere? I'd love to learn from your work.

RasputinKaiser 的头像
RasputinKaiser1 个月前

Hi! I've been working on a very similar thing with ThreeJS + Box3D! This is MIT

Coach Dorn || Oyaji Club 的头像
Coach Dorn || Oyaji Club1 个月前

VRC Splatoon and DrainSim. Good potential here.

Noosphere 的头像
Noosphere1 个月前

Portal 2 map incoming xD

Adam Kadmani 的头像
Adam Kadmani1 个月前

This is the future

EmberBeard 🏳️‍🌈🇬🇧 NFC, CFZ, EF 的头像
EmberBeard 🏳️‍🌈🇬🇧 NFC, CFZ, EF1 个月前

@GuusDeKroonVR - we need to check this out sometime 😁

ً 的头像
ً1 个月前

watch this be used for you know what

Kuwazy 的头像
Kuwazy1 个月前

The bandwidth required to display this for all players must be enormous.

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

Not really, sim is run locally. As long as the inputs and interaction matches it looks similar enough for people to be fooled that its synced

Aki 🔞 的头像
Aki 🔞1 个月前

Wonder if it'd be possible to use this to do something like SpaceSim in VRChat (Example of SpaceSim: 1M Solar mass black hole eating Mercury)

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

Unfortunately it is possible, and I've been considering something like that. But I would need on top of sorting to build a sparse octree for Barns-Hut, or multipole method, that would be tricky. Much harder simulation wise than sparse hash fluid

Aki 🔞 的头像
Aki 🔞1 个月前

Don't know about you, but I'm one of those people who love pushing a platform not made for physics deep into physics Same with mechanical engineering stuff, just seeing things move and be interactive So difficult yes, cool also yes.

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

external gravity is easy with this simulation, its just self gravity which is ass to work with due to nonlocality

Aki 🔞 的头像
Aki 🔞1 个月前

Ah, got it. So basically VRChat is being VRChat like always, a pain in the ass to do anything cool in without having to get around a mess

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

honestly? this would be hard even outside of vrchat 😅

Aki 🔞 的头像
Aki 🔞1 个月前

Yeah... I'll come back and reread after I get sleep so I'm not on 2% battery mode and actually comprehend things Until then imma go read up on some more whatever I was doing... I forgot

Tilur A Kit 的头像
Tilur A Kit1 个月前

That's really cool!

daddy konta 的头像
daddy konta1 个月前

world?

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

work in progress, release later

LowPolyNicky 的头像
LowPolyNicky1 个月前

Add white color PLEASEEE i uhhh need it for scientific research

Kohei / Konoha / Saya 的头像
Kohei / Konoha / Saya1 个月前

これはまだVRChatで公開されていませんか?ワールドを知りたいです

CCHICKEN 的头像
CCHICKEN1 个月前

@SadlyItsBradley Can it run on potato pc ?

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

@SadlyItsBradley potentially with a small amount of liquid

CCHICKEN 的头像
CCHICKEN1 个月前

@SadlyItsBradley Never really tried VRchat. you made me want to play it !

DollyDread 👻🍒50s Diner Ghost 的头像
DollyDread 👻🍒50s Diner Ghost1 个月前

I wanna play in the virtual water so bad ngl

Wish Dragon 的头像
Wish Dragon1 个月前

What the fuck

Cool Bandit 的头像
Cool Bandit1 个月前

Really strong technical work, respect.

adyingdeath 的头像
adyingdeath1 个月前

Fiuld simulation in such a performance limited world is really an incredible work. Next step should be adding Cola fiuld into the world.

Dom 的头像
Dom1 个月前

This will 100% eventually be used for VR furry sex cum physics

Decima #ResignTimSweeney 的头像
Decima #ResignTimSweeney1 个月前

Great. Another thing that could crash my game.

Treebeast||Dishdog🇵🇸 的头像
Treebeast||Dishdog🇵🇸1 个月前

millions of gallons...

Mogmek 的头像
Mogmek1 个月前

That's waaay too cool. I seem to have very similar things under the hood, but the visualization and constants make yours look so much better

Look O' Me 的头像
Look O' Me1 个月前

Yaaay, gooop :3333

jake downs 的头像
jake downs1 个月前

@SadlyItsBradley this is awesome! 👏

Freddy 的头像
Freddy1 个月前

I also implement hash, how funny

Leo Dutra 的头像
Leo Dutra1 个月前

I know what you VRChat guys are targeting with fluids. So keep up the good work.

Δx ⋅ Δp ≥ ℏ / 2 的头像
Δx ⋅ Δp ≥ ℏ / 21 个月前

You are having too much fun over there.

N 的头像
N1 个月前

How do you replicate data of 1 million particles, or it's not a concern?

NeubertIM 📯 的头像
NeubertIM 📯1 个月前

Woah this is impressive. Even with "only" the Mentos. I dont know how VRChat works since i rather play DCV or Valheim in VR but where is the Workload of this sim? Is this Standalone VR or are there Servers from VRChat which handles the calculations? impressive video 🤩👍

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

its locally simulated, not synced. it looks similar for players, but not the "same"

NeubertIM 📯 的头像
NeubertIM 📯1 个月前

Ah. So it is PCVR and every Chatter has its own simulation result. Still impressive. Nice work

Mykhailo Moroz 的头像
Mykhailo Moroz1 个月前

If this was a separate game it could potentially be synced, but youd likely need * Deterministic simulation, probably on CPU * Lockstep handling on all players * Exact matching of simulation inputs between players

相关视频