AeThex-Engine-Core/engine/modules/aethex_kinect/README.md

3.2 KiB

AeThex Kinect Module

Native AeThex Engine module for Kinect skeleton tracking and gesture detection.

Features

  • KinectBridge: Main node that receives OSC data from Python bridge
  • KinectSkeleton: 20-joint skeleton data with tracking states
  • KinectGestureDetector: Detects arms raised, push, swipe gestures

Setup

1. Build AeThex Engine with this module

cd engine
scons platform=windows target=editor

The module is automatically included via the modules system.

2. Run the Python Kinect Bridge

cd c:\Dev\aethex-kinect-bridge\python_bridge
py kinect_bridge.py --simulate   # Without hardware
py kinect_bridge.py              # With Kinect v1

3. Create a scene with KinectBridge

extends Node3D

var kinect: KinectBridge

func _ready():
    kinect = KinectBridge.new()
    add_child(kinect)
    
    kinect.skeleton_detected.connect(_on_skeleton_detected)
    kinect.gesture_received.connect(_on_gesture)
    kinect.identity_forged.connect(_on_identity_forged)
    
    kinect.set_mode(KinectBridge.MODE_FOUNDRY)
    kinect.start(9000)

func _on_skeleton_detected(detected: bool):
    print("Skeleton: ", "DETECTED" if detected else "LOST")

func _on_gesture(type: String, params: Dictionary):
    print("Gesture: %s %s" % [type, params])

func _on_identity_forged(signature: Dictionary):
    print("🔥 FORGED: ", signature)

API Reference

KinectBridge

Method Description
start(port: int) Start listening for OSC on port (default 9000)
stop() Stop the bridge
set_mode(mode) MODE_FOUNDRY or MODE_GAMEFORGE
get_skeleton() Returns KinectSkeleton
get_joint_position(id) Get Vector3 position of joint

Signals

Signal Parameters Description
skeleton_detected detected: bool Skeleton tracking state changed
joint_updated id, pos, state Joint position updated
gesture_received type, params Gesture detected
identity_forged signature Foundry identity forged
forge_progress progress: float Arms raised progress (0-1)

KinectSkeleton.JointID

JOINT_HIP_CENTER = 0
JOINT_SPINE = 1
JOINT_SHOULDER_CENTER = 2
JOINT_HEAD = 3
JOINT_SHOULDER_LEFT = 4
JOINT_ELBOW_LEFT = 5
JOINT_WRIST_LEFT = 6
JOINT_HAND_LEFT = 7
JOINT_SHOULDER_RIGHT = 8
JOINT_ELBOW_RIGHT = 9
JOINT_WRIST_RIGHT = 10
JOINT_HAND_RIGHT = 11
JOINT_HIP_LEFT = 12
JOINT_KNEE_LEFT = 13
JOINT_ANKLE_LEFT = 14
JOINT_FOOT_LEFT = 15
JOINT_HIP_RIGHT = 16
JOINT_KNEE_RIGHT = 17
JOINT_ANKLE_RIGHT = 18
JOINT_FOOT_RIGHT = 19

Foundry Onboarding

The Foundry mode generates unique identity signatures based on:

  • Movement patterns during onboarding
  • Hand positions at forge moment
  • Variance and rhythm of movement

Identity data includes:

  • seed: Deterministic seed for generative visuals
  • color_hue: Base color (0-1)
  • particle_density: Density modifier
  • movement_signature: Motion characteristic

GameForge Spatial IDE

In GameForge mode, gestures map to code navigation:

Gesture Action
Push (forward) Drill into code/function
Swipe left/right Close tab / navigate
Swipe up/down Scroll through code
Both arms raised Run code