Repository navigation
Kinect v2: a depth stream for the game, depth views, preview and launcher choices - #231
Conversation
…iginal views, a preview and launcher choices A Kinect v2 now reaches the title the way a Kinect v1 does: as a skeleton and a depth image, so the title's own depth detectors (lean, crouch, jump, sides) read the player as on the console. Three depth views: Recompiled (a level virtual Kinect v1 placed where the player should stand, tuned by distance, height, follow and dead band), Simulated (the whole v2 view scaled into a v1's frame) and Original (the sensor's own). A real Kinect, v1 or v2, is read by those detectors and nothing stands in for them: the skeleton crouch/jump fallback, lean sensitivity, crouch depth and the calibration screen are removed for it. The webcam keeps its way. Also: the title's own NuiTransformSmooth smooths a real skeleton once; the Kinect preview window shows the chosen view (Recompiled's four pictures and a top-down diagram, the Simulated colour and depth); the launcher names its cameras Kinect (Xbox 360), Kinect v2 and Webcam, chooses the v2's depth view and tunes Recompiled in a folded Advanced settings section; menu cursor steadying and voice commands fold too; recordings of the depth images the game gets and tools to compare a v1 and a v2 offline (docs/kinect-sensor.md). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Thank you so much for your work on Kinect v2 (Xbox One) support, this is fantastic! I have a small request: please consider keeping/improving the calibration screen, and if possible add Arabic language support in the launcher. I am ready to test any build. I own all Kinect games for Xbox 360 and Xbox One, and I have Windows 11 drivers and Kinect SDK v1.8 / v2.0 fully installed. I hope you can work on other Kinect games in the future as well. Thanks again! Tamer from Cairo, Egypt |
…ot provide it through <cstdint>) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
I took the calibration screen out on purpose. The earlier approach simulated the Kinect v2 with a method that did not match what the game actually needs. After talking it over with the author, I chose to rewrite the Kinect v2 support from the ground up. It now gives the game a depth image the way a Kinect v1 does, so the game's own detectors read you as they would on the console, and it should work much closer to how it was meant to, without needing a calibration step. |
|
Thank you so much for the detailed explanation! Now I fully understand. Removing the calibration step and making it work like a real Kinect v1 on console sounds like a much better and more accurate approach. That is exactly what we needed. I appreciate you rewriting it from the ground up. I will wait for the final release and I am very happy to test it and give you feedback with my Kinect v2. Thanks again for your amazing work! Tamer |
|
Amazing work! Please consider supporting other Kinect games in the future too if you have time. Thank you! |
Kinect defaults after #231: steadying per camera, v2 view for old settings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@knuckleslee Thank you! This is in v0.10.22. Two follow-ups went in with it (#246): the menu cursor steadying is now kept per camera (webcam and Xbox 360 Kinect start at 8 mm, a Kinect v2 starts off), and a v2 standing in for an old camera=kinect setting gets your Recompiled view. A saved Picture setting now reads as off right away. |

Status
Merge test done: this branch merged into
main0.10.16 and run in a full game session (see Tested).mainhas since moved to 0.10.17; GitHub reports this PR as mergeable.This is a large change. It is meant as one PR because the launcher and the preview only make sense with the depth stream, but I am glad to split it if you prefer.
What it does
The game gets a depth image from a Kinect v2. A Kinect v2 now reaches the title the way a Kinect v1 does, as a skeleton and a depth image, so the title's own depth detectors (lean, crouch, jump, sides) read the player as on the console. There are three depth views, chosen in the launcher:
A real Kinect (v1 or v2) is read by the title's own detectors, and nothing stands in for them. Removed for it: the skeleton crouch/jump fallback, lean sensitivity, crouch depth and the calibration screen. The webcam keeps your way (its motion, calibration and Motion trace are unchanged). The title's own
NuiTransformSmoothsmooths a real skeleton once.Preview window. Shows the chosen view: Recompiled's four pictures and a top-down diagram with distance rulers, the Simulated colour and depth, the players' depth line, and the SDK it runs on (v1: 1.8, v2: 2.0).
Launcher. The cameras are named Kinect (Xbox 360), Kinect v2 and Webcam; the preview button sits in the camera row; the v2 depth view is a drop-down; Recompiled's tuning, the menu cursor steadying and your Motion trace switch are in a folded Advanced settings section; the voice section folds too. The menu cursor steadying now defaults to off (it was 8 mm): please say if you would rather keep your default and I will drop that line.
Recordings and tools. Record the depth images the game gets (
SFR_KINECT_RECORD), compute the game's depth features offline, and compare a Kinect v1 with a v2 (docs/kinect-sensor.md).How it was merged
I merged the current
main(0.10.16) into my branch and resolved the conflicts as follows: your present/resize handling replaces mine (I kept a retry for a refused resize); your Online connection test, Test options, Plume patches and Motion trace switch are kept. Your skeleton fallback for a real Kinect is dropped (see above); the Kinect lean/crouch/calibration settings are gone with it.Tests
Full build and
cteston top of the currentmain: 174 of 175 pass, 1 is skipped (nui_transform_smooth_sdkneeds the SDK), 1 fails here:native_presentation, which creates a 37x23 window and finds a different client width on this machine at 125% DPI. CI passes on this branch (Windows, Linux, macOS build check, Android), includingnative_presentationon Windows, so that failure is specific to my machine's DPI scaling.Game session
A full game session of this branch merged into
main0.10.16, from the launcher: the Kinect v1 and v2 paths, the preview, the launcher settings and the menus all worked as expected.Not verified
🤖 Generated with Claude Code