{"id":29638325,"url":"https://github.com/qualisys/qtm-connect-for-maya","last_synced_at":"2025-07-21T19:07:28.465Z","repository":{"id":45332841,"uuid":"168309765","full_name":"qualisys/QTM-Connect-For-Maya","owner":"qualisys","description":"Stream skeleton, rigid bodies and marker data from QTM through the QTM real-time protocol.","archived":false,"fork":false,"pushed_at":"2025-04-07T06:56:25.000Z","size":113167,"stargazers_count":10,"open_issues_count":1,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-07T07:34:46.524Z","etag":null,"topics":["maya","maya-plugin","python","qtm","qualisys","real-time","realtime","skeleton"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qualisys.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-30T08:49:10.000Z","updated_at":"2025-04-07T06:56:24.000Z","dependencies_parsed_at":"2023-02-13T00:46:16.804Z","dependency_job_id":"0f0c0b04-bd8c-49de-97be-9969651d56ef","html_url":"https://github.com/qualisys/QTM-Connect-For-Maya","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/qualisys/QTM-Connect-For-Maya","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2FQTM-Connect-For-Maya","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2FQTM-Connect-For-Maya/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2FQTM-Connect-For-Maya/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2FQTM-Connect-For-Maya/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qualisys","download_url":"https://codeload.github.com/qualisys/QTM-Connect-For-Maya/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualisys%2FQTM-Connect-For-Maya/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266360155,"owners_count":23917356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["maya","maya-plugin","python","qtm","qualisys","real-time","realtime","skeleton"],"created_at":"2025-07-21T19:07:27.804Z","updated_at":"2025-07-21T19:07:28.449Z","avatar_url":"https://github.com/qualisys.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QTM Connect for Maya\n\nStream skeleton, rigid bodies and marker data from QTM through the QTM real-time protocol.\n\n![QTM Connect dialog screenshot](./assets/qtm_connect_maya_dialog.png \"QTM Connect dialog\")\n\n## Installation\nAutomatic\n1. Download the repo to your machine\n2. Go to `qtm_connect_maya\\installer` and run `install.bat`\n3. _Optional: In case you want to use a scene with QAvatar, open `QAvatar.mb` in folder `C:\\Users\\\u003cuser\u003e\\Documents\\maya\\projects\\qualisys-example`_\n\nManual\n1. Clone this repo to your machine.\n2. Rename the newly cloned directory to `qtm_connect_maya`.\n3. Edit your Maya.env file available in one of your Maya folders. Add the following line: `pythonpath=\u003cpath_to_qtm_connect_maya\u003e/..`.\n4. Start/restart Maya.\n5. In Maya, open the script editor and run the following Python code:  \n`import qtm_connect_maya;import qtm_connect_maya.mayaui;qtm_connect_maya.mayaui.install()`\n\n### Note on Maya versions\nMaya2022 uses Python3.7, earlier versions use Python2.7.  The main branch of the plugin has been updated to Python3.7.\nFor earlier vesions of Maya you must use the Python2.7 branch.\n\n## Streaming skeleton data\nTo stream skeleton data you must first define a skeleton in QTM. Do this by clicking the `Calibrate skeleton` button in QTM.\n\n1. Ensure that the real-time server in QTM is streaming data. See [Streaming data from QTM](#streaming-data-from-qtm)\n2. In Maya's `QTM_Connect` shelf, click on the QTM Connect icon to open the dialog.\n3. Enter the hostname of your QTM machine and click `Connect`.\n4. Click `Stream from QTM` to start streaming skeleton data.\n\n### T-Pose\nYou can go to the T-pose of your skeleton by selecting the respective\nskeleton in the list and clicking the `Go to T-Pose` button.\n\n### HumanIK\nThe naming convention used by the joints is recognized by HumanIK. To\nautomatically map joints to a HumanIK character definition you need to charcaterize your skeleton.\nTo do so, go to the HumanIk pane, click on 'Create Character Definition', click on one of the joints of your skeleton (in the 3D view), load the `HIK`\ntemplate (folder icon in the HumanIK pane) and enter the skeleton prefix to only focus on the bones of your skeleton (useful if more than one skeletons are streamed).\n![HumanIK pane screenshot](./assets/HumanIK_pane.png \"HumanIK pane\")\n\n## Streaming marker data\n1. Ensure that the real-time server in QTM is streaming data. See [Streaming data from QTM](#streaming-data-from-qtm).\n2. In the `QTM_Connect` shelf, click on the QTM Connect icon to open the dialog.\n3. Enter the hostname of your QTM machine and click `Connect`.\n4. Check the `Markers` checkbox to enable marker streaming.\n4. Click `Stream from QTM` to start streaming marker data.\n\n### Grouping markers\nIf you have a large number markers it can be useful to group them. For each\ngroup you create a transform node will be created to which the markers will\nbe parented to.\n\n1. Enter the name of the group.\n2. Select the markers you want to group in the marker list.\n3. Click the `Group` button.\n\n## Streaming rigid body data\nTo stream rigid bodies you must first define rigid bodies in QTM. See [Defining rigid bodies in QTM](#defining-rigid-bodies-in-qtm).\n\n1. Ensure that the real-time server in QTM is streaming data. See [Streaming data from QTM](#streaming-data-from-qtm).\n2. In the `QTM_Connect` shelf, click on the QTM Connect icon to open the dialog.\n3. Enter the hostname of your QTM machine and click `Connect`.\n4. Check the `Rigid bodies` checkbox to enable rigid body streaming.\n4. Click `Stream from QTM` to start streaming rigid body data.\n\n## Streaming data from QTM\n\n###  Live streaming\nIn QTM:\n\n1. Go to `Project Options` \u003e `Processing` \u003e `Real-time actions`, to ensure that\nreal-time processing is enabled.\n2. Go to `File` \u003e `New` to start streaming live data.\n\n### Streaming using pre-recorded file\nIn QTM:\n\n1. Open the file you want to stream.\n2. Go to `Play` \u003e `Play with Real-Time Output`\n\n## Defining rigid bodies in QTM\nIn QTM:\n\n1. Select three or more markers that make up a rigid body.\n2. Open the context menu by right clicking and run `Define rigid body (6DOF)` \u003e `Current Frame` / `Average of frame`.\n\nRigid bodies can also be edited in `Project Options` \u003e `Processing` \u003e `6DOF Tracking`.\n\n## Update Qualisys Python SDK:\nIn terminal, run:\n\n`git subtree pull --prefix modules/qualisys_python_sdk https://github.com/qualisys/qualisys_python_sdk.git \u003cbranch/commit\u003e --squash`\n\nwhere `\u003cbranch/commit\u003e` is either a specific branch, or a commit hash.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualisys%2Fqtm-connect-for-maya","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqualisys%2Fqtm-connect-for-maya","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualisys%2Fqtm-connect-for-maya/lists"}