为什么游戏画面接近现实拍摄却没有3D动画?
以下是个人回答:
用3D实时微积分显示游戏画面很麻烦。
在3D世界中用来表示物体(包括角色)的是由几个多边形组成的模型。要将这些对象渲染成图像,首先必须找到每个顶点的绝对坐标。光有顶点是不够的,还要在模型上放一张纹理贴图,这需要一套坐标变换。那么相机的位置和方向也会发生变化,所以你要再做一套坐标变换,从你的镜头位置算出这些东西是什么样子,上下在哪里,左右在哪里,怎么关联,谁挡住谁,决定屏幕上每个像素应该画什么颜色。这只是一张极简的图,更不用说光源/阴影的计算了。总之,处理3D图像所需的计算量相当大。
实时演算相当于以平滑的速度(每秒几十帧)反复做上述事情。图片能显示多详细取决于你有多少计算资源。以充斥着“预渲染CG”游戏的PS为例。据说专门用于矢量计算的协处理器每秒可以处理6600万条指令,相当于每秒渲染几十万个多边形。如果达到每秒30帧,平均每帧只能用三四千个多边形。所以PS一代画面较好的游戏,主角模型往往只有300~600个多边形,同屏一般只有三四个敌人。为了增加数量,你必须牺牲质量。
前期渲染CG动画只是视频解码播放,和3D操作完全不同。以PS为例。CPU内置专用解码器,可播放320×240@30fps MJPEG动画。至于你的动画每一帧有多复杂,对于播出来说基本都一样。当你不需要把计算时间限制在十分之几秒,不需要把资源限制在单个游戏机上的时候,你可以使用非常精细的模型,加入各种特效。无论计算量有多大,都可以用更高性能的工作站来计算,一帧算几个小时...最后,如果你能做个视频,你就赢了。以上纯属个人观点!