BVH格式运动数据转换为MikuMikuDance VMD格式的工具
下载B-MoMi
链接:https://pan.baidu.com/s/16TqCd3sZBN_Gwy1vPh7lFQ
提取码:dqi6
如何使用B-MoMi
-用于MikuMikuDance的BVH运动转换器
这是
这是用于将广泛用于运动捕获数据的BVH格式运动数据转换为MikuMikuDance VMD格式的支持工具。
必要的事情
Java 1.5或更高版本
在命令提示符下键入java -version,如果1.5或更高版本,则单击OK。动态捕捉数据(BVH文件)由于
动态捕捉数据也受版权保护,因此使用网络上发布的数据时请小心。那些可以自己抓捕的人。
安装
解压缩ZIP文件。
如何使用
打开命令提示符,然后输入命令,如下所示。
> b-momi.bat -bvh BVH文件-map骨骼地图文件
(例)
> b-momi.bat -bvh Tennis.bvh -map boneMap_mocapdata_1.txt
如果成功,将生成Tennis.vmd。使用MMD读取时,请关闭Miku的IK并读取动作。
骨图文件
BVH具有称为MMD骨骼的称为骨骼的层次结构。当您用记事本打开BVH文件时,会有以HIERARCHY开头的数据,其中显示了框架。骨骼中有一个称为JOINT的关节定义,骨骼图文件描述了JOINT和MMD骨骼之间的对应关系。
在骨骼图文件中,以MMD骨骼= BVH关节的形式描述。
例如,如果与中心骨骼相对应的JOINT为“臀部”,
中心=臀部
写像。
有关如何写入文件的信息,请参考“ Bone Map Sample”文件夹中的示例。
骨图创建支持
B-MoMi具有支持创建骨骼图的功能,并且可以在一定程度上从BVH文件生成骨骼图。指定-makeMap选项以生成骨骼图。
> b-momi.bat -bvh Tennis.bvh -map boneMap_newMap.txt -makeMap
Tennis.bvh的骨骼图是在boneMap_newMap.txt中生成的。
在某些情况下,生成的骨骼图文件可能不够。例如,如果未知与JOINT“ LeftWrist”相对应的骨骼,则以“#”开头的行如下插入。(开头的#表示注释行)
#=左腕
如果LeftWrist是对应于左手的JOINT,请进行如下修改。
左手=左腕
另外,如果有多个对应于骨骼的JOINT候选者,则同一骨骼(此处为中心)可能有多行,如下所示。在这种情况下,请保留所需的那个。
中心=臀部
中心=臀部
调整初始姿势
在MMD中,Miku的初始姿势是使他的手倾斜斜放,但在运动捕捉数据的情况下,通常两只手都水平打开。
因此,为了校正初始姿势,可以按X轴,Y轴,Z轴的顺序写入每个骨骼后面的角度。
例如,在Z轴上进行-60度校正的情况下,描述如下。
左臂=左肩,0,0,-60
放大和缩小运动
B-MoMi会根据模型的高度自动调整中心骨骼的移动量。执行命令时,自动调整的信息显示如下。
BVH模型高度= 23.428449999999998
Miku高度= 15.5686
@ scale = 0.6645168587764022
BVH模型的高度表示从脚踝到BVH骨骼的头部的Y轴坐标,而Miku高度表示从脚踝到Miku的头部的Y轴坐标。(Miku的高度是固定的)@scale是BVH坐标的放大比例,这意味着在VMD文件中BVH中的移动距离1设置为0.6645168587764022。可以更改放大倍率,如果您按照以下方式在骨骼图文件中对其进行描述,则放大倍率将为0.1倍。
@ scale = 0.1
使用技巧
仅转换一些骨骼运动
不必在骨骼图中描述所有对应关系,而仅可以编写要转换的骨骼和骨骼之间的对应关系。
例如,如果不需要移动,请注释掉中心线,它将停止移动(尽管中心不会旋转)。这使您可以移动它并稍后手动对其进行修复。
非人体模型运动转换
如果在骨骼贴图文件中设置骨骼和骨骼之间的对应关系,则还可以转换人形以外的模型的运动。在这种情况下,高度计算不正确,因此请使用@scale参数缩放运动。
时间轴
目前,尚无时间轴转换。使用MMD侧的放大/缩小功能调整运动的时间轴。
减少不必要的关键帧
当前,它不能自动完成。请手动将其删除或将其以CSV格式输出以将其缩小。
参考
命令行参数
参数
内容
-bvh文件名
指定bvh文件
-map文件名
指定骨骼图文件
输出文件名
指定输出文件名。如果未指定,则输入文件的扩展名将为vmd或csv。
-makeMap
根据指定的BVH文件的信息生成骨骼映射文件。BVH不转换。
格式的vmd或csv
指定vmd以生成vmd格式(默认)。如果指定csv,它将生成可由VMDConverter读取的csv格式。