《刺激战场》项目组成立后的第一周。
整个团队就陷入了一种接近绝望的状態。
技术Demo做出来了。
一座八公里乘八公里的3D荒岛,有草地、有树木、有废弃的城镇和军事基地。
从高空往下看,确实壮观。
然后他们往里面扔了一百个AI机器人。
手机直接黑屏了。
不是卡顿,是直接死机。
主板温度飆到了七十八度,屏幕闪了两下之后彻底熄灭,手机壳烫得能煎鸡蛋。
主程小周拿着这台冒着热气的测试机走进了陈默的办公室,表情像是刚参加完一场葬礼。
「陈总,我跟您实话说。
我们用了目前最先进的虚幻引擎,把画质压到了最低档,关掉了所有的光影效果,甚至连草都刪掉了一半。
结果只要同屏人数超过二十个,帧率就掉到个位数。
超过五十个,直接死机。」
「一百个人同屏?」小周咽了口口水,「除非让玩家用伺服器来打游戏,否则现有的任何手机晶元都扛不住。」
陈默接过那台还在发烫的手机,翻过来看了看背面。
「你们的渲染管线是怎么搭的?」
小周愣了一下:「標准流程啊。地图全局载入,所有模型实时渲染,物理碰撞全开。」
「全局载入?」
陈默把手机放在桌上,看了小周一眼。
那个眼神让小周后背一凉。
「谁让你把视野外的草丛也载入出来了?」
小周没反应过来:「啊?」
陈默站起来,走到技术白板前面。
他拿起笔,画了一个人形小图標,然后在它的前方画了一个扇形区域。
「这是玩家,这是他的视野范围。
在第一人称视角下,一个玩家能看到的区域大概只有正前方一百二十度、纵深不超过三百米。」
然后他在扇形区域外面画了一个巨大的X。
「这个扇形之外的所有东西,玩家看不见。
既然看不见,为什么要渲染它?」
小周的眼睛慢慢睁大了。
陈默继续说:「我要你做一套『动態LOD剔除演算法』。
规则很简单,玩家视线一百米以内的物体,用高精度模型渲染。
一百米到三百米之间,用中精度贴图替代。
三百米以外的所有东西,全部用最低精度的色块糊弄。」
「而且,只要一个物体离开了玩家的屏幕视野,哪怕只是转了一下头,这个物体立刻从内存里『物理刪除』。
等玩家转回来的时候再重新载入。」
小周张了张嘴:「可是这样的话……玩家背后的整座山不就凭空消失了?」
「消失了又怎样?他又看不见。」
陈默的笑道:「在手机端,我们没有资格去追求所谓的完美物理世界。
我们要做的是一个『你看不见的东西就不存在』的世界。
这不是偷懒,这是在硬体的极限里找到活路的唯一方法。」
小周愣了大约五秒钟。
然后他猛地一拍桌子:「我懂了!这就是薛定諤的渲染!只有被观测到的物体才存在!」
8ΝovEl.CΟm
陈默没搭理他的中二发言,继续往下说:「还有一个更狠的点子。