啥是3d?
林立新忽然发现他们仨似乎陷入了一个误区。
不管再怎么3d,哪怕是《极品飞车》和《quake》这种全3d游戏。
理论上来说,它也是‘2d’的。
因为人眼想要摄取画面,靠的是物体反射的光投射在视网膜上的画面。
两只眼睛的画面结合在一起,被大脑处理好深度信息后,便成为了‘3d’的空间。
一个三维世界的生物,没有直接看到真正三维物体的能力。
人类是通过二维来理解三维的。
而这,就是一个至关重要的突破口!
“妈的,谜底就在谜面上!技术进步了思路反而退步了!”
林立新惊呼一声。
绕来绕去,居然是又回到了最初的起点。 想当年卢卡斯影业、斯皮尔伯格以及ganova三方第一次合作的时候,其实用的就是这套技术。
《神庙逃亡》
这款已经上线多年的街机游戏,在当年推出的时候可是根本没有现在这么先进的图形技术的。
但它却实现了近乎真实的无限跑动。
仿佛真的在一个3d的石桥上前进似的。
实现这个效果的,就是视差动画。
人眼看到的画面是二维的。
想要感知到立体信息,靠的其实不是眼睛,而是大脑。
人脑拥有远超这个时代半导体的信息处理能力。
人脑是抽象的、复杂且模糊的。
计算机最擅长的是处理精确精准的内容。
而大脑恰恰相反,高度擅长处理那些并行的、模糊的感知和预测。 一个认知和生理都健康正常的标准型人类,能够在一息之间识别出一只猫猫。
但要是交给计算机,就需要消耗大量的算力和复杂的数据集来拟合。
上百亿个神经元,无时无刻不在进行着模式匹配。
某种意义上来说,人脑就是一坨庞大却高速的if条件句。
搞清楚这一点,这个问题便有了一个非常廉价却极度好用的解决方案。
用视差动画去欺骗眼睛。
简单来说,就是把原本场景中的一些元素,譬如树木、碎石等,拆分成独立的静态图。
在移动的时候,根据透视关系去不断移动和缩放所有的图片。
当一个图片在保持透视关系的同时不断放大。
被大量深度信息洗礼了十几二十年的大脑便会产生严重的过拟合。
它会给玩家传递一个错误的信号。
大脑会告诉他们:这个图片正在朝自己靠近! 而这套技术最大的优势就是节约容量!
不需要任何多馀的图片或是视频资源。
只需要额外保存一组完全文本化的运动信息编码。
就象是《心跳回忆》中控制藤崎诗织的眼珠子那样。
‘砰!’
说干就干,林立新立马飞奔出房车,一把将门甩上,向着建模块跑去。
喧染一个3d空间需要消耗大量的时间计算光照、烘培和纹理。
但是分割一个已经喧染好了的图片,那就是另一个维度的事了。
用英特尔的i486搭配市面上顶级的2d图形加速卡,可以在短短一分钟内解决。
半小时后,林立新带着重新编译完的deo回到房车内。
三人重新围在计算机前。
卢卡斯尝试着将光盘置入,运行程序。 这次的版本只是个可行性验证,仅包含了几个场景。
随着卢卡斯象之前那样点击移动,画面顿时响应。
不再是之前那种直接生硬地切换过去。
道旁的树一边放大着,一边向着屏幕一侧位移过去。
在视觉效果上看起来,就象是树在向自己靠近,然后擦肩而过那样。
就这么简简单单的两个变化。
放大、平移。
便能欺骗过人类这进化了无数年的大脑。
三维生物还是太好骗了。
三人几乎是异口同声地喃喃道。
尽管因为缩放,导致原本就不算特别清楚的贴图的象素感更明显了些。 但在绝对的丝滑面前,这些都是可以接受的代价。
至于想要体验原汁原味《yst》那种静态切换的玩家?
设计一个选项开关让玩家能自由开关不就完了。
这种冗馀设计ganova也是老手了。
已有的功能不想要,可以直接关掉。
但没有的功能想要变出来