返回

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

首页
关灯
护眼
字:
大
中
小
上一页 回目录 下一章 进书架
应」搜「索旗」」可查看最「新章「节!但这种大力出奇蹟的绿皮思路,显然让这些图形学家们非常不爽。

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

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

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

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

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

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

    但它也不是完美的。

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

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

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

    而高洛德……它则是从这两者之间取得了一个折中点。

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

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

    这就足够了。

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

    重新编译运行。

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

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

    「原来如此……」

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

    「逆向思维……吗?」他念叨着,像是忽然想明白了什麽,随即眼神一亮,

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

    「怎麽?」

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

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

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

    「的确,但这次咱们的骨骼是後确定的。」

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

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

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

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

    【inverse kinematics(逆向运动学)】他将上面的字展示给林立新看:

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

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

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

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

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

    它先确定最终的落点。

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

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

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

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

    「这套系统甚至能支持多组腿一起移动!而且能极大地减少咱们的资源开支。」既然一切都是程序实时计算的了,那他们当然也不需要把这些东西存进光碟里。

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

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

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

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

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

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

    当然,也节约了工时。

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

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

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

    一个崭新的世界此刻似乎已经向他敞开了。一个完全程序化的,完全自由的世界。

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

    如果程序化沙盒这个思想进一步延伸……
上一页 回目录 下一章 存书签