正在加载视频...

视频加载失败

I finally released VRCFluid: my boundless, high-quality SPH fluid simulation for VRChat worlds! 🌊 Up to 1M particles, simulated on the GPU which works without compute shaders! My demo world: Booth page:

97,338 次观看 • 10 天前 •via X (Twitter)

16 条评论

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

The water isn't confined to a box region. A sparse hash grid means the fluid can exist (almost) anywhere in the world. Here I'm flying on the VRChat broom through a zero-g field of droplets over the whole world.

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

VRChat has no compute shaders, so the whole simulation runs in fragment shaders driven by UdonSharp and VRCGraphics.Blit, with no simulation cameras either. There are four performance tiers: 64K, 128K, 512K and 1M particles, and each player picks their own.

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

The surface is meshed with marching cubes every frame and rendered as a proper transparent liquid in screen space: refraction, absorption and scattering, so it looks like actual water and not a pile of spheres (but that's a togglable option!).

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

You can play with it in multiplayer: synced fluid guns, emitters, voids that drain it and force fields like vortices. Any player can pick them up. Fluid is only approximately synced tho.

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

It collides with the world: walls, terrain and overhangs are baked on the GPU in the editor, and players and pickups around you are captured live, so the water flows around you. Static objects are baked into a higher quality collider, while dynamic collision is done via cameras.

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

There are 9 looks and 11 physics presets, from water to goo, milk, gold and a ball pit, or you can tune the settings to get your own look

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

It also supports VRC Light Volumes, so the liquid is lit by the same baked lighting as the rest of the world.

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

Everything can be controlled from an in-world panel in English, Japanese and Chinese, and it works in multiplayer instances. It even runs in plain Unity projects without the VRChat SDK (Only BRP and 2022.3.22f are tested)

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

If you want to support me and the development, you can get it on Booth or Gumroad: Also here's a setup tutorial for adding it to your own world:

Kuldeep Pisda 的头像
Kuldeep Pisda10 天前

how are you building the sparse hash grid with just fragment shaders and blits? without atomics I'd guess a sort pass every frame

Mykhailo Moroz 的头像
Mykhailo Moroz10 天前

mipmap based radix sort

2Pish 的头像
2Pish10 天前

Expect a video from me, very soon...

Sam 的头像
Sam10 天前

no compute shaders and 1m particles on gpu? thats insane, how do u even optimize that without melting people's pcs

Boardy 的头像
Boardy10 天前

know a creative technologist who builds VR rave worlds and would put this fluid in front of a crowd. couldn't get a dm through to you though

freebox | VRC 的头像
freebox | VRC10 天前

a good world for some benchmarking with my 5700X and my future 5700X3D, thanks man

Enzo - LogMeIn Hamachi 的头像
Enzo - LogMeIn Hamachi10 天前

Glad to see it released! Good work 🙏

相关视频