如有更新见原文:https://blog.iyatt.com/?p=13283
如果在网上看到有些视频名字带有 VAM 的,可能就是玩这个游戏录屏的。这个游戏可以建模、操作模型动作、构建场景等等。之前大致知道有这么个东西,只是电脑配置太差了,新换的电脑正好可以上手自己摸索了。
这个折腾起来比前面搞 Stable Diffusion 明显的更多困难,首先本身操作复杂,而且有效的第三方中文资料少。网上是有不少关于 VAM 的“教程”,但都是给你一个整合包,直接就开始演示怎么用,给人的感觉挺懵逼的。我是从官方下载的原版,然后又找汉化包,搞定汉化,然后下载一些整合包,用里面的模型、插件等等(有些模型插件是付费的,整合包里有别人买的或者说盗版吧)。我是抽空余时间搞了一下,已经第三天(2024.1.31),我都很懵逼,这些插件什么的到底该放哪儿,完全照搬整合包的目录结构,然后运行 VAM 有些插件又不能用,还有报错什么的,到底该怎么添加插件,怎么启用,这些我没找到有效的第三方讲解。
所以还是打算回归官方的英文文档,慢慢研究吧。
RAM:32G
CPU:i7-12700H
GPU:NVIDIA RTX4060 Laptop GPU
VRAM:8G
Windows 11 23H2
安装器下载地址:https://cdn.virtamate.com/Release/VaM_Updater.zip
下载后解压,可以看到有个 VaM_Updater.exe,直接运行
可以看到版本发布日志,最近一次更新已经很久了,好像是 1.x 系列的版本不更新了,后面开始 2.x 版本
点开 Options 可以选择版本,默认就是最新版,然后点 Install 开始下载
直接下载速度比较慢,可以开系统代理
百度网盘:链接见原文
这里提供的 VaM 1.22.0.3.zip 为官方的更新工具下载的原版
将我网盘里提供的汉化包解压后,里面的文件全选粘粘到 VaM 的根目录,这个汉化补丁附带着一个 VAM 扩展框架 BepInEx ,后期玩的很多插件都依赖它,也就不再提,默认已经有了。如果不需要汉化就把 BepInEx 目录下的 Translation 目录删掉就行。
配置界面:VaM (Config).bat
可以设置屏幕大小,默认是屏幕分辨率大小,勾选 Windowed 则会以窗口的方式运行
VR 模式(需要 VR 设备):VaM (OpenVR).bat
从官方渠道直接下载的文件最开始就只有 VaM_Updater.exe,目录下的其它所有游戏文件都是运行它下载来的,既可以当做安装器(如果文件损坏删除了,也可以运行它修复),也可以当做更新器。
首次运行会有初始配置:
阅读用户协议
同意用户协议
确认上述设置
然后在下面可以看到一把钥匙,初始是 Free 版的,订阅有好几种,功能最多是 Creator。点开钥匙输入 C91927 (订阅码是在网上搜的)。没有订阅就只有中间那个可以使用,而且功能还受限。
最左边的 Vam Hub 是官方的资源下载平台,类似手机应用商店的东西,可以下载插件、模型等等,如果无法访问就开代理。中间的 Sceme Browser 是用来浏览(玩)模型的。右边的 Create 是用来建模的。
注:
①上面主页看到的图其实来源于汉化补丁,要修改的话,前往这个路径就行,参考图片尺寸 512x1024,图片文件名要一样,是通过名字区别左中右三张图的
②缓存:.var 资源是压缩包,开启缓存就会在硬盘储存解压的文件,下次使用就直接读取而不是现场解压。勾选了,如果再把所有资源都使用一遍,这个缓存占用的大小至少等同于现有资源包的总大小。对于较大资源包,加载速度有明显提升,直接读取(固态硬盘)通常会比现场解压的速度快不少。
官方:https://hub.virtamate.com/resources/categories/free.4/
官方社区有完整的教程,可以提供资源下载(Hub 默认下载源),有论坛,是一个非常适合学习的地方,只是语言是英文的,英文不好的话可以使用浏览器翻译插件。
资源站:
https://www.patreon.com/
https://afdian.net/
https://www.uu-gg.one/
可以签到获取这个论坛的“交易币”,并用于购买他人分享的“付费”资源
kemono.su
一些付费资源可以在这里白嫖,建议使用谷歌搜索,并按照下面格式
搜索内容 site:kemono.su
就是人物的模型,文件后缀为 .var,文件放到 AddonPackages 下,路径比较自由,可以直接丢里面,也可以在这个目录下自己创建一定的目录结构分类放置。
人物卡基本上都是要付费获取的(定制或者整合打包的),我是发扬白嫖精神,到处去收集零散分享的、整合包里的,目前就才这点(2024.2.2)。
2024.2.3
发现小黄鱼上有人在卖人物卡,2TB 资源包(人物,服装,场景…)只要 10 块钱就能搞定,这都不用我去收集了。顺便说一句,玩这个 VAM 真的挺需要大容量硬盘的,我玩了几天,从最开始的 18G 游戏本体,已经搞到 78G 了。要想好玩,就得资源文件多。
不过暂时不打算买,目前本地没有那么大的硬盘存,现在我 VAM 都是专门拿一个移动硬盘(机械)存的,固定位置不动的情况下(不摔),数据安全性还是比固态硬盘高不少,就是加载的时候慢一点,等数据加载到内存和显存中之后,其实玩起来没啥区别。百度网盘有足够的空间存,就是这类东西容易河蟹,暂时还是算了,等把 VAM 搞通透了再多搞些模型。
2024.2.5
小黄鱼上找到一家,卖 2.18¥,包含 1800GB 的资源文件,含有人物资源 500+GB
资源包里其实有不少重复的文件,内部整理好的资源按人物场景和对应依赖归档在一起的,有些人物场景有相同的依赖,但是各自归档了一份。在 VAM 中可以像我这样分类,把人物放一起,所有依赖放在一起,这样就不会存重复的依赖,复制移动的时候遇到相同文件名的直接跳过就行。
2024.2.8
新买的 1TB 硬盘加上了,专门拿来存 VAM 游戏,把前面买的资源整理进去。
2024.2.10
人物卡整理出来了,除去一些不喜欢的,搞出来 1200+ 张,共 198G,依赖文件接近 3000 个,占用 150G。
插件文件为 .var,同样放到 AddonPackages 目录下,
VAM 中自带有个 Hub,很多插件可以直接在里面安装(移动宽带可能没法用,其它宽带速度估计也不高,最好还是得上魔法),至少免费的直接下载没问题,付费插件不想花钱就去找别人分享的再手动添加,有时候自己添加的插件、模型之类的可能还有依赖,在加载的时候会看到报错,可以直接打开 Hub 将缺少的依赖一次性搜索出来,
在打开的场景中可以点下面图标打开 Hub
在主页也能直接进去
打开一个场景后,展开 UI
打开主菜单(三杠图标)
切换到编辑模式
左侧点开会话插件,然后点添加插件,在添加的选项中去点选择文件
左侧可以看到放置的 var 文件对应的插件,点一下插件展开,右侧点击它的 clslist 文件就会加载
自动加载会话插件
先把要自动加载的会话插件按照上面的方法加载好,然后点开会话插件下方的会话插件预设,更改用户默认,将当前设置为默认用户,这样插件就能自动加载了。
Atom 直译就是原子,人物、物体都是原子,即一种组成元素。
在编辑模式下,点开循环选择人物原子
如果要为物体原子添加插件就用选择
这样在原子上会显示图标,可以选中原子,如果是人物,则会显示一个小人图标,这个图标是人物的 root(根),通过它可以移动人物,点击它就是选中整个人物。然后可以为选中的原子添加插件。
至于其它类型的插件加载方法就不说了,操作都类似,到对应位置去添加文件就行。下面有个 Browser Assist 插件,添加以后可以直接在里面浏览 var 文件,加载场景或插件都可以在里面操作,要加载什么文件,为哪个原子加载都是可以选的,把分散在各处的操作全部集中到一个界面上。
列出的付费版都放在百度网盘里了,其它的都是可以 Hub 直接下载的。
手动添加的插件可能还有依赖包,可以打开 Hub 一键搜索安装
这个插件可以作为 VAM 内置场景浏览器的替代,功能更丰富。
这个付费版我是从别的整合包里提取出来的,免费版最新的可以在 Hub 中下载。
加载后可以看到图标
然后还需要做一步,不然 BA 插件内部没有删除功能。
进入 VAM 下目录 \Saves\PluginData\JayJayWon\BrowserAssist,双击运行批处理文件 CreateBASymLinks.bat
输入 Y 确认
可以只用下载第一个,第二个是提供的演示,后面的是演示的依赖项
第一个控制呼吸声,第二个控制呼吸动作(胸部、腹部、嘴巴动作等等),第三个可以控制头部跟随转动,第四个是控制音量和距离感的。
这个插件是用来控制人物视线的,一直不动,或者一直盯着一个目标跟随动都显得奇怪,这个可以控制眼睛随机转动。
图片保存在**\Saves\screenshots**
图片分辨率为 1080P
加载插件中的 SuperShot
VAM 默认的原子控制,可以直接拖动任意方向运动,可以旋转,有时候可能不小心就容易失误操作。
这个插件中的 PowerHandles 模块则是对操作进行限制
启用这个模块后,选中原子也不能移动。按住 {Ctrl}
才能拖动,按住 {Alt}
可以旋转,这两个键各自再同时按住 {Shift}
则坐标系变为 VAM 的三维世界坐标系。默认可以直接点击就拖动的,通过这个插件限制了,首先要选中关节点,还要再按键按住再用鼠标操作。
可以实现吹风的效果,有多个模块,可以作用于人物也可以作用于物体
这个插件包含了 life 的功能,同时还可以模仿动作,时不时的动一下
刚开始我到处找这个插件,后面发现我这里提取的汉化补丁里有,应该是这个整合包的使用者把插件放进汉化补丁的包里了。这个插件和前面的不同,不是 var 包,而是提供的 Windows 动态库文件,但是还需要一个额外的 dll 依赖,不然运行报错。(我拆了两个整合包,含有 MMD 名字的都是 dll 库文件,我还不知道 dll 也可以作为插件,抱着试一试想法,结果一加载就报错,没看报错内容,就默认为 dll 应该不能当插件,后面看到有演示视频确实就是加载的 dll 文件,我再去尝试看了报错内容,原来是因为缺库文件)
差的库文件为 openssl.dll,放在百度网盘了,这个文件下载后要放到 \VaM_Data\Plugins 下
有些舞蹈文件会控制镜头远近,播放完之后还把视野锁着,导致 VAM 自身组件显示比例不正常,按键超出屏幕范围等等问题,点一下插件中的清除文件,就会解除控制
如果人物穿着高跟鞋,可能会像平底鞋那样站着,勾选人物设置,调整 Heels Foot
VAM 有内置的动画
设置一下视频信息
H.264 编码比 H.265 的硬件消耗更低,但是文件体积会更大(我一般是后期再用 FFmpeg 重新编码)。帧率的话,不用太高,电影的帧率一般也才 24。视频播放帧率是固定的,不会像游戏那样实时渲染只要变化就能感觉出来。格式用 jpg 比用 png 硬件消耗低,只是质量差一点,没特别需求体现不出明显区别。
然后开始舞蹈播放,就会自动开始录制
会逐帧渲染(录制的时候看起来卡是正常的),最后编码视频。
导出的视频在 Saves 目录下,有两个,一个录制了音频,一个是没有音频
上面是录制的窗口,有些舞蹈包里面有相机视角文件。如果启用了,窗口就会按照相机视角文件变化。如果选无,则不会控制窗口,可以手动控制窗口视角
可以选中窗口相机,把它绑定到人物的某个部位,这样人物运动的时候相机可以跟随拍摄
播放音频,可以让人物对口型。
把音频文件放到 \Custom\Assets\Audio\RT_Lipsync 下
加载插件后可以看到两个菜单项
可以在场景内播放外部视频文件,测试了下,目前还不支持 H.265 编码的视频(我本地储存都是重新编码为 H.265 的),翻找到一个还没重新编码的 H.264 文件试一下没问题。
添加了一个电视机,把这个插件加载到电视机上就行,设置视频源
这个插件操作可以作用于服装,拉扯或挤压产生变形效果,只是需要开启服装的物理模拟
每个服装都有一个自定义,点进去切换到物理选项。要勾选模拟,我这里默认是勾选的,也就是可以不用改的,这里有个可滑落,勾选就会出现对应服装滑掉的效果,点重设模拟恢复穿戴
加载插件
可以设置“爪子”大小,这里的“爪子”是一个球体,勾选调试就会显示这个球,默认是拉扯模式,勾选碰撞就是挤压了。
先把鼠标移动到要抓取的位置,按住 Alt 不放,直接移动鼠标就会抓取或者挤压。
抓取口罩
挤压胸部
也可以不用插件,通过添加衣服抓取控制器操作,前提也是要开启物理模拟
先把它移动到要抓取的位置,在图标选中的状态下,切换到控制面板选项,先去掉打开的勾选(释放),再次勾选,就会抓住衣服
加载其中的 ForceEditMode 到会话插件,设置自动加载,就能每次自动切换到编辑模式了
加载下图这个,既可以加载为会话插件也可以加载为原子(人物等)插件,只是加载在原子上,默认选中的控制对象就是所在原子
这个插件的大致逻辑就是添加关键帧,比如 2s 的动画,在 0s 是初始姿势,在 0.5s 我给人物设置一个姿势,在 1s 设置一个姿势,默认状态是循环动画。姿势就是从 0s 加一个过渡动作(可以选过渡动作的特性)变为 0.5s 的姿势,然后又加上一个过渡动作变为 1s 的动作,在之后会添加过渡回到 0s 时的姿势。如果不要姿势还原,就去掉循环勾选,如果一个姿势前面变了以后要保持到结束,就再次把这个姿势添加到结束时间,这样这个姿势就不会还原了。
添加控制目标,选择哪个原子,什么部位(“控制”就是原子整体)
我录制的演示视频:https://www.bilibili.com/video/BV1at421W7VH
配合前面提到的对口型插件,这里演示听到关键词后语音回复,并模拟口型,如果要做其它动作响应,也可以自行探索
设置完,就可以根据关键词响应回应了。根据插件的说明,语音识别是使用的 Windows 和 Unity 特性,而 不是 AI,另外麦克风设备是使用系统默认的,并不是 VR 设备软件设置的(如果使用 VR 的话)。
Hub 上没搜到,别人分享的插件
可以把原子按玩家视角摆放,比如我选好一个角度,通过插件可以把窗口相机摆放到这个位置,比手动调更方便
MMD 舞蹈插件里面带有的录制模块在一些场景动画中无法使用,和 MMDPlayer 配合的时候可以根据舞蹈结束来暂停录制,但是单独手动使用的时候,场景动画不是单程播放动作,无法有效判断结束,总是录一两秒就断了,所以限制了使用范围。
这个插件可以渲染画面,指定秒数以及支持手动终止,但是不会生成视频文件,不过支持游戏内逐帧渲染就不错(外部录制会随着游戏帧率波动,配置低了就是一卡一卡的),只是把渲染的画面图片和音频文件放到指定目录下,可以后期借助 FFmpeg 命令工具或者 Adobe 的 Pr 软件来编码成视频。生成文件保存在 Saves\VR_Renders 下。
这个插件加载到什么原子上,就以什么原子的视角渲染,所以如果要录制人物动作,不要加载到人物身上,否则视角就是人物的根(脚底)。
插件使用说明参考(图片来自于 https://www.kninebox.com/thread-9576-1-1.html )
按{F10}
开始渲染,达到指定时间自动停止,或者按{Esc}
终止。可以把时间设置很长,通过手动终止来控制时长。
不涉及复杂的视频编辑,我一般直接使用 FFmpeg 处理视频,FFmpeg 配置:https://blog.iyatt.com/?p=8613
命令参考格式
ffmpeg -i [文件路径\格式匹配] -i [音频文件路径] -s [分辨率] -r [帧率] -t [视频总时长] -c:v [编码器] [生成视频文件名]
名字前面的部分是时间,只有后面 6 位是整数序号会变,就用 %6d 匹配,采用 NVIDIA 的 H.265 (HEVC)编码器 hevc_nvenc(编码器参考:https://blog.iyatt.com/?p=13203 ),生成视频文件 demo.mp4
ffmpeg.exe -i .\20240204-090336\20240204-090336_%06d.jpg -i .\20240204-090336\20240204-090336_000599.wav -s 1920*1080 -r 30 -t 20 -c:v hevc_nvenc demo.mp4
我录制的视频编码操作:https://www.bilibili.com/video/BV1P642137a3/
提供一些思路:
把这个插件加载到窗口相机(或其它原子)上后,把这个相机选中,在它的控制面板中把它和玩家视角绑定,这样就可以在录制过程中人为控制视角。
或者使用 timeline 为相机添加动画,让相机按照指定的动作运动,可以渲染出一些特殊的画面,比如一远一近反复拉动。
相机、人物、玩家三个角色的动作,分别加载到窗口相机、人物、会话,这里只加载人物
Pre Setting 下面那项是高跟鞋,启用后就不会出现穿高跟鞋但是像平底鞋那样站着,可以调整参数控制
Step1,点击初始化人物姿势
Step2,导入 vmd 文件,下面的 Preview 可以拉动预览动作
Step3,Start Sample 就是开始播放动作,暂停下面的是逐帧动作,点一次加载一帧
Step4,就是导出动画
导出的动画可以在前面提过的 timeline 插件中导入
去选择导出的 json 文件
点 import 导入动作
就可以播放动作了
直接使用 timeline 创建动画非常麻烦,而现在就打通了从视频捕捉动作,再转到 timeline 进行编辑调整动作的路线
这个插件放进 AddonPackages 后,运行 VAM,主页会有入口
可以实现一键部署背景、灯光、姿势、动作、声音等等,Sex 场景快速部署。
加载到人物身上可以实现人物透明效果,已经免费的,可以前往下载:https://www.patreon.com/posts/54808339
Hub 下载插件和首次使用插件的时候都会问你要不要同意,一个一个点就有点麻烦。
把下载的插件包解压后,可以看到两个文件夹,两个一起复制到 VAM 的根目录下,然后加载到会话插件,设置为默认会话插件预设实现自动加载。默认的设置的状态就是自动允许和自动激活。
解压后放到 VAM 根目录,启动 VAM,加载一个场景,选中场景中的一个人物,在控制&物理1中可以看到
支持从别的场景中选择人物加载到当前场景选择的人物上,即实现人物替换,并不需要保存预设再替换。
点进去就能看到已添加的插件的各个版本,删除相同软件包的旧版本,只保留旧版本来节省空间
下载解压后可以看到一个 dll 文件,把它放到 \BepInEx\plugins 目录下,
添加文件,选要导出的场景,要导出人物可以先生成预设,再添加预设文件
导出完成会自导打开导出文件所在路径,我这里导出的人物预设,可以看到有 var 包(人物及依赖)和预设文件
这个插件集合了各种快捷操作,这里提供的插件文件中还含有其它的插件,集成了很多功能(在右下方有个时钟小图标,点击展开),可以编辑修改添加按扭
前面看过一个叫 GiveMeFPS 的插件,是通过调节渲染参数来提升帧率,就是降低“画质”,具体我也没测试。这个不一样,而是对游戏机制进行优化,通过多线程来实现更好地内存访问。
我测试的时候没啥实际效果,运行 CPU benchmark 时 FPS 确实翻倍,但是加载我实际的场景时没区别,而且还把里面的人物全部替换成默认外观预设了。看作者的说明是他是用的 AMD CPU 测试,而我是 Intel CPU,不知道会不会是硬件差异导致的 BUG。
下载地址:https://hub.virtamate.com/resources/cpu-performance-patch-up-to-30-faster-physics-up-to-60-more-fps.43427/
进入 VAM 目录下,找到 \VaM_Data\Managed\Assembly-CSharp.dll 文件,对它备份,后面要替换这个文件,如果出现异常方便随时恢复。
将解压出来的文件中的 VaM_Data 目录粘粘到 VAM 根目录下,进行替换
把另外一个 PerformancePatches 目录也粘粘到 VAM 根目录下
编辑 \PerformancePatches\SkinMeshPartDLL.ini 可以调节参数(参考插件说明页根据 CPU 型号编辑)
下载 ServerManager.zip 文件
解压出来的文件夹放到一个固定的路径,避免不小心删掉了,然后运行服务管理工具
之后即使重启,系统也会自动加载这个 dll 文件。
这个 dll 文件相当于给系统的资源管理器打补丁,让它支持 var 格式的预览
Hello VaM 下载:https://github.com/NaturalWhiteX/hello-vam-releases/releases
提供便捷启动,以及依赖管理等免费功能。
Hub 上免费的场景其实不少,但人物基本都不太好看(和国漫比起来差太远,可能本身审美和国外的也不同吧),那么可以保留动画场景,把人物换一下。有些场景还有剧情动画,挺不错的。
选择前面保存的人物预设就能替换,如果场景中有多个人物,点击循环选择人物图标可以挨个切换
之后就可以快乐地玩耍了
上面的操作需要保存人物预设有一点麻烦,可以用前面提到的插件 LoadLookFromScene,支持直接从其它场景加载人物替换
我录的演示视频:https://www.bilibili.com/video/BV1S6421G74A
VMD 都是越玩越大,有时候玩到后面 VAM 软件所在的盘符都爆满了,但是还想添加资源,那么就可以进行“扩展”。把资源存在别的盘符,但是让 VAM 也能读取到,基本原理就是把其它盘符的资源在 VAM 目录中创建“快捷方式”,当然这种“快捷方式”不是桌面图标那种,而是创建软链接,参考我这篇博文:https://blog.iyatt.com/?p=12695#32_PowerShell
这是我录制的演示视频,可参考:https://www.bilibili.com/video/BV1PC41147MR/