UFS - A new free script editor

UFS 一款新的funscript编辑器

目前完成度较低,只具备脚本编辑与导入/导出的功能

脚本编辑操作
主要参考了Blender的操作逻辑,个人认为非常方便且效率更高

时间线编辑器
选择操作
中键 - 时间跳转
左键单击帧 - 单选帧
右键单击帧 - 在点击位置添加帧
左键长按 - 选择框内的帧
Alt+左键长按 - 选择时间内的帧
左键框选 - 选择框内的帧
Ctrl +选择/框选 - 反选
Shift+选择/框选 - 加选
A - 全选
Ctrl+A - 选择可视帧

帧操作
以当前时间线为轴心(时间线中心的红线)
G - 移动
S - 缩放
R - 斜切
Delete - 删除帧
Shift+鼠标X/Y - 轴锁定

视频播放器
鼠标滚轮 - 放大/缩小
左键拖动 - 移动
中键 - 重置

3D模拟器
W/A/S/D - 旋转视角
R - 重置视角

用法:
如果你想要编辑视频脚本: 主界面进入脚本编辑器->上方工具栏选择"文件(File)“->“加载视频(Load Video)”。这样就会加载视频与其对应名称的脚本(6轴)
如果你想要保存编辑的脚本:上方工具栏选择"文件File”->“导出/Export”。这样会将脚本保存在与视频同一个路径下(覆盖原有文件)

当前版本bug较多,请谨慎使用且提前做好备份
如果视频播放器卡主不动多按几次空格或者在时间线内按中键跳转一下时间
后续会在github上开源

AI Translation:
UFS (Universal Funscript Editor) — A New Funscript Editor
Current Status: Early development stage. Currently supports basic script editing and import/export functionality only.
Script Editing Operations
The editing workflow primarily follows Blender’s interaction logic, which I find incredibly efficient and user-friendly.
Timeline Editor
Selection Controls
MMB (Middle Mouse Button) — Jump to time position
LMB Click on frame — Select single frame
RMB Click on frame — Add frame at cursor position
LMB Hold & Drag — Box selection (select frames within rectangle)
Alt + LMB Hold — Select frames within time range
LMB Box Select — Select frames within selection box
Ctrl + Click/Box Select — Invert selection
Shift + Click/Box Select — Add to selection (multi-select)
A — Select All
Ctrl + A — Select all visible frames
Frame Operations
(Pivot: Center of timeline — indicated by the red vertical line)
G — Grab/Move selected frames
S — Scale selection
R — Shear/Skew
Delete — Remove selected frames
Shift + Mouse X/Y — Axis lock (constrain to X or Y axis)
Video Player
Mouse Wheel — Zoom in/out
LMB Drag — Pan/Move view
MMB — Reset view
3D Simulator
W/A/S/D — Rotate camera/view
R — Reset camera position
Usage Guide
To edit a video script:
Enter the Script Editor from the main interface → Select “File” from the top toolbar → Click “Load Video”. This will load the video and automatically load the corresponding script file (6-axis) with matching filename.
To save your edited script:
Select “File” from the top toolbar → Click “Export”. The script will be saved to the same directory as the video file (overwriting existing files).
:warning: Warning: The current version contains numerous bugs. Please use with caution and always backup your files before editing.
Troubleshooting: If the video player freezes, press Space several times or click MMB on the timeline to jump to a different time position.
It will be open-sourced on GitHub in the future

Download link/下载链接

5 Likes