书海阁
书架 邀请 登录

第686章 面数不变,效果翻倍!

作者:哈娜欧菲手字数:3.6千字更新时间:2026-10-02 00:18:37
第686章 面数不变,效果翻倍!

细胞阶段,也就是整个游戏伊始的第一阶段没什么意外。

毕竟是林立新亲自操刀,外加本就是2D的玩法。

整个开发流程比预想中还要顺利得多。

但等到了第二阶段开始,情况就开始有些不同了。

按照计划,《孢子》毕竟利用了NovaFusion这台五代机夸张的图形性能。

为了带来最前卫的游戏体验,自然是要做3D的。

但一个3D化的大世界?

不说图形计算来不来得及,就是以现在的显存,那也是不可能够用的。

“总之……目前就是这么个情况,我们正在考虑降低面数来稳定性能表现。”

卡马克解释道,

“有雾效和流式加载的话,显存能被压缩得差不多,不过视觉效果肯定会大打折扣。”

不同于他们这儿。

林立新所负责的2D阶段,可以在视觉效果上打磨得非常精细。

因为以现在的图形性能,已经可以支撑他们去做很多很不错的细腻像素效果了。

相较对比之下,3D后的阶段只会让玩家有更强的落差感。

这种事情,显然是很难让人接受的。

“我尝试过几种不同的优化方案,但……因为《孢子》的生物是玩家捏的,我们根本无法预先确认最终的样子,没有办法做针对性的优化。”

卡马克调出开发机里的其他几个优化方案,分别跟林立新展示了一番。

不得不说,他的技术绝对是圈内仅次于林立新的存在。

随便哪个方案,都有非常不错的表现。

但或许这也是时代的局限了。

因为时间线变动的关系,卡马克这段时间一来并没有真正着手过UGC项目,对这种最终结果不确定的问题有些找不到着手点。

他更擅长在条件全部已知的情况下进行极限优化。

“原来如此。”

林立新了然地点点头。

怪不得引擎组这几天都聚在一块儿了呢。

“其实咱们可以换个思路。”

他说着,坐到卡马克跟前,

“这套技术等日后咱们的新FPS项目也会用到,而且会大量用到。”

毕竟FPS也算是GAMENOVA发家的核心类型之一了。

作为第五世代的第一方作品,肯定少不了它。

至于到时候要做什么,林立新早就已经有了方向。

“其实我们不必一定纠结面数的问题,适当的减面完全没有关系。”

林立新随手摸起一团橡皮泥,揉成个球,又在桌子上轻轻辊压了几下。

简单几下,这坨橡皮泥便变成了一个正多面体。

“我们是在搞游戏,而不是计算机图形学,很多时候,我们的目标并不是让它完美,让电脑也觉得它完美。我们的目标只有一个——让玩家满意。”

这就是游戏行业跟其他计算机前沿行业的差距了。

假如是通用汽车他们,建模里的任何一点误差那可是都会有大问题的。

连锁甚至会影响到风洞的气动模拟,对整个研发产线都造成影响。

也是因此,通用汽车的数字设计部门对参数有着近乎苛刻的要求。

同时,这也让他们成了GAMENOVA最大的高端工业显卡采购商之一。

但游戏不一样。

只要玩家的肉眼看着是那么回事,那就完全没问题。

“所以我们就需要请出计算机图形学帮一点小忙了。”

卡马克是编程天才,这部分才华溢出了一点,让他在图形学领域也有了不菲的成就。

可他到底是自学成才的车库奇才,并不是真正的科班出身。

在面对一些经典图形学问题时,他总会靠自己的实力强行大力出奇迹。

虽然有的时候能带来惊喜,顺手再拿一堆奖,再帮图形学界解决一些千古难题。

但很多时候,这种性格也会让他很容易重复造轮子,在没必要的事情上浪费精力。

“高洛德着色法(Gouraud Shading)。”

计算机三维图形学的世界,存在着三种主流的着色方案。

第一种,也是以当下图形性能条件最靠谱,也是最简单最传统的方案,平面着色(Flat Shading)。

由于在计算机的世界里,三维物体由大量的三角片构成的关系,着色方案也可以非常容易地设计。

在上色的时候,整个三角形只计算一次颜色,整个三角形都应用同一个颜色。

这种方案的好处是显而易见的,速度奇快、性能开销奇低无比。

但缺点也很明显,同时也是目前卡马克始终找不到对策的原因。

僵硬。

颜色之间缺少过渡,整个3D物体的棱角感非常明显,根本不像一个平滑的物体。

诚然,这一点可以通过增加面数得到改善。

但这种大力出奇迹的绿皮思路,显然让这些图形学家们非常不爽。

于是在70年代,有两位奇才站了出来,分别拿出了两套解决方案。

亨利·高洛德提出的高洛德着色法,与裴祥风提出的Phong着色法。

高洛德的思路是直接通过面的顶点进行计算,随后面上的每个像素都做一个过渡插值。

这样整个面上的颜色就一定是流畅的渐变。

Phong要更加极端一些,直接每个像素都进行完整的着色计算,结合光照、材质等因素,综合计算。

相较下来,不难发现Phong一定是渲染效果最优秀最漂亮的那一个。

但它也不是完美的。

就像平面着色牺牲了视觉效果换来了绝对的速度优势那样。

Phong便是牺牲了性能换来了绝对的画面。

它只适合给影视行业等高度依赖精度,又不需要实时计算的场合使用。

而高洛德……

它则是从这两者之间取得了一个折中点。

较低的运算强度,却能换来比平面着色强得多的效果。

面数没有增加,整个模型却一下子就像那么回事了。

这就足够了。

骗得过玩家的眼睛就已经足够了。

林立新坐到开发站跟前,上手迅速修改了一下着色器的代码。

重新编译运行。

原本屏幕上那坨面数有限的模型,一下子便光滑了起来。

高端的开发者,往往能够神不知鬼不觉地偷工减料,为显卡减少负担。

“原来如此……”

卡马克扫了一眼源码,便立刻Get到了这套策略的精妙之处,

“逆向思维……吗?”

他念叨着,像是忽然想明白了什么,随即眼神一亮,

“啊!这倒是提醒我了,我突然有了一个好主意。”

“怎么?”

“山姆昨天问过我,他想知道有没有什么办法在不确定生物会长什么样的情况下,为它设计灵活拟真的运动动画。”

卡马克兴奋地说道,迅速打开文档将自己脑袋里的思路记录下来,以防这些灵感稍纵即逝,

“林你知道的,咱们以前做3D动画,都是用现有的骨骼数据去做。”

“的确,但这次咱们的骨骼是后确定的。”

“对,所以没有办法预先为生物设计好移动方式,因为我们甚至都无法确定它的腿长在哪里,甚至无法确认它有几条腿。”

卡马克点点头,这个问题同样困扰了他有段时间了。

但刚才林立新的话给他提了个醒。

有的时候,解决问题其实只需要换个角度去思考,去逆向思考一下就成了。

【Inverse Kinematics(逆向运动学)】

他将上面的字展示给林立新看:

“我们不去控制肢体如何运动,而是告诉肢体它要放在哪。”

按照常理来说,一个抬腿动画的确立应该是个顺序的链条。

大腿率先移动,在骨骼系统的带动下,膝盖、小腿、脚脖子以及脚丫子都会被牵引着发生移动。

这就是典型的正向运动学。

但IK,则是完全换了一种思路。

它先确定最终的落点。

通过落点去倒推肢体该如何运动。

不论地面长什么样,不论这个生物长什么样。

它的腿永远都能很好地贴合在地面上。

当然,代价则是处理器的开销也会大一些。

“这套系统甚至能支持多组腿一起移动!而且能极大地减少咱们的资源开支。”

既然一切都是程序实时计算的了,那他们当然也不需要把这些东西存进光碟里。

3D时代有个让所有厂商都头疼的问题。

随着角色越来越多,场景越来越恢弘,动画资源也在跟着不断膨胀。

即便是光盘这种放在几年前还是外星科技一般的容量,如今也开始有些捉襟见肘了。

尤其是《孢子》这样一个玩家可以发挥无穷想象力的作品。

理论上来说,无限的组合等同于无限的动作,也就等同于无限的开支。

可在程序化后,他们便可以像做2D游戏那样,只做L2D拆分,大大节约容量。

当然,也节约了工时。

毕竟再也不需要动画师去一帧一帧地K动画了,只要程序员把规则写好,剩下的一切,游戏自己都能处理好的。

“将IK逆向动力学跟刚才的高洛德着色法结合在一起,根据参数化的脊柱节点动态生成Mesh并绘制蒙皮,用IK骨骼控制步态,再加上威尔的JAZZ人工智能架构……”

卡马克兴奋地在文档里整理着。

一个崭新的世界此刻似乎已经向他敞开了。

一个完全程序化的,完全自由的世界。

也是一个拥有无限可能的无限大的世界。

如果程序化沙盒这个思想进一步延伸……

此章为VIP章节,需要订阅后才能继续阅读

  • 价格:0屋币(1元=100屋币)
  • 购买
设置
作品详情 加书架
章节进度
评论 (0条)
评论加载中...
美利坚:游戏制作教父封面 正序
目录加载中...
加书架
上一章 目录 下一章

设置