返回第23章 难题(2 / 2)游戏工厂首页

温斯顿已经完成第一版的动漫效果材质球,只是动态遮盖技术依旧没有完成。

文羽查看了下程序的总体进度,大概在80%左右,要知道在这几天中,温斯顿几乎是超负荷工作,但依旧还有很多技术问题需要解决。

没有办法,文羽只得先将动漫材质球应用到完成好的独角兽模型上。这样他才能浏览最后的渲染效果。

期初的测试非常好,画面和文羽自己预计的一样,完完全全还原了动画片中高达模型的质感。而且这还是高清画质,1080P模式下,画面保持在了40-50帧。

可当来到动画的最后阶段,独角兽机体觉醒,一块块的外部装甲被弹开,暴露出了独角兽独有的精神骨架,随后精神骨架开始爆发出青色的光芒,配合上巨量的光影特效,这一幕可谓拥有不亚于科幻大片的震撼感。

虽然震撼,可文羽一点也高兴不起来,画面的FPS参数已经掉到了15帧。。。随着特效的不断变化,画面也从顺滑变成了幻灯片!

文羽揉了揉太阳穴,无奈的叹出了一口气,看来这个动态遮盖技术不完成,玩家也无法体验到这极具震撼力的动画。

晚上11点50,温斯顿虽然是火力全开,可最关键的动态遮盖依然无法实现。而问题的关键就出在了这个“动态”上面。

在程序里面,只要牵扯到动态问题,无疑都会让程序员头痛不已。

程序内部,各条指令环环相扣,动态函数不计其数,越多的使用动态函数无疑会加大CPU的运算负担。

假如独角兽的正面为1,那么为1的部分进入GPU进行运算。背面则为0,不进行计算。

当独角模型转动的时候,正面转到了背面,那么要如何让计算机来判定呢?

温斯顿的做法是调用模型的旋转坐标函数,根据坐标的变化,来判断模型的朝向,以此来判定那个部位应该进入GPU进行计算。

那么独角兽变形的时候呢?独角兽作出各种战斗动作的时候呢?

这个时候就需要调动更多的坐标,方向函数,乃至于缩放函数。

如此一来,CPU的运算负荷极具增加。

凌晨3点,温斯顿完成了动态遮盖技术,文羽在测试了效果以后,也是无奈的摇了摇头。

在进入最后阶段,FPS只能维持在23-26帧左右,虽然有了很大的提升,可依然无法满足30帧的最低要求。画面一旦低于30帧,给玩家造成的伤害可是致命的。

文羽抓着头皮,在地下室反复的踱步,时间不停的在流逝。这时外面响起了鸡鸣声。

文羽打开UE4引擎后台,开始查看硬件工作数据信息。一大串的数据像是刷屏一般的快速掠过屏幕。

按了下暂停,文羽拿出眼药水滴了几滴,眨巴了眼见,然后重新按下开始,继续快速查看。

文羽知道目前“动态遮盖”其实已经完成,他确实可以减少当前场景40-45%GPU占用率,而且程序起到了该有的作用,将一开始的15帧提升到了几乎25帧。

其实问题出在“动态遮盖”程序自己的身上,由于大量的调用各种动态函数,因此这个程序在运行的时候,降低了GPU的负载,却增加了CPU的负担,因此这个卡顿是来自CPU的。