流体运动,可以说是游戏世界最重要的物理现象之一。小到下雨,大到波浪,精细到泪珠滚出眼眶,真实到血液沁出伤口,这些画面效果在游戏引擎中,都需要做精确的流体运动计算。
在最近网易旗舰古风端游《逆水寒》的更新中,开发组推出了一款“水枪”,这是一个完全没用但很沙雕的趣味物品,很多玩家玩过以后,下巴都笑掉了。
但是沙雕归沙雕,在这看似没啥用的水枪背后,其实是中国游戏流体物理引擎组件一次从无到有的技术研发。
今天,小编就来向大家正式介绍隐藏在水枪背后的网易雷火工作室前沿科技“流体喷射算法”!
在游戏里,想要呲一道水出来,其实是很难的。水无常形,水的运动轨迹,是最难琢磨的,所以以往一般采用贴图的形式解决。
也就是说开发者画好一道固定的水线,不管谁来呲怎么呲,呲出来的都是一道统一的固定的系统设定好的水线,贴图生成的水,没有体积,也没有灵魂。
在以画面真实而著称的《逆水寒》里,如果再继续搞贴图,就不合时宜了。
开发组最初尝试用一款美国的游戏物理效果组件来制作流体的运动,可用着用着就发现,该技术很难在游戏里做交互效果,同时还费算力,在优化上无从下手,应用于游戏中处处受限,无法突破。
所以雷火工作室的程序员头一铁,决定干脆自己做一个新的。于是就有了现在这套“流体喷射算法”!
它的原理是用无数个粒子组成流体,基于重力、风力、释放者施加的推力、粒子之间的互相作用力等等因素去计算流体喷射出来以后的运动轨迹。
同时还要计算流体被其他流体或固体阻拦以后的溅射运动轨迹。
贴图里的水,是设计者规定好了它怎么喷射与流动;而“流体喷射算法”中的水,是完全由水自己决定怎么动。
也就是说以前大多数游戏里喷出来的贴图水,都是虚假的纸片水,而在《逆水寒》里终于实现了“指哪喷哪、喷哪湿哪”的真实的有碰撞体积的水。
这么神奇的技术,其实在电影特效领域早就被广泛引用了,但为什么别的的游戏不做呢?主要还是因为性价比很低,具体有两个方面:
一是对开发者而言性价比很低,需要投入很多技术力量去开发,花费极高的成本得到的也只是流体效果更真实一点而已。
而且这种“更真实”普通人还不一定能直观地感知到,只有专业人士看了才会惊呼“卧槽这么厉害”。所以很多开发团队想来想去,不如还是继续画贴图吧。
更多相关资讯请关注:逆水寒专区