# Projects **Repository Path**: AngryBKB/Projects ## Basic Information - **Project Name**: Projects - **Description**: Unity个人练习项目 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-01-08 - **Last Updated**: 2026-10-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Projects 基于 Unity 的游戏框架与示例集合:包含完整的客户端框架、角色控制器、GameplayTag / GAS 能力系统、物体级网络同步,以及与客户端共享协议的 .NET 独立服务器。 适合作为学习与二次开发参考。多数功能仍在迭代中,尚未经过完整测试。 ### 截图 ![screenshot-20260107-181528.jpg](picture/screenshot-20260107-181528.jpg) ![screenshot-20260107-181546.jpg](picture/screenshot-20260107-181546.jpg) ![screenshot-20260107-181606.jpg](picture/screenshot-20260107-181606.jpg) ## 环境要求 | 模块 | 要求 | | --- | --- | | Unity 工程 | **Unity 2022.3.35f1** | | 独立服务器 / 控制台客户端 | **.NET 8** | | IDE | Rider / Visual Studio / VS Code | 仓库地址: ## 仓库结构 ``` ├── Unity/ │ ├── Framework/ Unity 主框架与示例(资源、UI、网络、技能、同步等) │ └── Platformer/ 角色控制器工程(行走 / 跳跃 / 游泳 / 飞行等) ├── VS/ │ ├── Server/ .NET 8 游戏服务器(帧同步房间、状态同步、聊天、登录) │ └── Client/ .NET 8 控制台客户端(网络连通性测试) ├── Web/Server/ 资源分发(HFS + Android 热更目录) ├── picture/ README 截图 └── LICENSE MIT ``` `Unity/Framework_clone_*` 是 [ParrelSync](https://github.com/VeriorPies/ParrelSync) 生成的本地克隆,用于编辑器内多开联调,不属于独立工程。 --- ## Unity/Framework 路径:`Unity/Framework` 核心代码在 `Assets/Framework/Scripts`,示例在 `Assets/Examples` 与 `Assets/Contents/Scenes`。 ### 框架模块 | 模块 | 说明 | | --- | --- | | **Core** | 资源加载(Editor AssetDatabase / AssetBundle)、事件、日志、下载、本地化、HybridCLR、异步 Operation | | **Core.Game** | `GameEntry` 入口与各 Manager:对象池、配置表、本地化、音频、定时器、UI、流程、设置、文件、网络 | | **ECS** | 轻量 Entity / Component 系统,与独立服务器共用同一套源码 | | **Network** | KCP(kcp2k)与 TCP、会话、局域网 Discovery | | **Netcode** | 类似 Netcode for GameObjects 的物体同步:NetworkVariable、生成/销毁、场景切换、自定义消息 | | **GameplayTag** | Unreal Engine GameplayTag 的 Unity 实现 | | **GameplayAbilities** | Unreal GAS 的 Unity 实现(Ability / Effect / Attribute / Cue / Task)。当前不含网络复制 | | **Gameplay** | Pawn、Controller、Movement 等玩法基类 | | **Editor** | AssetBundle 打包管线、HybridCLR 热更程序集、资源分析与调试窗口 | `GameEntry` 启动时会依次初始化:配置 → 设置 → 音频 → UI → 流程 → 本地化 → 网络。 ### 示例场景 主场景 `Assets/Contents/Scenes/Main.unity` 包含以下测试场景 `Assets/Contents/Scenes`: | 场景 | 内容 | | --- | --- | | `Ability/Ability` | 技能系统演示(含伤害结算、光环等) | | `Lockstep/Scene1` | 帧同步(需启动 `VS/Server`) | | `StateSync/Scene1` | 状态同步 | | `Netcode/Basic` | Netcode 基础同步 | | `Netcode/Pong` | 对打演示 | | `Netcode/StarForce` | 射击同步演示 | | `Netcode/Counter` | 计数器同步 | | `QuadTree/Scene1` | 四叉树空间划分 | | `GPUDriven/SampleScene` | GPU 地形绘制(四叉树 LOD、视锥剔除、间接实例化) | | `Streamer/WorldStreamer` | 大世界分块加载 | | `Night/Scene1` | 场景流程示例 | | `Projectile/Scene1` | 弹道示例 | 流程由 Procedure 驱动,例如 `InitProcedure`、`LoginProcedure`、`LobbyProcedure`、`LockstepProcedure`、`NetcodeProcedure`。 ### 资源与热更 - 编辑器内可用 AssetDatabase 直接加载;真机走 AssetBundle。 - 打包任务在 `Assets/Framework/Scripts/Editor/Assets`,支持收集、压缩、加密、清单、HybridCLR 程序集。 - 热更相关目录可通过 `Web/Server/Framework/Android Updates` 分发。 ### 主要依赖 - [UniTask](https://github.com/Cysharp/UniTask) - [HybridCLR](https://github.com/focus-creative-games/hybridclr) - [ParrelSync](https://github.com/VeriorPies/ParrelSync)(多开联调) - DOTween(`Assets/Plugins/Demigiant`) - kcp2k、Newtonsoft.Json --- ## Unity/Platformer 路径:`Unity/Platformer` 基于胶囊体 + Rigidbody 的角色移动,运动模式见 `MovementMode`: - Walking / Falling / Swimming / Flying / Custom 同时支持自定义重力、空中控制、平台跟随、单向平台、斜坡限制、Root Motion 等。输入使用 Unity Input System。 ### 示例 | 目录 | 内容 | | --- | --- | | `Examples/Minimal` | 最小可运行角色 | | `Examples/SuperMario` | 平台跳跃风格 | | `Examples/ThirdPerson` | 第三人称 | | `Examples/Moba` | 点击移动 + Behavior Designer AI | | `Examples/Cinemachine` | 相机混合 | | `Examples/Performance` | 性能压测 | | `Examples/Menu` | 示例菜单入口 | ### 第三方插件 工程内带有 **Animancer Pro** 与 **Behavior Designer**,请遵守各自许可证,不要直接用于商业发布 unless 你已持有对应授权。 --- ## 独立服务器与客户端 客户端与服务器共享部分源码、消息序列化、ECS 与定点数(`LMath`)。 ### 服务器 `VS/Server` 用 Visual Studio / Rider 打开 `VS/Server/Server.sln`。 | 项目 | 说明 | | --- | --- | | **Server** | 可执行入口,默认监听 `0.0.0.0:7788` | | **ECS** | Entity / Component,链接自 Unity 框架 | | **Network** | KCP / TCP | | **Core.Game** | 与客户端共用的游戏层代码 | | **Utils** | 日志、对象池等 | 功能概览: - 登录、聊天 - **帧同步房间**(每房间最多 4 人) - **状态同步大厅** - 50Hz FixedUpdate 游戏循环 启动参数: ```text Server.exe --ip 0.0.0.0 --port 7788 ``` 控制台命令:输入任意文本会广播给当前场景玩家;`kick` 断开全部连接;`exit` 退出。 ### 控制台客户端 `VS/Client` 打开 `VS/Client/Client.sln`,默认连接 `127.0.0.1:7788`,用于协议与传输稳定性测试。 --- ## 快速开始 1. 用 Unity **2022.3.35f1** 打开 `Unity/Framework` 或 `Unity/Platformer`。 2. 打开上表中的示例场景,进入 Play Mode。 3. 若运行帧同步 / 登录相关示例:先编译启动 `VS/Server`,再在 Unity 中连接(默认端口 **7788**)。 4. 需要编辑器内 Host + Client 联调时,用 ParrelSync 克隆 `Framework` 工程。 --- ## 使用说明 本仓库主要用于学习 Unity 游戏开发中的角色控制、资源管线、网络同步与技能系统实现。可按模块裁剪或扩展。 **注意:** 大部分功能尚未经过严格测试,直接用于生产前请自行验证。 ## 许可证 本仓库源码以 [MIT License](LICENSE) 发布,版权所有 © 2025 小学生名蒸蛋。 第三方插件(Animancer、Behavior Designer、DOTween、UniTask、HybridCLR 等)遵循各自许可证,使用前请单独确认。 ## 提醒 该README由AI生成