explaingit

denjino/horizon-view

16TypeScriptAudience · generalComplexity · 2/5Setup · moderate

TLDR

Horizon View is a Windows app that uses a regular webcam to track your head movements and pan the cockpit camera in Forza Horizon, giving you a VR-like look-around experience without a VR headset or any special hardware.

Mindmap

mindmap
  root((Horizon View))
    What it does
      Webcam head tracking
      Camera pan in Forza
      Replaces OpenTrack setup
    Setup wizard
      Camera selection
      5-point calibration
      Home key toggle
    Tuning settings
      Sensitivity
      Smoothing
      Response curve
      Center deadzone
      Pan multipliers
    Tech stack
      Tauri Rust backend
      React TypeScript
      MediaPipe face detection
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up head-tracking in Forza Horizon cockpit view using only a webcam, without buying a VR headset or TrackIR device.

USE CASE 2

Replace a three-tool OpenTrack, AITrack, and AutoHotKey setup with a single calibrated application.

USE CASE 3

Fine-tune sensitivity, smoothing, and response curves to control exactly how much head movement translates to camera panning.

Tech stack

TypeScriptReactRustTauriMediaPipe

Getting it running

Difficulty · moderate Time to first run · 30min

Windows only, the installer is unsigned so Windows SmartScreen will display a warning on first run that you must click through.

In plain English

Horizon View is a Windows application that uses a regular webcam to track your head movements and pan the cockpit camera in Forza Horizon accordingly. When you turn your head left or right, the in-game view follows, similar to how a VR headset works but without any special hardware. It is aimed at players using an ultrawide monitor in cockpit view who want to glance at a mirror or turn into a corner without pressing a button. The application replaces a common multi-tool setup (OpenTrack, AITrack, and AutoHotKey) with a single calibrated program. A setup wizard walks you through granting webcam access, picking your camera, and completing a five-point calibration where you look at dots in sequence to teach the app your natural head-movement range. Once set up, you press the Home key to start tracking and press it again to stop. A floating overlay accessible via F1 lets you adjust settings while driving. The settings you can tune include overall sensitivity, a smoothing level that trades responsiveness for stability, a response curve that controls how head angle maps to camera movement, a center deadzone that stops micro-jitter when looking straight ahead, and independent left and right pan multipliers so you can compensate for sitting off-center in the car. Face detection runs locally using a library called MediaPipe. Nothing is sent over the network: no telemetry, no account required. If the camera loses your face, it re-centers the camera and waits until it can see you again. The app is built with Tauri (a framework that uses a Rust backend and a web-based frontend) together with React and TypeScript. It is currently Windows only, and the installer is unsigned, so Windows will show a SmartScreen warning on first run. The README explains how to proceed past that warning.

Copy-paste prompts

Prompt 1
I want to set up Horizon View for Forza Horizon on an ultrawide monitor. Walk me through the calibration wizard steps and explain what each sensitivity setting controls.
Prompt 2
I'm building a similar head-tracking app for another racing game using Tauri and MediaPipe. Show me how Horizon View reads webcam frames and maps head angle to a controller axis.
Prompt 3
I sit off-center in my cockpit in Forza. How do I use Horizon View's left and right pan multipliers to compensate so looking left feels the same distance as looking right?
Open on GitHub → Explain another repo

← denjino on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.