# VMDReversed **Repository Path**: sun-programing/vmdreversed ## Basic Information - **Project Name**: VMDReversed - **Description**: 用于镜像MikuMikuDance中的动作,实现让一些小动作能够无缝自循环 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-13 - **Last Updated**: 2026-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VMDReversed 该项目用于将VMD文件中的动作文件进行反转,即将动作文件中的关键帧按照时间轴进行反转,来实现一个小动作能够反复的无缝自循环,最终输出的 vmd 长度为原来的两倍(*因为镜像复制了一遍*) ![演示](./README.assets/recording.gif) ## 如何使用? 1. 打开 `VMDReversed.exe` 你会看到如下界面 ![Clip_2024-10-17_22-04-10](./README.assets/Clip_2024-10-17_22-04-10.png) 2. 拖放一个 `.vmd` 动作文件 ![Clip_2024-10-17_22-04-24](./README.assets/Clip_2024-10-17_22-04-24.png) 3. 或者通过点击按钮来选择一个vmd文件 ![Clip_2024-10-17_22-04-55](./README.assets/Clip_2024-10-17_22-04-55.png) 4. 然后等待处理完成 ![Clip_2024-10-17_22-05-26](./README.assets/Clip_2024-10-17_22-05-26.png) 5. 此时在原来的 `.vmd` 文件的目录下面就能找到新生成的文件了 ![Clip_2024-10-17_22-06-57](./README.assets/Clip_2024-10-17_22-06-57.png) 6. enjoy! ## 优化选项 界面上有一张「优化选项」卡片,常规平滑优化默认开启;“镜像段关闭物理”和“镜像段关闭 IK”默认关闭,以保持原始行为,可按需勾选: | 选项 | 作用 | |---|---| | 折返点去重 | 消除正序与镜像衔接处的重复关键帧 | | 插值曲线镜像 | 镜像段按正确缓动反转,反向播放更自然 | | 折返点平滑(+窗口) | 折返点速度归零再反向,消除衔接卡顿 | | 表情平滑 | 表情(morph)在折返点平滑过渡 | | 循环接缝平滑(+窗口) | 动作首尾速度归零,循环播放更无缝(会轻微改写首尾) | | 循环次数(正反交替) | 输出指定次数的完整正序 + 反序周期,例如 2 次就是正、反、正、反 | | 镜像段关闭物理 | 镜像段关闭骨骼物理,避免物理引擎与镜像动作冲突 | | 镜像段关闭 IK | 镜像段关闭 IK,避免 IK 求解改写镜像动作 | > 镜像始终以全局最大帧为基准(所有骨骼在同一时刻折返),保证整体动作一致。 ## 如何运行? > 启动该项目需要 Window10 64bit 或者以上,因为项目使用 Python 3.11 ### 下载打包版本 为了方便更多不是程序员的朋友,您也可以直接下载我打包好的 exe 版本,双击就能直接运行,可以在右侧中的 release 标签里面找到最新版本然后下载 最新的下载地址如下: https://gitee.com/sun-programing/vmdreversed/releases/latest ### 编译运行 项目使用 [uv](https://docs.astral.sh/uv/) 管理依赖(Python 3.11): ```bash uv sync # 创建虚拟环境并安装依赖 uv run python VMDReversed.py # 启动程序 uv run pytest # 运行测试 ``` ## 作者的话 想学习源码的朋友可以不用看这个项目了,这个项目的源码是灾难,不过好在任务完成了,我多半也不会再来看这个源码了 如果您想使用该软件为您的配布过程加速,请在发布之后将该软件添加进配布表中 ```text VMDReversed-作者PythonImporter-地址https://gitee.com/sun-programing/vmdreversed/ ``` ## 鸣谢 该项目依赖下面的这个项目,感谢前辈对 VMD 文件的解析 https://github.com/Nuthouse01/PMX-VMD-Scripting-Tools