前两天稍微研究了一下套皮直播,简单记录一下。

关于模型

目前套皮直播主流方案还是live2d,门槛低,真·纸片人。除了live2d之外,还可以直接使用3D模型。
live2d动画比较生硬,因为是真·纸片人,可视角度有所限制,无法真正的把动作映射到模型上。优点是约稿价格便宜,相关软件不吃资源。
有能力的情况下可以自己造皮,live2d就是画图,绑骨骼。3D皮除了传统建模软件外也可以选择使用vroid来实现。

关于动捕

皮套直播对于表情动作映射主要分两类。一类是面部捕捉,一类是动作捕捉。

面部捕捉

live2d方案一般就只使用面部捕捉,能将真实的表情映射到皮套上。类似于苹果的拟我表情,把你的表情映射到居居头上。
也有方案能使用一般摄像头来做面捕,但是效果较好的还是使用带Face ID功能的iPhone。

动作捕捉

动作捕捉则是把全身动作都映射到皮套上。因为live2d就是纸片,全身动捕不现实,所以动作捕捉用在3D皮套上。参考asoul、星瞳。 几种动捕方案。

  1. 动捕房、动捕服。精度高,大场景下用。原本用于动画、游戏的制作,成本巨高,个人无法实现。
  2. vr设备。带有简单的动作捕捉效果,采样点少,精度较差。
  3. kinect。成本稍高,没有好好开发的idea的话只能单纯拿来皮套直播。按照之前玩kinect的体验,相关应用开发还是很方便的。全身动捕,还能带深度信息,效果还行。
  4. leap motion。手部捕捉,对于手部精度高,但是也局限于手部动作的捕捉。和kinect一样成本较高,不做二开的话用途单一。
  5. 软件实现。有些vtuber软件已经实现了,半身动捕有小kRiBLA Broadcast等。Webcam Motion Capture本身也算vtuber软件,不过功能简单,但是动捕效果不错。通常和其他软件配合使用。 全身动捕有ThreeDPoseTracker,效果不太行,性能也不够好。如果自己要做开发的话也可以用openpose之类的方案自己实现。

廉价方案

目标是选择效果好,成本又低的高性价比方案。那么选型就是 3D模型+软件动捕+淘汰手机
软件方面选择Webcam Motion Capture作为动捕方案,VSeeFace作为vtuber软件,旧手机当摄像头,为了面捕效果好还可以搭配vtube studio
Webcam Motion Capture一直是首选,效果非常不错,缺点是需要实时联网,订阅制度。当然,有能力的话是能白嫖的。
VSeeFace界面简单,但是该有的功能都有。支持VMC协议,可以接收动捕结果,并且支持iFacialMocap等第三方面捕。软件本身不开源,但是核心库是开源了 https://github.com/emilianavt/OpenSeeFace/
vtube studio的手机版是个很好的面捕补充app。主流的iFacialMocap本身是收费的,看评论最近的版本稳定性也不太行。而vtube studio虽然很多功能是收费的,但是和VSeeFace面捕联动却是免费的。 使用VSeeFace方案可以同时应用动捕+面捕,效果要比其他单一vtube软件好些。 效果大概像这样 可爱捏

Webcam Motion Capture

常规模式下可以试用,但是调节参数少,效果不怎么样。VMC协议联动其他软件则需要订阅,没有试用机会。
没有机会就自己创造机会,简单分析一下。软件是unity3d做的,核心算法是python实现。通信协议是https,绑定了证书,伪造服务端比较麻烦。
服务端是php写的,项目结构比较简单,猜测不会有什么混淆加密插暗桩。直接拆dll看源码。
登录
首先。判断是否登录成功这里直接返回true,绕过验证。当然,整个检查有效性函数一开始就执行功能开启操作也行,这样连联网都不做了。
验证
其次,30秒会联网验证一次,这里把验证部分直接去掉即可。重新编译dll替换回去,登录界面随便输就能开启VMC功能了。

性能

用软件来实现半身动捕方案性能消耗较大。两个软件占用都比游戏还高了,实际游戏过程中会明显感觉到卡顿掉帧。 性能
单机直播情况下只能妥协一下只开面捕。而有条件也能试试双机推流。双机推流可以将套皮软件开销和游戏机分离,避免游戏性能被影响。

双机推流

双机推流有两种主流方案,一种是采集卡方案,一种是obs+ndi插件

采集卡方案

采集卡方案的优点是,对于游戏机没有额外开销,除了pc外还能直播switch等游戏主机。 缺点是,只能捕捉整个屏幕。需要额外花钱购买采集卡,并且采集卡质量有好有坏需要仔细挑选。

NDI插件

obs+ndi插件,配置稍微麻烦一些。 https://github.com/Palakis/obs-ndi 还是个跨平台的方案,相当不错了。