This package simulates a simple forward from a GUI input console
and scripts that implement scene changes in .ma
and .mb
files using
Autodesk Maya's Python interpreter.
Python 2.7.(>=11), Autodesk Maya 2017, Autodesk Maya's Python interpreter
needs to be in $PATH
.
The package has been developed under Ubuntu 16.04 and partially tested under
MacOS, though without the link to Autodesk Maya -- my old MacBook does not meet
Maya 2017's system requirements. It should work under Windows -- paths are
ensured to be OS-specific, system calls are all with shell=False
, etc. --
but without any warranty since I was unable to test it under Windows.
Make sure that the true location of mayapy(.exe)
-- Autodesk Maya's Python
interpreter -- is in your system $PATH! On MacOS and Linux, it is found
under /usr/autodesk/maya2017/bin/
. Symlinking it e. g. /usr/local/bin
can sometimes break its ability to import required modules provided by Autodesk.
The only modules that actually use mayapy
are the ones in the
Renderers/render__<GESTURE>
family. Since they are only accessed by
Renderers/RPreprocessor
, an alternative would be to hardcode mayapy's
location there.
With these prerequisites, all you need to do is extract the package into a place of your choosing. It does not need to be on Python's path unless you want to access it from outside. Relative import within the package has been tested to work (at least under Linux and Mac).
The nexus of the package is the module Checker.py
, which interacts with the
GUI and sends the result to Maya. From inside its directory, it can be called
from the command line with the following call:
$ python Checker.py <path/to/input/file> <path/to/file/to/modify>
The package supplies a sample input file named input_sentences.txt
and a simple
Maya scene that can be modified, included with the relevant scripts in Renderers
as Head_Model.ma
. Using different input files with different naming and subdivision
conventions will require adjusting the mayapy-scripts since they currently grab
nodes by name.
The input file is expected to be a text file with each German sentence and its
translation into sign language glosses sharing a line, separated with a TAB. Note that in the
current implementation, the modified scenes are stored in the package's subdirectory
corrected_scenes
irrespective of their origin!
The only implemented GESTURES at the moment are "NOD", linked to the GLOSS "CONFIRM",
and "RAISE_HEAD", linked to "YES". To see an effect, after calling Checker.py
, submit
once with and once without changing the gloss from "CONFIRM" to "YES", and compare the
output files.
The interface is meant for sign language experts, you can quality check and correct the output of the machine translation system at SiMAX.
The Interface allows users to:
-
Change the suggested word orders by klicking on the buttons marked
=>
/<=
below and above the bold Glosses. -
Exchange suggested glosses against other registered glosses
-
Suggest additions of missing glosses to the database
-
View an extended context beyond the current sentence in a pop-up
It does not allow to add or remove words, however, if the most natural sign language translation is shorter or longer than the one the MT system suggests.
The interface to Autodesk Maya allows (simple) scene changes (currently
implemented: changing the inclination of a head in a sample scene via
render__NOD
and render__RAISE_HEAD
, the only gestures actually implemented.
It does so by grabbing the nodes identifying the head and its subparts by their name and then rotating them all around the origin.
When fed an unimplemented gesture, the system currently graciously skips it.
All transformations that are sent to Maya are logged in the directory logs
, one
line per transformation, one file per day.
User requests for improvements and additions are logged separately in
requested_additions
All Maya files were created with a free student version of Autodesk Maya and are for non-commercial use only.
The file Head_Model.ma
is from here:
in what I hope constitutes fair use. I found it through the author's very helpfull
Youtube channel.
This guide was
very helpful to get Maya Autodesk successfully installed under Debian/Ubuntu.