VtuberStudio配置选择和模型调参
好久没用Vtuber Studio了,最近闲下来了,想掏出来玩点游戏,想起之前用USB摄像头模型效果一直不太好,比较僵硬,还经常丢追,于是去b站搜一下调优方法,看了一晚上,头昏脑胀ing
这一两年没碰,新技术还挺多的,姑且记录一下调试的过程吧
1. OBS输入源选择
参考:vts官方wiki
https://github.com/Mouwoo/VTubeStudio/wiki/Recording-Streaming-with-OBS
对于win平台,Vtuber Studio(VTS)有几种常用的输出可选
- obs游戏采集vts进程
- obs采集vts虚拟摄像头
- spout2插件输出
- NDI网络接口推流(没用过)
前面俩比较常用,都是老方法了
第一种最简单方便,问题在于vts的UI也会被采集到obs,在直播的时候如果要调vts软件设置就不太方便。
虚拟摄像头需要装个驱动,用起来也比较方便,不会采集到vts UI,据说画质没有第一种好(存疑)
用法参考wiki,b站也介绍很多
说下spout2,这个应该是新加的,也没看到啥视频介绍,但是在wiki上官方最推荐这个方法
看起来很棒
不过需要手动给obs装一个插件
关掉obs
一路next结束
在vts里打开spout2输出(和其他方法一样,背景还是依然用纯色+允许透明)
在obs里加一个spout2输入,如图配置一下,ok
2. 小技巧
给vts设置为管理员启动(对steam打开也生效)
wiki说可以增加进程优先级,降低延迟和卡顿(谁知道呢)
3.追踪方式
常用的面捕方法有这么几种
- VTS内置追踪直接调用电脑usb摄像头(最简单,效果差)
- 电脑usb摄像头输入,VTS调用NVDIA面捕或者Google的面捕(比上面好,但是依然受摄像头限制)
- VTS ios端调用苹果iPhone面捕api,局域网推流面捕数据给电脑本地VTS调用(精度高,效果好)
- VTS ios端面捕,推流给电脑上的VBridger,VB推流给电脑端VTS调用(使用复杂,效果最好,可以实现额外的动作效果)
其实还有几种其他的搭配,比如电脑摄像头配VB,感觉意义不大就不多提
这里苹果的面捕api比起电脑摄像头有绝对的优势,这个是硬件差距,包括苹果的面捕摄像头硬件和ios的api生态。实测来看,不管是vts的面捕还是n卡面捕啥的,在我这种双屏常转头+摄像头比较远+摄像头在底侧向上拍的情况下,都无法避免丢追。但是ios的面捕工作稳定。
所以一般来说都会建议有条件的情况下使用苹果面捕(我这里是淘汰下来的老iPhone13正好再利用了,用了个手机支架横着放在电脑屏幕下面)
然后是vb,vb是一个面捕软件,通过接收苹果api的面捕数据,二次计算得到更复杂精细的面部建模和追踪,用来驱动vts。
关于用不用vb,当然vb可以实现很多高级的复杂表情识别,但是这个是依赖你的模型建模的,如果你的模型没有做这些高级的输入绑定,那其实vb也无法帮你实现更高级的效果(我的模型就是普通的)
如果你的模型是适配vb的,那当然肯定要用vb
但是即使模型是普通的,也还是可以用的,vb是支持兼容普通模型的模式的,只不过就实现不了高级的表情,还占用电脑资源,增加复杂度
然而我试过之后还是用了手机vts+VB+电脑vts的方案,原因是是啥呢
首先吧
你用vb是可以不用买手机版vts的,手机vts要150,vb只要30多
众所周知如果你直接用手机vts推流电脑vts,如果不买手机端vts,5分钟就会自动断连
但是如果你用vb,vb是使用第三方客户端连接接口,不通过推流接口,所以并不会受这个影响,是可以正常使用的,也就是其实只用买个vb就好了(这里不涉及破解啥的,完全是正常的功能使用)
但是其实这是小事,vb还有个好用的地方…他可以调输出曲线!
这个等会说
先说下配置
工作流配置
首先保证iPhone和电脑在一个路由器局域网下面
然后装ios的vts,不用装模型,直接开设置,拉到最下面第三方客户端,打开它(不用开pc推流)
再点下显示ip,记下iPhone的局域网ip备用
然后打开vb,载入
如果你是vb模型可以用前面那些高级的,我是普通模型就用了最后那个兼容配置
把刚才的ip写在这里,连接上iPhone
这时候vb里的模型应该已经可以动了
然后打开电脑版vts
在设置里给这个打开
去vb下面选vts,点右边的连接
然后去vts里点同意
这里插件应该连上了,你的模型也会动了
搞定~
剩下的就和正常的vts配置一样了,b站教程很多
注意这么做的情况下,电脑端vts的所有面捕参数都不生效,比如灵敏度啥的
这些都不生效,由手机端控制
同样的,手机端所有模型配置都不生效
包括这些模型参数,表情啥的
可以理解为现在被拆成了两部分,手机只负责面捕,电脑只负责渲染模型
关于vb和曲线
这里就说到为什么要用vb了
众所周知vts的参数输入映射是一个一次函数
也就是[x,y]到[i,j]的一个线性映射(前面是你的面捕参数,后面是给模型的驱动参数)
这里怎么调都是线性的,在大部分情况下,通过调这四个值的范围来控制表情的动作幅度,常态表情是什么都是可以实现的
但是有些时候就会有问题
比如我这里的睁眼参数
在我对着主屏幕看的时候,这个参数大概是0.7左右,正常来说我要把这个常态调整到输出给模型的1.0(也就是正常睁眼)
大概是上面这个映射值
但是当我稍微转头,看左边的屏幕,就出问题了
这时候面捕识别到的睁眼参数会下降到0.4~0.5左右,实际上我还是睁眼,但是就会变成这样
输出只有0.7了,变成了半闭眼,就很诡异
只有我的输入参数到了0.2,0.3,也就是接近闭眼或者眨眼的情况,我才希望模型闭眼,不然就维持在睁眼的状态(比如转头看侧屏的时候应该是睁眼)
通过这个简单的输入映射,就没法解决这个问题
一个办法是改模型的控制参数里的变形器绑定,相当于直接修改模型动作,但是很明显模型不好改,一般来说都不会有源文件
那么用vb的曲线就可以解决这个问题
首先我们常态的输入是0.7,这时候眼睛的驱动参数是1左右,是正常的
然后我转头,最差的情况输入下降到了0.4
我希望在0.4~0.7的输入情况下模型的眼睛都不会明显闭眼,也就是把0.4~0.7的输入都映射到0.7左右的输出
那么我们改曲线
手动加两个控制点
总之修成大概0.4到0.7的区间输出都是0.65左右就好了
这样也不影响前后段的眼睛动作(比如闭眼,眨眼和睁大眼)
ok~
这玩意用法应该还有挺多的,就看怎么开发了
结