Skip to content

Shimiru233/unity-rhythm-game

Repository files navigation

Jack Trainer - 音乐节奏游戏

一个基于Unity开发的单音轨音乐节奏游戏,支持用户登录、分数排行榜等功能。

项目特点

  • 单音轨设计: 专注于节奏训练,简洁明了
  • 三种BPM模式: 120、150、180 BPM可选
  • 纵连配置: 所有谱面采用纵连设计,提高挑战性
  • 可调延迟: 支持-100ms到+100ms的延迟补偿
  • 用户系统: 完整的登录注册功能
  • 全球排行榜: 实时更新的分数排行榜
  • 精确判定: Perfect/Great/Good/Miss四级判定

项目结构

JackTrainer/
├── UnityProject/           # Unity游戏客户端
│   ├── *.cs               # C# 脚本文件
│   ├── SETUP_GUIDE.md     # Unity项目设置指南
│   └── README.md          # Unity项目说明
│
└── NodeBackend/           # Node.js后端API
    ├── API_DOCUMENTATION.md  # API接口文档
    └── README.md          # 后端说明

快速开始

1. Unity客户端设置

  1. 使用Unity 2021.3 LTS或更高版本打开项目
  2. 阅读 UnityProject/SETUP_GUIDE.md 了解详细设置步骤
  3. 将提供的C#脚本导入到Unity项目中
  4. 按照SETUP_GUIDE配置场景和UI
  5. 构建并运行

2. Node.js后端设置

后端API需要你自己实现,参考文档:

  • 阅读 NodeBackend/API_DOCUMENTATION.md 了解API规范
  • 实现用户注册/登录接口
  • 实现分数提交和排行榜接口
  • 配置CORS允许Unity客户端访问

游戏玩法

  1. 登录: 使用用户名和密码登录或注册
  2. 设置: 选择BPM模式(120/150/180)和调整延迟补偿
  3. 游戏: 按空格键或点击鼠标左键击打下落的音符
  4. 判定:
    • PERFECT: 100分
    • Great: 80分
    • Good: 50分
    • Miss: 0分
  5. 结算: 游戏结束后查看成绩并自动提交到排行榜

技术栈

前端 (Unity)

  • Unity 2021.3 LTS+
  • C# 脚本
  • Unity UI系统
  • UnityWebRequest (网络请求)

后端 (需自行实现)

  • Node.js + Express (推荐)
  • MongoDB/MySQL/PostgreSQL (数据库)
  • JWT (身份认证)
  • bcrypt (密码加密)

API接口概览

接口 方法 说明
/api/register POST 用户注册
/api/login POST 用户登录
/api/scores POST 提交分数
/api/rankings GET 获取排行榜

详细API文档请查看 NodeBackend/API_DOCUMENTATION.md

文件说明

Unity脚本

文件名 功能
Note.cs 音符数据结构
BPMConfigurations.cs BPM配置和谱面生成
GameManager.cs 游戏核心逻辑管理
NoteObject.cs 音符对象行为
LoginManager.cs 登录注册管理
RankingManager.cs 排行榜管理
RankingItem.cs 排行榜条目UI
UIManager.cs UI界面管理

游戏设置

BPM配置

  • 120 BPM: 0.5秒/拍,60个音符,30秒
  • 150 BPM: 0.4秒/拍,75个音符,30秒
  • 180 BPM: 0.333秒/拍,90个音符,30秒

延迟补偿

  • 范围: -100ms 到 +100ms
  • 用于调整玩家的输入延迟和显示器延迟

开发建议

未来扩展方向

  1. 添加音效和背景音乐
  2. 支持多音轨模式
  3. 自定义谱面编辑器
  4. 更多BPM选项
  5. 视觉特效增强
  6. 成就系统
  7. 好友对战功能
  8. 录像回放功能

性能优化

  1. 使用对象池管理Note对象
  2. 优化UI渲染
  3. 减少不必要的Update调用
  4. 使用协程处理异步操作

许可证

本项目仅供学习和参考使用。

作者

Jack Trainer Development Team

更新日志

v1.0.0 (2025-02-02)

  • ✅ 初始版本发布
  • ✅ 单音轨游戏核心功能
  • ✅ 三种BPM模式
  • ✅ 用户登录系统
  • ✅ 排行榜功能
  • ✅ 延迟补偿设置

联系方式

如有问题或建议,请通过以下方式联系:

  • 提交Issue到项目仓库
  • 发送邮件至开发团队

祝你游戏愉快!Keep the rhythm! 🎵

About

My first unity article

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published