mamonet GitHub avatar

wiimote-motion-display

mamonet

一个 C#/.NET 交互式显示器,通过蓝牙 HID 连接真实的 Wii Remote,实时将动作、指向和手势映射到 MonoGame 画布上。

Stars

5

7 天增长

暂无数据

Fork 数

1

开放 Issue

0

开源协议

暂无数据

最近更新

2026-07-28

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它提供了可插拔的输入抽象层 (IMotionSource),使画布不依赖特定传感器;并采用 One Euro 滤波器实现指针稳定性、谨慎保留振动马达状态,以及非阻塞的读取循环。

适合谁使用

  • 开发运动控制交互显示器的 MonoGame/XNA 开发者
  • 探索使用真实硬件作为替代输入的游戏开发者
  • 希望将 Wii Remote 用于交互项目的爱好者
  • 移植旧版 Kinect/XNA 运动控制显示器的开发者

典型使用场景

  • 基于手势驱动的交互式艺术装置
  • 利用运动和指向输入的教育演示
  • 带有物理控制器反馈(振动、LED)的游戏原型制作
  • 面向桌面应用的手势用户界面

项目优势

  • 可插拔的 IMotionSource 抽象层允许在不修改画布代码的情况下切换传感器
  • One Euro 滤波器保持指针稳定性,无需在静止和响应之间取舍
  • 所有输出报告均保留振动马达状态,避免意外关闭或开启
  • HID 读取在专用线程上执行且无内存分配,保证渲染循环流畅

使用前须知

  • 仅支持 Windows:蓝牙 HID 配对和构建步骤需在 Windows 上运行
  • 状态列表中所有功能均为未勾选状态,表明实现可能不完整或仅为设计大纲
  • 需要真实的 Wii Remote 和红外感应条,未提供模拟器或替代控制器

README 快速开始

wiimote-motion-display

A C#/.NET interactive display driven by a real Wii Remote over Bluetooth: motion, pointing, and gestures mapped to an on-screen canvas in real time.

A gaming motion controller is a cheap, precise, and genuinely fun way to drive an interactive display, but the value is in the plumbing: reading the controller over Bluetooth HID, turning noisy accelerometer and infrared data into stable pointing, motion, and gestures, and mapping that onto something on screen without lag. wiimote-motion-display does that end to end. A Wii Remote connects over Bluetooth HID; its accelerometer, IR camera, and buttons drive a pointer, tilt and motion, and recognized gestures on an interactive canvas built with MonoGame.

Scope note: the input layer is pluggable, with the Wii Remote as the reference device. The canvas is built on MonoGame, the open-source continuation of the XNA Framework, so the programming model is the same one legacy Kinect/XNA projects use, and porting the render side to XNA on Visual Studio is direct. This is my own hardware, built and tested for real.


How it works

flowchart LR
    W[Wii Remote] -- Bluetooth HID --> R[HID report reader\naccel, IR, buttons]
    R --> F[Fusion\norientation, pointer, gesture]
    F --> M[Mapping]
    M --> C[MonoGame canvas\npointer / motion / gesture actions]
    C -- rumble / LEDs --> W
  • Bluetooth HID. Pairs the Wii Remote and reads its HID report stream: buttons, the 3-axis accelerometer, and the IR camera's tracked points. No vendor SDK, just the HID protocol.
  • Pointer. Computes an on-screen pointer from the IR camera and sensor bar (or any IR sources), with smoothing so it sits still when your hand does.
  • Motion and orientation. Derives tilt and motion from the accelerometer (and the MotionPlus gyro if the remote has one).
  • Gestures. Recognizes flicks, swings, shakes, and holds from accelerometer patterns.
  • Interactive display. A MonoGame canvas responds to the pointer, motion, and gestures in real time: move and throw objects, draw, and trigger actions, with rumble and LED feedback.

Why it maps to Kinect/XNA work

The hard parts of a movement-controlled display are the same whatever the sensor: read a noisy real-time input, turn it into stable motion and gestures, and drive a responsive display. This project does

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

loyal-studio
loyal-studio GitHub avatar

Honami-Animation-System

Honami is a visual, UI-first animation system for Unity 6 that replaces Mecanim with timeline editors, node graphs, and a zero-allocation runtime, letting animators author animations with almost no code.

C#
239
aakk007
aakk007 GitHub avatar

RogueCleaner

A Windows tool that detects and removes malicious leftovers from right-click menus, startup items, services, scheduled tasks, browser extensions, and file associations.

C#
212
ThioJoe
ThioJoe GitHub avatar

Thio-Background-App-Notifier

A lightweight Windows tool that notifies you about new auto-starting background services and scheduled tasks that Windows normally doesn't alert you about.

C#
147