SwiftParticleMenuDemo 是一个面向 SwiftlyS2 的数据驱动 CS2 粒子 UI 框架。它不加载自定义 Panorama XML,而是使用 Source 2 粒子和图片材质构建贴近 HUD 的菜单。
玩家的主要入口是:
移动鼠标瞄准,按 E 或 Mouse1 激活,按 R 或 Esc 关闭。菜单粒子只向打开它的玩家传输。
| Item 高亮 |
底部操作高亮 |
 |
 |
- 使用 Menu Studio 可视化编辑菜单树、信息行、主题和稳定 action ID。
- Live Preview 直接组合真实生成的 PNG 图层,不使用 CSS 模拟最终菜单画面。
- 自动处理每页六项、嵌套子菜单、父级返回路径、禁用补位和 C# handler stub。
- 只向操作者显示的 ScreenLocked HUD,支持连续光标、hover、底部操作和可选 W/S 导航。
- 可重复生成 PNG、MKS、VTEX、VPCF,并提供面向 Workshop 的发布工具链。
- 可复用 Particle Text Runtime,用于显示简短的中英文动态信息。
环境要求:Node.js 20.19+、PowerShell 7+(pwsh)、.NET 10、SwiftlyS2;编译资源还需要 CS2 Workshop Tools。
- 在浏览器中编辑交互菜单或信息面板。
- 使用真实生成图层的 Live Preview 检查效果。
- 点击“生成工程”。
- 实现生成的 action / 数据 stub。
- 按照 Workshop 正式部署编译并发布资源。
如果使用文件方式维护菜单,请编辑 config/authoring/menu_definition.json 并运行 tools/build_menu.ps1。完整流程见十分钟快速开始和菜单客制化教程。
| 入口 |
用途 |
!pmenu |
主要的交互式粒子菜单 |
!ptext |
可配置的动态信息面板 |
!pspeed |
独立实时速度 HUD 实验 |
!patlas |
运行时 sequence-atlas 技术验证 |
!box |
可选的四宫格娱乐音效 Demo |
别名、布局和诊断命令见命令参考。
| 路径 |
职责 |
config/authoring |
Menu Studio 项目和开发者编辑的源定义 |
config/runtime |
生成后或手动维护、随插件发布的数据 |
config/schemas |
作者格式使用的 JSON Schema |
assets |
生成器使用的原始美术资源 |
src |
SwiftlyS2 插件实现 |
resources_src |
生成的 Source 2 源资源 |
tools |
Menu Studio、生成器、模板、验证和部署工具 |
docs |
按任务组织的专题文档和文档图片 |
运行时源文件在仓库中整理到 config/runtime,发布时仍会平铺到插件目录以保持兼容。详见仓库目录与配置生命周期。
运行仓库冒烟验证,不执行部署:
pwsh -NoProfile -ExecutionPolicy Bypass -File .\tools\verify_menu.ps1
只构建 SwiftlyS2 插件:
dotnet build .\SwiftParticleMenuDemo.csproj
正式资源分发应使用 CS2 Workshop Tools 与 SwiftlyS2 AddonsManager。本地 override VPK 只适合明确的本地测试;发布前请阅读 Workshop 正式部署。
- 这是粒子 UI,不是 Panorama DOM 或客户端布局引擎。
- 交互拓扑每页固定六个槽位,最多支持 64 页;作者工具会自动隐藏这些约束。
- Particle Text 最多支持 8 行、每行 21 个 Unicode 字形,字符集在构建期确定。
- 当前资源命名空间代表一套主要自定义菜单;同时运行多套独立菜单需要额外命名空间和路由。
项目自行编写的代码和文档采用 MIT License。第三方材料和许可声明见第三方许可证与声明。
仓库中源自 wy-luke/All-Chinese-Character-Set 的字符表不属于本项目 MIT 授权范围,因为该上游仓库目前没有声明许可证。再次分发前请阅读第三方声明并确认授权。
如果这个项目对你有帮助,可以通过 Ko-fi 支持后续开发:

参考: