Skip to content

Repository files navigation

OpenUSD Live Control

Real-time Maya / USD scene control from the command line. A small socket bridge runs inside Maya; send_cmd.py sends JSON commands and the viewport updates instantly.

Screenshots

CLI commands Architecture
CLI send_cmd demo System architecture

Live viewport demo — colored boxes driven by send_cmd-style updates

Viewport image is a demo scene matching the add_cube / set_color / set_pose workflow (no private project assets).

Quick start

Requirements: Maya 2026 (or compatible), MayaUSD, Windows 10/11.

1. Launch Maya (from this repo):

scripts\run_maya.bat

2. Load the bridge in Maya Script Editor (Python tab):

exec(open(r'C:\path\to\openusd-live-control\tools\maya_bridge.py').read())

You should see Listening on 127.0.0.1:8765.

3. Send commands from a terminal (use your clone path):

cd C:\path\to\openusd-live-control
call scripts\env_maya.bat
python scripts\send_cmd.py add_cube /World/Box 2
python scripts\send_cmd.py set_color Box red

Full walkthrough: 00_START_HERE.md

Architecture

flowchart LR
  CLI["scripts/send_cmd.py<br/>CLI + demos"] -->|JSON over TCP<br/>127.0.0.1:8765| Bridge["tools/maya_bridge.py<br/>in Maya"]
  Bridge --> MayaAPI["Maya cmds / MayaUSD"]
  MayaAPI --> VP[Viewport]
  MayaAPI --> USD[USD stage]
Loading

Features

  • Create and transform objects programmatically
  • Live color / material changes without manual refresh
  • Load USD assets and drive individual components
  • Import FBX characters and drive animation
  • Dynamic camera posing
  • Typical round-trip under ~50ms on localhost

Common commands

python scripts\send_cmd.py add_cube /World/Box 2
python scripts\send_cmd.py set_pose Box 5 0 0 0 90 0
python scripts\send_cmd.py set_color Box yellow
python scripts\send_cmd.py set_camera persp 10 10 10 -30 30 0
python scripts\send_cmd.py list_objects

See 02_COMMANDS.md for the full list.

Demo scripts

python scripts\test_complete_system.py
python scripts\box_color_change.py
python scripts\warehouse_box_scanner.py
python scripts\character_kitchen_walk.py

Documentation

File Purpose
00_START_HERE.md First-time setup
01_COMPLETE_GUIDE.md Full system docs
02_COMMANDS.md Command reference
03_TROUBLESHOOTING.md Common fixes
04_WAREHOUSE_PROJECT.md Warehouse USD control
05_CHARACTER_ANIMATION.md Character animation

Layout

scripts/     CLI, env helpers, demos
tools/       Maya bridge (runs inside Maya)
scenes/      USD assets
plugins/     Optional plugin helpers

Verify it works

  • Bridge logs: Listening on 127.0.0.1:8765
  • list_objects returns JSON with "ok": true
  • add_cube creates a visible box; set_color changes it in the viewport

About

Real-time 3D control system: Maya / OpenUSD via CLI to socket bridge to viewport

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages