# CameraMotionSense **Repository Path**: yangshare/CameraMotionSense ## Basic Information - **Project Name**: CameraMotionSense - **Description**: 摄像头动作感知工具集,精准捕捉人体动作轨迹,实时输出感知结果,易于二次开发与集成。 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-21 - **Last Updated**: 2025-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 水动互动鱼群 (Aquatic Motion - Offline Version) 这是一个专为**内网/离线环境**优化的沉浸式交互仿真项目。通过复杂的群体智能算法(Boids Algorithm),鱼群能够实时感知并追随您的动作,配合全本地化的视听反馈。 image --- ## 🚀 快速上手 (Quick Start) ### 1. 开发环境配置 确保您的本地环境已安装 [Node.js](https://nodejs.org/) (建议 v18.0.0 或以上版本)。 ```bash # 克隆/下载项目到本地后进入目录 cd aquatic-motion # 安装必要依赖 npm install ``` ### 2. 启动本地调试 本项目采用现代 ESM 模块化结构,建议使用 Vite 进行极速调试: ```bash # 启动本地开发服务器 npm run dev ``` 启动后访问控制台输出的地址(通常是 `http://localhost:5173`)。 > **⚠️ 注意事项**:摄像头调用(`getUserMedia`)在浏览器安全策略中要求必须处于 **localhost** 或 **HTTPS** 环境下。如果通过内网 IP 访问,请确保已配置 SSL 证书或在浏览器中开启不安全来源权限。 --- ## 📦 部署指南 (Deployment) ### 静态资源构建 执行以下命令生成生产环境可用的静态文件: ```bash npm run build ``` 构建产物将保存在 `dist/` 目录下。 ### 部署方式建议 1. **内网静态托管**:直接将 `dist/` 文件夹内容拷贝到 Nginx, Apache 或 IIS 的静态资源目录下。 2. **云端快速部署**:支持一键部署至 Vercel, Netlify 或 GitHub Pages。 3. **内网映射建议**:若在局域网内演示,推荐使用 Nginx 配置简单的自签名证书,以保证摄像头权限在手机或平板端正常触发。 --- ## 🎮 核心功能介绍 ### 1. 实时动作追随 (Motion Following) 系统通过摄像头捕捉背景像素的变化。当您挥动手臂时,鱼群会识别为“引导”信号。该模块完全由 Canvas 计算,无需任何云端 API。 ### 2. 本地音学合成引擎 (Local Synth Engine) * **物理建模音效**:利用 Web Audio API 实时合成气泡、点击与波浪声。 * **离线语音助手**:调用系统级 SpeechSynthesis,无需联网即可进行中文语音播报。 ### 3. 群体智能仿真 (Swarm Intelligence) 基于优化的 **Boids 模型**。引入了非线性疏离力(1/dist²)和动态转向归一化,解决了鱼群在高速移动中坍缩重叠的问题。 --- ## 🛠 技术栈 * **Frontend**: React 19 + TypeScript * **Styling**: Tailwind CSS * **Motion**: Canvas 2D + Pixel Difference Algorithm * **Audio**: Web Audio API (FM/Subtractive Synthesis) * **Icons**: Lucide React