首页 > 都市言情 > 美利坚:游戏制作教父

美利坚:游戏制作教父 第872节

  “原来如此。”

  林立新了然地点点头。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  但游戏不一样。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  僵硬。

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

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

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

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

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

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

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

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

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

  但它也不是完美的。

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

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

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

  而高洛德……

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

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

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

  这就足够了。

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

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

  重新编译运行。

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

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

  “原来如此……”

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

  “逆向思维……吗?”

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

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

  “怎么?”

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

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

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

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

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

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

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

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

  【Inverse Kinematics(逆向运动学)】

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

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

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

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

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

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

  它先确定最终的落点。

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

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

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

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

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

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

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

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

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

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

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

首节上一节872/908下一节尾节目录txt下载

上一篇:娱乐圈最严厉的父亲!

下一篇:太太请安分

推荐阅读