Bilibili Video Downloader

The easiest way to download Bilibili video without watermark or logo

实时流体交互【简介详细】

TIP! Right-click and select "Save link as..." to download.

VIDEOS
MP4 N/A 480P Download
MP4 N/A 360P Download
AUDIO
MP4 N/A mp4a.40.2 Download
MP4 N/A mp4a.40.5 Download
MP4 N/A mp4a.40.2 Download
THUMBNAILS
实时流体交互【简介详细】 JPEG Origin Image Download
研究了也挺久了,从波动方程到纳维斯托克斯方程,由于纳维斯托克斯在欧拉视角下实在跑不动可用于项目的3DRT,只能以2D RT的方式解算,但这样做只能知道平面的物质导数大概什么样,为了得到纵向更加丰富的且带有流体性质的高度导数,将高度视为quantity加入了平流层,将高度的解算结果再交给波动方程,于是在顶点变换上,同时拥有了平面上关于纳维斯托克斯的矢量场,也同时拥有了带波动性质的高度场。

优化:
整个流体模拟都是在ComputerShader完成的,32个交互同时跑模拟耗时在0.4ms - 0.7ms,整个水体渲染在0.8ms - 1.2ms左右,模拟处理的边界是以当前玩家为对象中心,将其他的玩家转入此对象空间(这个里面还有很多小麻烦需要处理,主要是玩家位移方向必须与RT中的像素位移方向一致,后面会出教程说)因此需要计算的空间是固定的,这个Demo就是跑的640大小RT。
后续:
水体还有一些细节需要处理,水花还没有,矢量场还没完全发挥作用,其实整个做的差不多的时候想开源,但又想分为几节免费教程陆续说清楚整个过程而不开源,主要是希望能被真正热爱的人学到手,现在暂时不知道,但肯定会见面的。

有意思的:
除了水体,还包括什么草啊火啊啥的,UE有个插件叫FluidNinja,做的非常全面了,我也是做到一半才发现有这个玩意的,惊人的发现这个插件前期碰到的问题跟我的几乎一样,以玩家为对象空间做模拟以及RT与玩家同向也和我当时做的方法非常类似,之前模拟RT投射到水面会因为对不齐像素一直抖,我看了一下他的更新说明视频发现也碰到了这个问题,通过把投影Box的坐标进行了单位统一解决的,这个思路给了我挺大的启发,当时顺带也把这问题解决了。