Buscar..


Observaciones

Esta documentación cubre la codificación de Autodesk Maya . No es la intención de los usuarios finales del software Maya. (Para saber cómo modelar o animar en Maya, pruebe los videos introductorios de Autodesk o un sitio de usuario final como CGSociety ).

Idiomas

Maya admite 3 lenguajes de programación: MEL, su lenguaje de secuencias de comandos incorporado; C ++, que se utiliza para complementos; y Python, que es común para los trabajos de integración, pero también puede crear complementos utilizando una versión envuelta de la API de C ++

Instalación

Maya soporta 3 entornos de programación principales. Cada uno tiene diferentes requisitos de configuración.

MEL

El lenguaje de scripting MEL se incluye con la aplicación Maya. Habilitado de forma predeterminada, los usuarios pueden probar MEL en la ventana de escucha del script en una copia en ejecución de Maya.

Los archivos MEL son archivos de texto con la extensión .mel . Se pueden cargar en una sesión Maya en ejecución usando el comando source en el escucha o en otro script MEL. Maya mantiene una lista de directorios de origen y buscará un script MEL solicitado en todos los directorios hasta que encuentre un archivo con el nombre apropiado.

Hay varios métodos para configurar la ruta del script; Consulte la documentación de Autodesk para más detalles.

Pitón

Maya incluye un intérprete Python incrustado. Los comandos MEL están disponibles desde Python en el módulo maya.cmds Python, por lo que un comando como polyCube -n "new_cube" está disponible en Python como maya.cmds.polyCube(n='new_cube') . La ventana de escucha incluye una pestaña de Python que permite a los usuarios ingresar comandos de Python de forma interactiva.

Maya Python puede importar módulos usando la directiva de import Python. Maya buscará archivos de Python en varias ubicaciones, configuradas en la aplicación Maya, usando una variable de entorno o un archivo maya.env . La documentación de Autodesk cubre los aspectos básicos de la colocación de archivos de Python donde Maya puede verlos e importarlos.

C ++

Maya expone su API a C ++ . Los desarrolladores pueden compilar complementos que Maya reconocerá en el inicio.

El desarrollo de complementos de C ++ para Maya requiere el Maya Devkit . Descargue la versión adecuada para su plataforma y siga las instrucciones incluidas para configurar el entorno de compilación.

Ejemplo de Python simple

Abra el oyente Maya con el botón en la esquina inferior derecha de la línea de ayuda. Esto abre la escucha del script.

Crea una pestaña de Python desde la barra de pestañas.

Aquí hay un script muy básico que imprimirá las posiciones de las cámaras en una escena predeterminada. Ingrese esto en el oyente:

import maya.cmds as cmds          
cameras = cmds.ls(type ='camera')  
for each_camera in cameras:
    parent = cmds.listRelatives(each_camera, parent=True)
    position = cmds.xform(parent, q=True, translation=True)
    print each_camera, "is at", position

Seleccione el script y ejecútelo con CTRL+enter ;

Aquí hay otro ejemplo simple que genera una colección aleatoria de cubos. Utiliza el módulo random python para generar valores aleatorios.

import maya.cmds as cmds
import random
         
for n in range(25):
    cube, cubeShape = cmds.polyCube()
    x = random.randrange(-50, 50)
    y = random.randrange(-50, 50)
    z = random.randrange(-50, 50)
    cmds.xform(cube, t = (x,y,z))

Hola Mundo

Imprimiendo "hola mundo" en varios idiomas en Maya en la consola (Script Editor).

MEL

En una pestaña MEL en el Editor de secuencias de comandos, o en la barra de línea de comando, seleccionando MEL:

print ("hello world");

Y pulsa play en el editor de scripts o introduce la tecla en la línea de comandos.

PITÓN

En una pestaña de Python en el Editor de secuencias de comandos, o en la barra de línea de comando, seleccionando Python:

print "hello world"

Y pulsa play en el editor de scripts o introduce la tecla en la línea de comandos.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow