# 智能车仿真系统 **Repository Path**: Blight001/unity_Simulation ## Basic Information - **Project Name**: 智能车仿真系统 - **Description**: 智能车仿真系统-unity开源最新版本 是UP主对智能车仿真的贡献的一点点力量,望有能力的小伙伴们发挥自己的才智,让这个项目延伸出更多分支,推动时代的进步! - **Primary Language**: C# - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2025-08-28 - **Last Updated**: 2025-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能车仿真系统 ![Unity](https://img.shields.io/badge/Unity-2021+-important) ![License](https://img.shields.io/badge/license-MIT-blue) #### 介绍 智能车仿真系统-unity开源最新版本 是UP主对智能车仿真系统贡献的小小力量,望有能力的小伙伴们发挥自己的才智,让这个项目延伸出更多分支,推动时代的进步! 项目采用GNU GPL v3开源许可证。 ### 🚗 车辆仿真系统 - **物理仿真**: 基于Unity物理引擎的车辆动力学仿真 - **车轮控制**: 支持四轮独立控制,包括转向、驱动和制动 - **参数调节**: 实时调节车辆质量、重心、摩擦力等物理参数 - **多种控制模式**: 支持键盘控制和外部输入控制 ### 👁️ 视觉处理系统 - **实时图像处理**: 从RenderTexture读取并处理图像数据 - **灰度转换**: 将彩色图像转换为灰度图像 - **二值化处理**: 支持可调节阈值的图像二值化 - **颜色映射**: 支持多种颜色编码(黑、白、红、绿、蓝、黄、青) ### ⏰ 时间控制系统 - **时间回放**: 支持场景状态的时间回放功能 - **时间缩放**: 可调节时间流速(0.1x - 1.5x) - **暂停/继续**: 支持仿真暂停和继续 - **快进/快退**: 支持时间轴的前进和后退 ### 🎮 游戏功能 - **路径绘制**: 实时绘制车辆行驶路径 - **目标路径**: 显示预设的目标路径 - **检查点系统**: 支持检查点管理和路径验证 - **计时器**: 精确的仿真时间计时 ### 🔧 硬件模拟 - **编码器模拟**: 车轮编码器数据模拟 - **陀螺仪模拟**: 姿态传感器数据模拟 - **负压传感器**: 负压传感器数据模拟 - **蜂鸣器模拟**: 声音反馈设备模拟 ### 🎥 摄像机系统 - **多视角切换**: 支持多种摄像机视角 - **自由飞行模式**: 支持Alt键切换的飞行摄像机模式 - **参数调节**: 可调节摄像机高度、角度、视野等参数 - **跟随模式**: 摄像机自动跟随车辆 ### 进阶说明; - 内置10+款不同赛道 - 智能车模型借鉴逐飞的C车; - 使用C#语言,内置C++转C#的转接动态链接库脚本,使代码方便移植单片机运行; - 代码全部封装接口,画面处理封装了以下方案:二值化,逆透视,洪水填充,边缘腐蚀,画线求坐标; - UI显示摄像头原本画面和处理后的画面; - 内置时间回溯插件,可逐帧回溯意外场景,找到原因; - 游戏时空速度可调节,能快速测试代码的稳定性; - 新增记忆赛道算法,可记忆第一次运行的赛道元素,二次运行优化算法。 ## 项目结构 ``` Assets/ ├── Scripts/ # 主要脚本文件 │ ├── CarController.cs # 车辆控制器 │ ├── vision_control.cs # 视觉控制系统 │ ├── vision_deal.cs # 视觉数据处理 │ ├── OtherCode.cs # 其他功能代码 │ ├── Dll_import.cs # DLL导入接口 │ ├── hardware/ # 硬件模拟脚本 │ ├── game/ # 游戏功能脚本 │ └── UI/ # 用户界面脚本 ├── Scenes/ # 场景文件 │ └── MainScene/ # 主场景 ├── Models/ # 3D模型文件 ├── Materials/ # 材质文件 ├── Plugins/ # 插件文件 └── TimeRewinderImplementation/ # 时间回放实现 ``` #### 安装教程 1. 安装 [Unity Hub](https://unity.com/download) 2. 安装编译器 Unity 2023 或更高版本 3. 克隆本仓库: ```bash git clone https://gitee.com/Blight001/unity_Simulation.git 4. 将下载的文件解压添加到 Unity 的项目路径 #### 使用说明 ## B站UP主Blight001的开源教程: https://space.bilibili.com/1053911444?spm_id_from=333.337.0.0 ## 操作说明 ### 车辆控制 - **WASD**: 控制车辆前后左右移动 - **空格**: 刹车 - **R**: 重置车辆位置 - **C**: 切换控制/自动模式 - **+/-**: 调节车辆速度 ### 时间控制 - **P**: 暂停/继续仿真 - **←/→**: 时间回放/快进 - **↑/↓**: 时间加速/减速 - **T**: 恢复正常时间流速 ### 界面控制 - **E**: 显示/隐藏控制台 - **H**: 显示/隐藏UI界面 - **Q**: 切换摄像机视角 - **Alt**: 切换飞行摄像机模式 ### 摄像机控制(飞行模式) - **鼠标移动**: 旋转视角 - **WASD**: 前后左右移动 - **鼠标滚轮**: 上下移动 - **右键+鼠标**: 旋转视角 ## 技术特性 ### 物理仿真 - 基于Unity的WheelCollider组件 - 可调节的摩擦力和物理参数 - 真实的重心和质量模拟 ### 图像处理 - 实时RenderTexture处理 - 高效的像素级操作 - 支持多种图像格式转换 ### 时间系统 - 基于快照的状态保存 - 高效的时间轴管理 - 支持大规模状态回放 ## 系统要求 - **Unity版本**: 2021.3 LTS或更高版本 - **操作系统**: Windows 10/11 - **内存**: 建议8GB以上 - **显卡**: 支持DirectX 11或OpenGL 4.1 ## 开发说明 ### 添加新的硬件模拟器 1. 在`Assets/Scripts/hardware/`目录下创建新的脚本 2. 继承MonoBehaviour并实现相应的接口 3. 在场景中添加对应的GameObject ### 扩展视觉处理功能 1. 修改`vision_control.cs`中的图像处理逻辑 2. 在`vision_deal.cs`中添加新的处理算法 3. 更新UI界面以支持新的参数调节 ### 自定义车辆参数 1. 在`CarController.cs`中添加新的参数 2. 创建对应的UI绑定器 3. 在Inspector中调节参数范围 ## 许可证 本项目采用GNU General Public License v3.0开源许可证。详情请参阅[LICENSE](LICENSE)文件。 ## 贡献指南 欢迎提交Issue和Pull Request来改进项目。在提交代码前,请确保: 1. 代码符合项目的编码规范 2. 添加必要的注释和文档 3. 测试新功能不会破坏现有功能 4. 更新相关的文档 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交GitHub Issue - 发送邮件至项目维护者 ---