FNF模组开发实战:QT-rewired重置版谱面编辑器完整指南
最近在整理游戏模组开发笔记时发现很多朋友对《Friday Night Funkin》FNF的模组制作特别是音游谱面编辑器“QT-rewired”的重置版非常感兴趣。网上的教程要么过于零散要么版本老旧导致新手在配置环境和上手制作时频频踩坑。本文将围绕FNF模组“QT-rewired”重置版从核心概念、环境搭建、手打演示到最终发布提供一套完整的闭环实操指南。无论你是想为自己喜欢的歌曲制作谱面还是想深入学习FNF模组开发都能从本文中找到可直接复用的代码、配置和避坑方案。1. 背景与核心概念什么是FNF与QT-rewired在深入实操之前我们先厘清几个核心概念这对于后续理解整个工作流程至关重要。Friday Night Funkin‘ (FNF)是一款使用HaxeFlixel引擎开发的开源节奏音乐游戏。其最大的魅力在于其极高的可扩展性玩家和开发者可以基于原版游戏通过替换美术资源、编写新歌曲和谱面创造出全新的游戏模组Mod。一个完整的FNF模组通常包含新的角色Sprite、背景Stage、歌曲Music以及最核心的谱面数据Chart。QT-rewired正是为FNF谱面制作而生的专用编辑器。你可以把它理解为一个“音游谱面DAW数字音频工作站”。最初的版本由KadeDev开发而“重置版”Rewritten通常指社区在原始基础上进行优化、修复Bug并增加新功能的版本。它提供了一个可视化的时间轴界面让创作者可以直观地放置音符Note、定义对手的演唱段落Sections并实时预览谱面与音乐的同步效果。为什么需要掌握QT-rewired对于FNF模组开发者而言直接编写JSON格式的谱面文件不仅效率低下而且极易出错。QT-rewired将这个过程图形化、标准化可视化编辑在时间轴上直接点击放置音符支持缩放、多选、复制粘贴。实时预览编辑的同时可以播放音乐确保每个音符都卡在节拍上。数据导出一键生成FNF游戏引擎可识别的标准.json谱面文件。社区兼容生成的谱面文件能与大多数主流FNF模组引擎如Psych Engine, Kade Engine兼容。简单来说QT-rewired是连接你的音乐创意与可游玩FNF模组之间的核心生产工具。2. 环境准备与版本说明工欲善其事必先利其器。要运行QT-rewired重置版并进行模组开发你需要配置一个完整的FNF开发环境。请注意版本兼容性是成功的第一步。2.1 基础运行环境操作系统Windows 10/11, macOS, 或 Linux (本文以Windows为例进行演示)。存储空间至少预留2-3GB可用空间用于存放游戏本体、编辑器及资源。2.2 核心依赖安装QT-rewired本身是一个Haxe项目因此需要先搭建Haxe开发环境。安装Haxe访问 Haxe 官网下载安装包。本文示例使用 Haxe 4.2.5 版本这是一个长期稳定版本对FNF生态兼容性最好。安装时务必勾选“Neko”和“Visual Studio Code 支持”等选项。安装完成后打开命令提示符CMD或 PowerShell输入以下命令验证haxe -version应输出4.2.5或类似版本号。安装HaxeLib库 FNF及其工具链依赖一系列Haxe库。通过Haxe的包管理器haxelib安装。逐一执行以下命令haxelib install lime haxelib install openfl haxelib install flixel haxelib install flixel-tools haxelib install hscript haxelib install polymod安装过程中如果询问是否安装依赖一律选择“Y”。安装完成后使用haxelib list可以查看已安装的库。安装Git 用于克隆项目代码。从 Git 官网下载并安装。2.3 获取QT-rewired重置版源码我们不推荐下载不明来源的编译后程序从源码构建能确保安全并获得最新功能。在你想存放项目的目录例如D:\FNF_Dev中打开命令行。克隆一个社区维护较好的QT-rewired重置版仓库。例如git clone https://github.com/ShadowMario/FNF-PsychEngine.git --depth 1注意Psych Engine是一个流行的FNF模组引擎其源码仓库的tools文件夹下通常包含了最新版的QT-rewired。你也可以直接搜索“fnf qt-rewired source”寻找独立仓库。进入工具目录cd FNF-PsychEngine/tools这里就是QT-rewired编辑器的源码目录。2.4 安装并配置Visual Studio Code (推荐)VSCode是Haxe开发的绝佳编辑器拥有强大的代码提示和调试功能。安装VSCode。在VSCode扩展商店中搜索并安装Haxe Extension Pack。用VSCode打开上一步的tools文件夹。至此你的开发环境已经就绪。3. QT-rewired编辑器核心功能拆解在构建和运行编辑器之前我们先了解其界面和核心功能这样在使用时能更有目的性。一个典型的QT-rewired重置版界面包含以下区域菜单栏 (Menu Bar)文件操作新建、打开、保存、编辑、视图设置和测试播放。时间轴视图 (Timeline View)核心工作区。水平轴是时间以节拍和毫秒显示垂直轴是音轨对应游戏中的左、下、上、右四个按键。音符放置板 (Note Grid)通常与时间轴关联以网格形式辅助你对齐节拍。属性面板 (Properties Panel)选中一个音符或段落时可以在此调整其详细属性如音符类型普通、长按、对手演唱段落Section的BPM变化等。音乐播放控制播放、暂停、停止以及跳转到特定时间点。核心概念对应游戏机制Note (音符)玩家需要按下的键。对应游戏中的左、下、上、右四个箭头。Section (段落)定义一段音乐的基本属性包括BPM每分钟节拍数决定游戏速度。必须命中节拍布尔值开启后音符必须严格落在节拍线上。换行符改变对手演唱的歌词行。事件 (Events)高级功能用于触发游戏内的特殊效果如镜头移动、角色动画切换等。4. 完整实战构建、运行并制作你的第一张谱面现在让我们从零开始创建一张属于你自己的简单谱面。4.1 构建并启动QT-rewired编辑器在VSCode中打开终端Terminal - New Terminal确保当前路径在tools目录下。安装项目依赖haxelib install all此命令会读取项目根目录的haxelib.json文件并安装所有列出的依赖库。编译并运行编辑器lime test windows -debug如果你是macOS用户将windows替换为macLinux用户替换为linux。 首次编译会花费几分钟时间成功后会自动弹出QT-rewired编辑器的窗口。4.2 创建新谱面项目在QT-rewired中点击File - New。你需要关联一首音乐文件。准备一首.ogg格式的音频文件FNF标准格式例如my_song.ogg。点击Load Song并选择它。编辑器会自动解析音频长度。你需要设置初始BPM例如120。可以在右侧属性面板的第一个Section里设置。点击File - Save将谱面项目保存为my_song.chart。注意这只是编辑器项目文件。4.3 手打演示绘制基础谱面我们以制作一段简单的4/4拍循环为例。缩放与定位使用鼠标滚轮缩放时间轴拖动时间轴区域进行平移找到开始位置如第0秒。放置音符在工具栏选择“音符笔刷”。在时间轴的第1拍Beat 0.00处点击“左”箭头音轨放置一个音符。在第2拍Beat 1.00处点击“下”箭头音轨。在第3拍Beat 2.00处点击“上”箭头音轨。在第4拍Beat 3.00处点击“右”箭头音轨。 这样一个最简单的四连音就完成了。你可以看到四个不同颜色的菱形标记出现在时间轴上。播放测试点击播放按钮或按空格键。编辑器会播放音乐并有一个垂直的播放头随着时间移动。当播放头经过你放置的音符时该音符会高亮。这是检查音符是否卡准节拍的关键步骤。如果发现音符偏移可以鼠标拖动音符微调其位置。4.4 添加段落与BPM变化让谱面更有变化。添加新段落在时间轴上方Section行的Beat 4.00处右键选择“Add Section”。这会创建一个新的段落。改变BPM选中新创建的Section在右侧属性面板将BPM从120修改为150。你会注意到从此Section往后时间轴的网格密度发生了变化表示节奏变快了。在新段落放置音符在新的、更快的节奏下以半拍Beat 4.00, 4.50, 5.00, 5.50为间隔放置一组交替的“左”和“右”音符。4.5 导出为FNF游戏谱面文件编辑器项目.chart不能被游戏直接读取需要导出为游戏引擎识别的JSON格式。点击File - Export to JSON。选择保存位置。通常你需要将其保存到你的FNF模组歌曲目录中例如FNF-PsychEngine/assets/songs/my_song/。文件应命名为my_song-hard.json假设这是困难难度。FNF支持多种难度通常导出为-easy.json,-normal.json,-hard.json。4.6 在游戏中测试确保你的FNF游戏如Psych Engine已正确放置模组资源歌曲音频Inst.ogg、人声Voices.ogg、图标等。将上一步导出的JSON文件放入对应的歌曲文件夹。运行FNF游戏在自由模式Freeplay或故事模式Story Mode中找到你的歌曲并播放。实地游玩测试是最终检验标准感受音符手感记录下需要调整的地方。5. 常见问题与排查思路在实际操作中你肯定会遇到各种问题。下表汇总了高频问题及其解决方案问题现象可能原因排查与解决思路编译失败Class not foundHaxe库未安装或版本冲突。1. 在项目根目录执行haxelib install all。2. 检查haxelib.json确保所有库名正确。3. 尝试haxelib upgrade更新库或指定版本haxelib install lib_name version。编辑器打开后闪退图形驱动问题或项目路径包含中文/特殊字符。1. 更新显卡驱动。2. 将项目移动到纯英文路径下如D:\FNF\qt_rewired。3. 以管理员身份运行命令行进行编译。音乐文件无法加载音频格式不支持或文件损坏。1. FNF及QT-rewired主要支持.ogg格式。使用格式工厂等工具将MP3等转换为OGG。2. 确保音频文件没有损坏可以在其他播放器中试听。导出的谱面游戏不识别JSON文件格式错误或存放路径不对。1. 用文本编辑器打开JSON文件检查是否为标准JSON格式可使用在线JSON校验工具。2.确保JSON文件放在正确的歌曲目录下且文件名与游戏代码中读取的命名规则一致如songName-hard.json。3. 对比游戏原版谱面JSON的结构检查是否有必填字段缺失。音符播放时不同步BPM设置错误或音频偏移未校准。1.核对音乐的实际BPM。使用专业测速软件如Mixxx, Ableton Live或在线测速网站获取精确BPM。2. 在QT-rewired的歌曲设置中调整Offset偏移量值单位毫秒。正值让音符提前负值让音符延后。这是一个反复测试的微调过程。长按音符Hold Notes无法正常绘制编辑器模式未切换或重置版功能支持问题。1. 检查编辑器是否有“长按音符”的绘制模式开关。2. 部分重置版可能对长按音符支持不完善查阅该版本QT-rewired的文档或Issues。保存项目失败文件被占用或无写入权限。1. 关闭可能占用该文件的程序。2. 尝试将项目保存到其他目录或桌面。6. 最佳实践与工程建议掌握了基础操作后遵循一些最佳实践能让你的模组制作过程更高效作品质量更高。6.1 谱面设计原则循序渐进为同一首歌制作多难度谱面Easy, Normal, Hard。Easy难度应只使用基本的四分音符和八分音符Hard难度再引入十六分音符、和弦同时按多个键和复杂节奏型。贴合音乐音符的排列应反映音乐的旋律、鼓点或人声亮点让玩家有“演奏音乐”的感觉而不是机械地击打。休息与呼吸不要在整首歌中塞满音符。适当的空拍能让玩家有喘息之机并突出后续的密集段落。可读性优先避免在同一时间点放置过多音符“叠键”除非音乐本身是密集和弦。确保在快速段落中音符的排列模式有规律可循。6.2 项目文件管理规范混乱的文件管理是协作和后期维护的噩梦。你的模组项目根目录/ ├── assets/ │ ├── songs/ │ │ ├── my_song_1/ │ │ │ ├── Inst.ogg # 伴奏 │ │ │ ├── Voices.ogg # 人声 │ │ │ ├── my_song_1-easy.json │ │ │ ├── my_song_1-normal.json │ │ │ └── my_song_1-hard.json │ │ └── my_song_2/ │ │ └── ... │ └── images/ # 角色、背景等图片 ├── source/ # Haxe源代码 ├── tools/ # QT-rewired编辑器项目 └── README.md # 项目说明文档命名一致歌曲文件夹、音频文件、JSON文件的核心名称部分保持一致。版本控制使用Git管理你的模组源码和资源。将大的音频、视频文件添加到.gitignore使用Git LFS或提供下载链接。备份定期备份你的QT-rewired项目文件.chart它是你所有编辑工作的原始文件比JSON更易于二次编辑。6.3 性能与兼容性优化音频优化确保OGG音频的比特率适中通常128-192kbps即可过高的比特率会增加游戏加载时间和内存占用。JSON精简虽然QT-rewired导出的JSON包含完整数据但可以手动清理其中为null的字段或测试用的空事件数组以轻微减小文件体积。引擎特性了解你目标模组引擎如Psych Engine的特有事件和功能并在QT-rewired中合理利用如果支持但也要做好回退方案以保持与其他引擎的基础兼容性。6.4 协作与社区分享文档化在模组README中说明谱面作者、使用的工具版本、BPM、偏移量等关键信息。测试反馈发布前邀请不同水平的玩家进行测试收集关于难度梯度、同步准确性和趣味性的反馈。遵守规范尊重原版游戏和社区规则使用原创或已获授权的素材在发布时明确标注素材来源。从环境搭建到谱面导出整个流程涉及多个环节任何一个步骤的疏漏都可能导致最终效果不如预期。关键在于耐心调试和反复测试——尤其是音符与音乐的同步这直接决定了模组的游玩体验。建议从改编一首BPM稳定、结构简单的歌曲开始练手逐步挑战更复杂的作品。当你成功完成第一个可游玩的谱面后后续学习可以转向更高级的方向研究Psych Engine等高级模组引擎的源码理解其如何解析和渲染你的JSON谱面数据学习Haxe语言尝试为QT-rewired编辑器添加自定义功能甚至深入研究音乐理论让你的谱面设计更具艺术性和专业性。FNF模组创作是一个融合了编程、音乐和设计的创造性领域希望这篇指南能为你打开这扇门。

相关新闻

Figma可动人偶开箱测评:武装JK D2夏服与配件包深度解析

Figma可动人偶开箱测评:武装JK D2夏服与配件包深度解析

这次我们来看一个关于Figma可动人偶的开箱测评项目。项目标题是“【Figma】Little Amory 武装JK D2夏服开箱测评以及配件包开箱”。这并非一个软件或AI模型,而是一个实体手办模型的开箱与评测内容。对于模型玩具爱好者、收藏家,或是刚接触Figma系列产品的…

2026/8/22 13:04:02 阅读更多 →
Linux桌面应用崩溃弹窗配置:drkonqi与systemd-coredump实战指南

Linux桌面应用崩溃弹窗配置:drkonqi与systemd-coredump实战指南

这次我们来看一个 Linux 桌面环境下的“Bug”修复。这个 Bug 有点特别:它不是一个导致系统崩溃或数据丢失的严重错误,而是一个“功能缺失”——Linux 桌面在应用程序崩溃时,没有像 Windows 那样直观的“应用程序错误”弹窗。对于习惯了 Windo…

2026/8/22 13:06:24 阅读更多 →
Sandbox-Native智能体的分支策略优化:让AI在模拟世界中学会“动手”

Sandbox-Native智能体的分支策略优化:让AI在模拟世界中学会“动手”

1. 从“沙盒”到“智能体”:一个被忽视的工程化瓶颈 最近在折腾一个多智能体协作的项目,核心想法挺简单:让几个基于大语言模型的智能体在一个模拟环境(我们内部戏称为“沙盒”)里,通过互相沟通和试错&#…

2026/8/22 12:50:53 阅读更多 →

最新新闻

零基础学pcie--PCIe 是怎么“可靠传输”的?

零基础学pcie--PCIe 是怎么“可靠传输”的?

目录 第 9 篇:PCIe 是怎么“可靠传输”的? 一、Ack/Nak 机制(为什么 PCIe 不会悄悄丢数据) 一、先给结论(请刻在脑子里) 二、Ack/Nak 工作在哪一层? 三、核心思想:快递 + 签收单 正常流程(Ack) 异常流程(Nak) 四、Seq Num(序列号):Ack/Nak 的基础 五、…

2026/8/22 15:48:25 阅读更多 →
多智能体强化学习中的模拟器坍缩:诊断、原理与工程实践

多智能体强化学习中的模拟器坍缩:诊断、原理与工程实践

1. 项目概述:当多智能体强化学习遇上“模拟器坍缩”最近在复现和跟进一些多智能体强化学习(Multi-Agent RL, MARL)的前沿工作时,我反复遇到了一个令人头疼的现象:明明在训练模拟器里表现优异的协作策略,一旦…

2026/8/22 15:48:25 阅读更多 →
console-ban:用不到 1KB 给你的站点加一道防爬锁

console-ban:用不到 1KB 给你的站点加一道防爬锁

console-ban:用不到 1KB 给你的站点加一道防爬锁 【免费下载链接】console-ban Detect F12 open console, protect web static resources, support redirect, rewrite, callback strategies. 项目地址: https://gitcode.com/gh_mirrors/co/console-ban 刚上线…

2026/8/22 15:48:25 阅读更多 →
AShareData A股数据自动化完整指南:4 个数据源、3 步接入本地 MySQL

AShareData A股数据自动化完整指南:4 个数据源、3 步接入本地 MySQL

AShareData A股数据自动化完整指南:4 个数据源、3 步接入本地 MySQL 【免费下载链接】AShareData 自动化Tushare数据获取和MySQL储存 项目地址: https://gitcode.com/gh_mirrors/as/AShareData 每天收盘后手动跑 3 个脚本拉行情、拉行业、拉财报,…

2026/8/22 15:48:25 阅读更多 →
OpenCLIP实战指南:从零样本分类到图文检索的跨模态AI应用

OpenCLIP实战指南:从零样本分类到图文检索的跨模态AI应用

1. 从“看图说话”到“理解图片”:为什么我们需要OpenCLIP?在数字内容爆炸的今天,我们每天都被海量的图片信息包围。从社交媒体上的生活分享,到电商平台的产品展示,再到自动驾驶汽车“眼中”的街道,图片承载…

2026/8/22 15:48:25 阅读更多 →
DeCoT: Decomposing Complex Instructions for Enhanced Text-to-Image Generation with Large Language...

DeCoT: Decomposing Complex Instructions for Enhanced Text-to-Image Generation with Large Language...

DeCoT论文总结与核心部分翻译 一、文章主要内容 本文聚焦当前文本到图像(T2I)模型在处理复杂、长文本指令时的不足——如难以准确呈现复杂细节、空间关系和特定约束,尤其在LongBench-T2I基准测试中,模型在构图、特定文本渲染和精细纹理等维度表现欠缺。为此,作者提出DeC…

2026/8/22 15:47:24 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/22 8:09:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →