fifa怎么采集球员的脸?
这个问题我两年前就注意到了,但一直不知道该怎么回答。现在终于有机会了! 首先,我们要明确一个事实:游戏里的“脸”其实是用人体模型(Meshing)来展示的。而所谓的“捕捉真人”实际上只是捕捉人体的动作(Animated)。然后通过动作来驱动人体模型进行展示。 所以所谓的“捕捉真人”实际上一开始就是伪命题——我们根本不关心“真人不真人”的问题,因为从一开始这个功能的设计就是基于“用动作来控制人体模型”这一设想而来。 所以如果要从技术上讨论如何采集人脸,那答案其实就是:无法获取。 因为在FIFA的游戏数据里,本来就没有定义好“人脸”的数据结构。换言之,开发者根本没有想过要让你的数据捕捉到真实的面容。所以不论你是用摄像头还是用屏幕截图的方式,最终得到的只不过是一些毫无意义的数据而已。当然这些数据也可以由程序处理之后得到一帧动画,但是这一帧动画里的人脸绝对是假的。至于为什么开发者没有把“让游戏人物拥有真实面容”这一点加到游戏的Data Request列表中,我想大概是因为他们觉得这不值得花资源去实现吧(注1)。
也许你会问:既然开发者没有想让你捕捉到“真实面容”,那么我把脸遮起来是不是可以呢?答案是,不行。因为游戏内的操控是通过键鼠或者手柄的各种按键、按钮来实现的。而这些操作必然会产生相应的动作,而动作就会触发“脸部显示”的函数。也就是说无论你点击“设置”——“界面”——“头发/面部阴影”将值设得有多大,只要你的游戏里有任何操作产生过一定时长且能够驱动人脸的动作,那么人脸就一定会出现,而且一定是会动的。
以上都是基于PC端进行的描述。如果是手游的话因为一般都没有设置界面,所以只要你不点击屏幕(即不发生任何操作),理论上来讲过一段时间人脸就会自动消失。但是,如果你用手掌或其他物体遮挡住了手机上的镜头,那么即便你什么都不做,人脸也不会自动消失了,这点与PC端一致。(注2) 另外,有些朋友可能想知道如何用屏幕录像的方式提取出人物的脸。我认为这是不可能的,因为视频本身只是一个序列的图片。而不像PC端那样有相应的函数可以直接驱动模型展示。所以无论如何你只能得到一堆无序的图片,而没法获得有序的视频流。