基于Lytix过时内容的 index.html 制作的Unity纯UI壳项目,包含完整的页面导航和视觉呈现,不包含游戏逻辑。
| 页面 | 名称 | 说明 |
|---|---|---|
| Splash | 启动序列 | Boot动画 → Touch to Start → Loading进度条 |
| Menu | 主菜单 | 开始游戏 / 曲库 / 社区 / 设置 |
| Chapter | 章节选择 | 5个章节卡片 + 活动卡片(横向滚动) |
| Song | 曲库 | 歌曲列表 + 预览面板 + 难度选择 |
| Game | 游戏界面 | HUD(分数/连击/精度/HP)+ 4轨道 + 暂停覆盖层 |
| Community | 社区 | 用户信息 + 排行榜/谱面/活动/好友Tab |
| Settings | 设置 | Note Speed / Judgment Offset / Lane Opacity滑块 |
Lytix_Unity/
├── Assets/
│ ├── UI/
│ │ ├── Documents/
│ │ │ └── MainUI.uxml # 所有页面的UXML布局
│ │ ├── Styles/
│ │ │ └── MainStyle.uss # USS样式表(对应HTML中的CSS)
│ │ └── Scripts/
│ │ ├── LytixUIManager.cs # 主管理器:导航、启动序列、HUD模拟
│ │ └── WaveBackground.cs # 程序化正弦波背景渲染
│ └── Scenes/ # 场景文件(需在Unity中创建)
├── Packages/
│ └── manifest.json # 包依赖
└── ProjectSettings/
└── ProjectVersion.txt # Unity版本(6000.0.0f1)
- 打开 Unity Hub,创建新项目(Unity 6 / 6000+)
- 使用 Universal 3D 模板
- 将
Lytix_Unity/Assets/下的所有文件复制到Unity项目的Assets/目录 - 将
Packages/manifest.json和ProjectSettings/ProjectVersion.txt覆盖到对应位置
- 在
Assets/Scenes/下创建新场景MainScene - 创建空GameObject,命名为
UI - 添加组件:
UI Document→ 设置 Source Asset 为Assets/UI/Documents/MainUI.uxmlPanel Settings→ 设置 Scale Mode 为Scale With Screen SizeLytixUIManager(脚本)WaveBackground(脚本)
- 将
UI Document组件拖入LytixUIManager的Ui Document字段 - 将
UI Document组件拖入WaveBackground的Ui Document字段
点击 Play 即可看到完整的UI。
| HTML/CSS/JS | Unity对应 |
|---|---|
| HTML (DOM) | UXML (UI Toolkit) |
| CSS (样式) | USS (UI Toolkit) |
| CSS Variables (:root) | USS :root / C# 常量 |
| JavaScript (导航/动画) | C# MonoBehaviour |
| Canvas 2D (正弦波) | Texture2D 程序化绘制 |
| CSS @keyframes | USS transitions / Coroutine动画 |
| CSS flexbox | USS flex布局 |
| CSS :hover | USS :hover伪类 |
| onclick事件 | C# clicked回调 |