第686章 面数不变,效果翻倍!
剑开太平小说推荐阅读:救世主模拟器、斗破苍穹之萧族风云、拉克丝的法穿棒、塔防之全民公敌、DNF之玄学大师、文明之万界领主、这个世界的梦有大问题、网游之开局获得神级传承、穿越者纵横动漫世界、联盟:我真没有摆烂啊!、艾泽拉斯阴影轨迹、笑傲之独尊泰山、天帝剑尊
细胞阶段,也就是整个游戏伊始的第一阶段没什麽意外。
毕竟是林立新亲自操刀,外加本就是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人工智慧架构……」
卡马克兴奋地在文档里整理着。
一个崭新的世界此刻似乎已经向他敞开了。一个完全程序化的,完全自由的世界。
也是一个拥有无限可能的无限大的世界。
如果程序化沙盒这个思想进一步延伸……
http://www.jiankaitaiping.com/yt122282/50953929.html
请记住本书首发域名:www.jiankaitaiping.com。剑开太平手机版阅读网址:www.jiankaitaiping.com
毕竟是林立新亲自操刀,外加本就是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人工智慧架构……」
卡马克兴奋地在文档里整理着。
一个崭新的世界此刻似乎已经向他敞开了。一个完全程序化的,完全自由的世界。
也是一个拥有无限可能的无限大的世界。
如果程序化沙盒这个思想进一步延伸……
http://www.jiankaitaiping.com/yt122282/50953929.html
请记住本书首发域名:www.jiankaitaiping.com。剑开太平手机版阅读网址:www.jiankaitaiping.com