Úvod · Obsah · Kalibrace mapování kin3

Kalibrace mapování kin3

Obsah dokumentace · kin3 – přehled modelů · Provoz – bat soubory

Každý GLB model má jiné názvy kostí (např. Skeleton_arm_joint_L__4_ u CesiumMan, arm_joint_L_1 u RiggedFigure, Root u GreyFrog Skeleton, hips u KayKit). Kinect posílá vždy stejných 20 kloubů člověka. Kalibrace vizuálně přiřadí „který Kinect kloub řídí kterou kost modelu“ – bez ručního editování JSON.

Proč se po spuštění kalibrace nic nezobrazilo? Starší KinectKioskHost.exe nezná režim kin3-kalibrace a otevře prázdnou obrazovku. Aktuální bat soubory kalibraci spouštějí přes PHP server v prohlížeči – to je správný postup. Potřebujete mít nainstalované PHP (stejné jako pro dokumentaci na IIS).

Spuštění kalibrace

ÚčelSouborModel
Kalibrace CesiumMan (doporučeno jako první) app\start-kin3-kalibrace-cesiumman.bat cesiumman
Kalibrace RiggedFigure app\start-kin3-kalibrace-riggedfigure.bat riggedfigure
Kalibrace GreyFrog Skeleton app\start-kin3-kalibrace-greyfrogskeleton.bat greyfrogskeleton
Kalibrace KayKit Warrior app\start-kin3-kalibrace-kaykitwarrior.bat kaykitwarrior
Kalibrace KayKit Mage / Rogue / Minion app\start-kin3-kalibrace-kaykitmage.bat (obdobně rogue, minion) kaykitmage
Kalibrace libovolného humanoidního modelu app\start-kin3-kalibrace.bat id-modelu např. bodyblock, kaykitrogue

Příklad pro vlastní model zaregistrovaný v kin3-models.json:

app\start-kin3-kalibrace.bat muj-model

Co se stane po dvojkliku na bat:

  1. Spustí se Kinect360Bridge.exe (pokud ještě neběží).
  2. Na pozadí naběhne PHP server na http://127.0.0.1:8767.
  3. Výchozím prohlížečem se otevře kalibrační stránka s postranním panelem a 3D náhledem.
  4. Okno s černým textem (PHP server) nezavírejte – ukončí server. Zavřete ho až po kalibraci klávesou Ctrl+C.

Co uvidíte na obrazovce

  • Vlevo – panel nastavení: výběr modelu, kyčelní kost, seznam segmentů těla, orientace, tlačítka Uložit / Export.
  • Vpravo – 3D náhled: rigovaný model + zelená kostra (data z Kinectu v reálném čase).
  • Oranžová tečka – zvýrazněná kost modelu (tlačítko „Zvýraznit kost“).
  • Badge dole – stav Kinectu (připojen / demo / chyba).

Cíl kalibrace: zelená kostra (Kinect) a pohyb modelu mají sedět – když zvednete levou ruku, musí se hýbat levá paže modelu, ne noha.

Podrobný postup krok za krokem

  1. Ověřte, že kin1 kostra reaguje na váš pohyb (nebo zapněte "kin3_mock_mode": true pro demo bez senzoru).
  2. Spusťte bat kalibrace pro váš model (viz tabulka výše).
  3. V horní části panelu vyberte Model k kalibraci (CesiumMan, GreyFrog Skeleton, KayKit Warrior…). Každý model se kalibruje zvlášť.
  4. V poli Kyčelní kost modelu zvolte kost v oblasti pánve (u CesiumMan: Skeleton_torso_joint_1, u GreyFrog: Root, u KayKit: hips). Podle ní se vycentruje postava.
  5. Klikněte Navrhnout automaticky – systém předvyplní mapování podle názvů kostí. Vždy zkontrolujte ručně.
  6. Pro každý řádek v sekci Mapování segmentů:
    • Přečtěte popis (např. „Levá horní paže“) a pár Kinect kloubů (např. Levé rameno → Levý loket).
    • V rozbalovacím seznamu vyberte odpovídající kost z GLB modelu.
    • Klikněte Testovat jen tento segment – ověříte jen tuto část těla. Pohněte příslušnou končetinou před Kinectem.
    • Pokud se hýbe špatná část modelu, vyberte jinou kost ze seznamu.
  7. V části Orientace případně upravte:
    • Zrcadlit X – levá/pravá strana (když model reaguje opačně).
    • Obrátit Z – dopředu/dozadu (výchozí zapnuto).
    • Rotace modelu – otočení postavy čelem ke kameře.
    • Výška modelu – posun nahoru/dolů na obrazovce.
  8. Klikněte Uložit. Mapování se zapíše do souboru app\www\data\kin3-mappings\{model-id}.json a kin3 kiosk ho při startu načte.
  9. Zavřete okno PHP serveru (Ctrl+C v konzoli).
  10. Spusťte produkční režim: app\start-kin3-cesiumman.bat (nebo odpovídající model) a ověřte pohyb.

Je kalibrace pro jeden model, nebo pro všechny?

Každý humanoidní model zvlášť. CesiumMan, GreyFrog Skeleton a KayKit postavy mají různou kostru – každý potřebuje vlastní uložené mapování. Nový model přidaný do app\www\data\kin3-models.json kalibrujte příkazem app\start-kin3-kalibrace.bat vase-id. Postup registrace vlastního GLB (Mixamo, FBX): návod FBX → GLB. Skeleton packy z itch.io: návod stažení a nastavení. Uložený soubor bude app\www\data\kin3-mappings\vase-id.json.

ModelKinect řídí těloKalibrace potřeba?Spuštění kin3Spuštění kalibrace
CesiumMan Ano – humanoid Ano (doporučeno) app\start-kin3-cesiumman.bat app\start-kin3-kalibrace-cesiumman.bat
RiggedFigure Ano – humanoid Ano app\start-kin3-riggedfigure.bat app\start-kin3-kalibrace-riggedfigure.bat
RiggedSimple Ne – jen 2 kosti Ne app\start-kin3-riggedsimple.bat — (zobrazí se zelená Kinect kostra, model se nedeformuje)
Fox Ne – čtyřnožec Ne app\start-kin3-fox.bat — (běží vestavěná animace + volitelně kostra)
GreyFrog Skeleton Ano – humanoid Ano app\start-kin3-greyfrogskeleton.bat app\start-kin3-kalibrace-greyfrogskeleton.bat
KayKit Warrior Ano – humanoid Ano app\start-kin3-kaykitwarrior.bat app\start-kin3-kalibrace-kaykitwarrior.bat
KayKit Mage Ano – humanoid Ano app\start-kin3-kaykitmage.bat app\start-kin3-kalibrace-kaykitmage.bat
KayKit Rogue Ano – humanoid Ano app\start-kin3-kaykitrogue.bat app\start-kin3-kalibrace-kaykitrogue.bat
KayKit Minion Ano – humanoid Ano app\start-kin3-kaykitminion.bat app\start-kin3-kalibrace-kaykitminion.bat
Body Block (Mixamo) Ano – humanoid Ano app\start-kin3-bodyblock.bat app\start-kin3-kalibrace.bat bodyblock
TurboSquid Lowpoly Skeleton Ano – humanoid Ano (po vložení GLB) app\start-kin3-turbosquidskeleton.bat app\start-kin3-kalibrace-turbosquidskeleton.bat
Vlastní GLB postava Ano, pokud "humanoid": true Ano vlastní bat app\start-kin3-kalibrace.bat muj-model

V kalibrační stránce se v rozbalovacím seznamu zobrazují pouze modely s "humanoid": true (CesiumMan, RiggedFigure, GreyFrog Skeleton, KayKit postavy, Body Block a další vlastní postavy). RiggedSimple a Fox kalibraci nemají – Kinect lidské klouby na ně nelze rozumně mapovat.

Kde se nastavení ukládá

MístoSoubor / úložištěKdo to načte
Hlavní (doporučeno) app\www\data\kin3-mappings\cesiumman.json kin3 kiosk i kalibrace – po kliknutí Uložit
Záloha / přenos Stažený soubor z tlačítka Stáhnout JSON Ručně zkopírovat do složky kin3-mappings\
Výchozí tovární app\www\data\kin3-models.json → pole boneMap Pouze pokud neexistuje uložená kalibrace (tlačítko Výchozí)

Přehled segmentů těla (co mapovat)

Segment v kalibraciKinect klouby (od → do)
Krk / hlavaStřed ramen → Hlava
Levá horní pažeLevé rameno → Levý loket
Levá předloktíLevý loket → Levé zápěstí
Levá rukaLevé zápěstí → Levá ruka
Pravá horní pažePravé rameno → Pravý loket
Pravá předloktíPravý loket → Pravé zápěstí
Pravá rukaPravé zápěstí → Pravá ruka
Levé stehnoLevá kyčel → Levé koleno
Levé lýtkoLevé koleno → Levý kotník
Levá nohaLevý kotník → Levá chodidlo
Pravé stehno / lýtko / nohastejně pro pravou stranu
Spodní / horní trupvolitelné – jen pokud chcete naklánět trup

Řešení problémů kalibrace

ProblémŘešení
Po bat souboru se nic neotevře / černá obrazovkaPoužijte aktuální app\start-kin3-kalibrace-cesiumman.bat (PHP server). Zkontrolujte, že máte PHP – viz hláška v konzoli.
Chyba „PHP nenalezen“Nainstalujte PHP, nebo upravte cestu v app\_kin3-kalibrace.cmd (např. C:\Program Files\php-8.5.5\php.exe).
Stránka se nenačte (connection refused)Nezavřeli jste okno PHP serveru? Spusťte bat znovu a počkejte na otevření prohlížeče.
Zelená kostra se nehýbeKinect / bridge – nejdřív ověřte app\start-kin1.bat. Případně mock mode v kinect.json.
Ruka hýbe nohouŠpatné mapování kosti – použijte Testovat jen tento segment a vyberte jinou kost.
Kalibrace OK v prohlížeči, kin3 kiosk ignorujeZkontrolujte, že po Uložit existuje soubor app\www\data\kin3-mappings\{model}.json.
Model příliš nízko / vysokoPosuvník Výška modelu v kalibraci, pak znovu Uložit.

Po úspěšné kalibraci spouštějte kiosk přes app\start-kin3-cesiumman.bat (ne kalibrační bat). Kalibrace je jednorázové nastavení pro každý model; při výměně GLB postavy je nutné zopakovat. Další problémy Kinectu a kin3: Řešení problémů.