Skip to content

倾斜与视差

星种倾斜视差 GIF

真实姿态,不牺牲像素清晰度

星种不是对整张 PNG 做亚像素变换,而是把 160×160 图像按水平带切分,每带做整数偏移与 shear。

板级坐标

实板 QMI8658 相对屏幕旋转了 90°,最终唯一映射为:

text
screen tilt X = -(sensor Y - neutral Y)
screen tilt Y = +(sensor X - neutral X)

旧实现直接使用 sensor X/Y,导致左右和前后方向错位。修正后四向轴隔离与 Waveshare Gravitysphere 示例一致。

采样管线

  1. 33 ms IMU 任务读取加速度/陀螺仪。
  2. 启动稳定窗口建立 neutral。
  3. 0.025 g 死区过滤桌面噪声。
  4. 0.55 g 映射为 1.0 满量程。
  5. 低通平滑后写入 lock-free/受控共享快照。
  6. 渲染任务读取归一化 X/Y,不在 UI 线程等待 I²C。

三档响应

档位最大 X/Y 位移shear适用
LOW3 / 2 px2轻微玻璃视差
MID6 / 4 px4默认平衡
HIGH10 / 7 px7明显体感与 STAR RUSH

所有最终位移取整数,750 个核心姿态由 clearance validator 检查,不允许星种 Alpha 与周边 UI 在任何 HIGH 采样重叠。

唤醒重校准

ambient 期间维护最近 5 个真实加速度样本。第一次触摸唤醒时立即冻结这份“触摸前姿态”为新 neutral,避免把手指 release 或随后动作采进校准;同一触摸事务仍完整吞掉。

网页模拟

网页 Demo 可以从 pointer 位置生成虚拟倾斜,便于冻结视觉;实体设备的 SIM/OFF 不伪造硬件输入,只有 AUTO 使用 QMI8658。