Add OpenPose_full renderer plugin for Maya

Maya API 2.0 plugin that maps a skeleton to OpenPose_full keypoints
(BODY_25 or COCO body, 21+21 hand, 70 face) via an openposeCharacter
node, with a live Viewport 2.0 draw override, an "OpenPose" viewport
renderer plus openposeRenderSequence for PNG output, and a PySide2
mapping editor. Face can also be driven procedurally from ARKit's 52
blendshape weights instead of facial joints, for rigs with no facial
skeleton. Includes VS Code debug configs and Maya test scenes/renders.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 08:41:57 +08:00
commit e2f2e6668a
23 changed files with 2999 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
"""Run this inside interactive Maya (Script Editor, Python tab) to enable
the "Maya: Attach (debugpy)" launch config in .vscode/launch.json.
One-time setup -- install debugpy into Maya's own Python environment
(adjust the path for your Maya version):
"C:\\Program Files\\Autodesk\\Maya2024\\bin\\mayapy.exe" -m pip install debugpy
Then, each Maya session, before attaching from VS Code:
exec(open(r"C:\\workspace\\PoseRenderer\\scripts\\start_debug_server.py").read())
Breakpoints hit in plug-ins/ or python/openpose_renderer/ (e.g. inside
draw_override.py's prepareForDraw, or a command's doIt) will then pause in
VS Code once you run "Maya: Attach (debugpy)".
"""
import debugpy
_ALREADY_LISTENING_ATTR = "_openpose_renderer_debugpy_listening"
if not getattr(debugpy, _ALREADY_LISTENING_ATTR, False):
debugpy.listen(("localhost", 5678))
setattr(debugpy, _ALREADY_LISTENING_ATTR, True)
print("[openpose_renderer] debugpy listening on localhost:5678 -- "
"run 'Maya: Attach (debugpy)' in VS Code to connect.")
else:
print("[openpose_renderer] debugpy already listening on localhost:5678.")