香蕉魔男

假设你站在某个位置,以每秒0.5弧度的速度水平向右旋转镜头,持续5秒钟。如果要将这一过程完整录制下来,按照最基本的24帧每秒的帧率、1600×900的分辨率来计算,总共需要处理1600×900×24×5个像素信息。然而,游戏中许多内容在不同时间点是基本不变的,比如场景中的建筑结构、武器模型等。即使发生一些细微变化,比如墙上留下弹痕,也只是贴图层面的改动,并不会真正破坏整个模型。同样,枪械的射击效果也不会发生根本性的变化。因此,我们并不需要逐帧记录画面像素,而是可以采用记录关键数据的方式来还原整个过程。以同样的旋转镜头为例,在三维空间中,一个角色的位置可以用三个坐标值X、Y、Z来唯一确定。每一帧中,玩家都对应一组坐标数据。在24帧每秒的条件下,5秒内的玩家位置只需要记录3×24×5个数值即可。同时,玩家的视角变化是由鼠标输入转换为三维空间中的方向参数,因此5秒内视角的变化也只需同样数量的数据即可完整表达。比较两种方式,用数据记录的方式所占用的存储空间远远小于逐帧记录像素的方式,效率也更高。虽然这些数据本身无法直接被人理解,但可以交由游戏引擎来处理渲染。无论是实时运行还是回放记录,游戏引擎所接收的数据形式是一致的,都会实时进行画面演算,因此在体验上也不会有任何区别。

评论

取消

评论