This repository packages Unity-side Kimodo integration plus a new offline bridge runtime template (NvlabKimodoQuickServer~) for local motion generation.
It contains two coupled parts:
- Unity integration (
Runtime/,Editor/,TimelineInject/)
- Timeline clip/editor workflow (
KimodoPlayableClip). - Constraint marker tooling under Timeline.
- Bridge generation backend that launches and talks to a local Kimodo server.
- Project settings panel:
Project/Kimodo Server Manager.
- Runtime template (
NvlabKimodoQuickServer~)
- Environment setup scripts.
- Model download/update scripts.
- Bridge startup scripts.
- End-to-end TCP example scripts.
Only the new pipeline is supported:
- Setup:
bash\setup.bat - Download models:
bash\download_model.bat - Start server:
run_server.bat(or wrapperbash\start_server.bat) - Example test:
example\example_run_server_tpose.bat
Legacy offline scripts are not part of the supported startup path.
Runtime template path:
C:\nvlab\KimodoUnityBridge\NvlabKimodoQuickServer~
Typical sequence:
cd /d C:\nvlab\KimodoUnityBridge\NvlabKimodoQuickServer~
bash\setup.bat --output console
run_server.bat --model Kimodo-SOMA-RP-v1 --output consoleOr run the end-to-end example:
cd /d C:\nvlab\KimodoUnityBridge\NvlabKimodoQuickServer~
example\example_run_server_tpose.batUnity bridge runtime behavior:
- Runtime root is
NvlabKimodoQuickServerin Unity project root. - If missing, it is bootstrapped from package template
NvlabKimodoQuickServer~. - Start script resolution uses new pipeline only:
run_server.batbash\start_server.batbash\start_server.sh
- If a legacy start/setup script is detected in runtime root, code throws an exception.
Bridge server module:
kimodo.bridge.bridge_server
Transport:
- TCP socket
- newline-delimited JSON request/response
Commands:
{"cmd":"ping"}->pong/loading/error{"cmd":"generate", ...}->donewithmotion_json_compacton success{"cmd":"quit"}->bye
Unity clip fields (Bridge mode):
bridgeModelNamebridgeVramMode(Low/High)
Runtime start parameters (new pipeline):
--model <MODEL_NAME>--highvram--output console|file--log <path>--force-setup
Model aliases accepted by runtime scripts include soma, g1, smplx, soma-seed.
Under runtime root (NvlabKimodoQuickServer or template root while testing):
.setup_new.lock.setup.completeserverportlog\setup.loglog\download_model.loglog\run_server.log
For automation agents:
- Prefer invoking:
bash\setup.batrun_server.batexample\example_run_server_tpose.bat
- Treat
serverportas source-of-truth endpoint. - Protocol flow:
- ping until ready/loading resolves -> generate -> quit.