268.社长真乃神人也!(1 / 4)

“先别说不可能完成。”

青智源赶紧打住,“赤西桑,你也是程序总监,pokeni的元老,你要是一开始就打退堂鼓的话,以后其他同事们也没法做事情了。”

“好,好的社长。”赤西健苦着个脸回应到。

“我们一个一个问题来解决。”青智源说,“先大地图吧。”

“1000*1000对于程序来说,可能确实是有点大,加载效率慢可以理解,但是我们可以先做分块加载嘛。”

“你先切割成4块,实在不行就切割成16块,25块,都可以。只要能满足流畅加载的需求就行。”

“中间过渡的时候有卡顿什么的,都是很正常的。”

青智源说。

“但是,看起来过渡的时候会很别扭呢。”赤西健说,“可能我在这个小块儿上面看的所有东西都是清晰的,但是就隔了一米远,结果前面这个地图块儿没被加载出来,就全是空。”

“预加载。”青智源说着站了起来,在白板上面画了一个图示:

先画了一个方块,然后在方块的四条边上面又各自画了一个方块。

“伱看,”青智源指着中心的方块说,“我从这个区域跑到这个东边的区域,这个时候你别等我走到了你再把右边的方块给加载出来,而是我在走的过程当中,你就应该要加载右边的这个方块了。”

“然后呢,当我走到最右边的这个方块的时候,最左边那个不是已经超出我的视野范围了吗?这个时候你就把它给删掉就行了。

相当于我们同一时间只加载了2到3个块儿,在程序开销上面就可以得到最大程度的节约。”

而且,为了满足这一点青智源决定在第一代《怪物猎人》当中,不投放坐骑系统。

玩家们的跑步速度也要做个上限限制才行。

“但是,哪怕是这样,可能在怪物模型面数上面还是有困难。”赤西健继续看着文档说,“草食龙,一种群居类怪物,经常会成群结队出现,大概在4到6只左右。

我们现在对模型面数的支持,就没有那么多。”

“而且一个大场景当中,可不是只有一种怪物会出现,会同时加载好多不同的怪物进来,也就是说,有可能在视野当中,会同时出现10多只怪物,一旦发生这种情况,就会卡顿,甚至会导致系统崩溃。”

emmmm……

青智源托着下巴思考着。

赤西健说的问题是客观存在的,毕竟现在的硬件水平就放在这里,还没有到达前世随便挥霍的程度。

在2023年的时候,大概只有在手机上面才要节约资源,节约内存,在端游上面几乎不存在这个问题。

你想想看,一个游戏可以做到几百G的大小,谁会在意这么一点点的开销?

手机是内存受限没有办法。

也就是说,现在的游戏得按照手游的开发标准来制定才行,能压缩的尽量压缩,能节省的尽量节省。

啊~

青智源不由得感叹,还是太慢了,时代还是太慢了再发展迅速一些就好了。

“这个问题其实也好解决。”青智源拿起记号笔在白板上面写了三个大字——

“LOD。”

“LOD?”

赤西健和小池一脸懵逼。

“分层显示技术。”青智源用人话再说了一遍。

“什么意思呢?”

“你看哈,”

青智源先在白板上面画了一匹特别写实的马,然后再在旁边画了一匹马赛克马,再后面是一个不知道是什么鬼的特别抽象的马,大概也就只有几根线条而已。

“我们制作不同的精度的模型。”

“近距离范围内,按照优先级最高,加载实际面数多的这个模型出来。”

“如果离得远,没有战斗需求和交互需求,但是又在可见范围内的话,就可以使用粗糙一点的,面数少的这个。”

“再远一点,勉强可见的话,可以只加载这个特别特别粗糙的模型,甚至不加载都行,只加载地形就行了。”

“除此之外,给地形、材质、不同的物体模型上打一个优先级的标签,这样方便程序来进行判断。”

“比如地形是最重要的,那么在预加载的过程当中,就会先把地给加载进来,之后再是一些环境当中的重要元素,什么大石头啊,悬崖,河流……

就按照这个模式去做就行了。”

“哦哦,懂了懂了。”赤西健和小池点头如捣蒜。

社长真是太可怕了。

居然能想到这种方式。

按照赤西健原来的设想,一个场景当中加载那么多的东西进来,起码得有几万面了,这程序消耗怎么可能吃得消。

但是青智源一说分层级加载,预加载,突然一下子就把几万面给干到了只有几百面了,简直可怕。

这其实还有一个好处,就是可以模拟真实的人眼。

人看东西,也是近处的圆形范围内,越靠近焦点的越清楚,越远离的就越模糊。

举报本章错误( 无需登录 )