Acerca de MAYA, software 3D.
Maya tiene MEL y 3D tiene maxscript
MEL (lenguaje integrado de Maya) proporciona la base para Maya. Casi todos los aspectos de la interfaz Maya se basan en comandos y scripts MEL. Dado que Maya brinda acceso completo a MEL, puede ampliar y personalizar Maya. Con MEL, puede desarrollar aún más Maya para convertirla en un entorno único e innovador para usted y sus proyectos.
Para utilizar Maya de forma eficaz, no es necesario dominar MEL. Sin embargo, la familiaridad con MEL puede profundizar su capacidad profesional en el uso de Maya. Muchos aspectos del uso de MEL pueden ser utilizados por personas con poca o ninguna experiencia en programación. No es necesario que te guste la programación para que te guste MEL. Hay formas de obtener los beneficios de MEL sin tener que preocuparse por los detalles de la programación. Una vez que pruebe el lenguaje de programación MEL, descubrirá que MEL puede proporcionarle los métodos de dibujo digital más avanzados imaginables.
Para obtener resultados Maya, la mayor parte se puede hacer usando MEL. A continuación se muestran algunos ejemplos de lo que puede hacer con MEL:
Utilice los comandos MEL para romper con la interfaz de usuario de Maya, generar rápidamente teclas de acceso rápido y acceder a puntos más profundos.
·Ingrese valores precisos para los atributos, rompiendo con las rígidas restricciones impuestas por la interfaz.
·Personaliza la interfaz para escenarios específicos y cambia la configuración predeterminada para un proyecto específico.
·Generar programas MEL y programas script que realicen tareas de modelado, animación, dinámica y renderizado del usuario.
El lenguaje mel es el lenguaje de programación propio de Maya. Mel es la base de Maya y es algo de nivel relativamente bajo. Si tienes algunos conocimientos básicos de programación, podrás dominarlos fácilmente. Podemos ver que, excepto los complementos de Maya (muchos componentes dentro de Maya también existen en forma de complementos), todas las operaciones pueden corresponderse con el lenguaje mel correspondiente en la ventana del editor de scripts. Por ejemplo: cree una esfera poligonal regular, abra ventanas-->Editores generales-->Editor de secuencias de comandos, puede ver: polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -tx 2 -ch 1;; El significado de la oración es crear una esfera poligonal (polySphere) con un radio de 1 (-r 1), segmentos en los ejes x e y de 20 (-sx 20 -sy 20) y la dirección axial es Y- eje hacia arriba (-ax 0 1 0), el modo de visualización es un mapa irregular (-tx 2) y tiene un registro histórico (-ch 1). Consulte la entrada de PolySphere en la ayuda.
La mejor manera es comprar un libro y aprenderlo usted mismo. Puede consultar la "Guía de programación de scripts MEL de Maya Animator" (la he leído antes y puede comenzar rápidamente).
Adjunto algunas notas de mis estudios anteriores, con la esperanza de poder brindarle ayuda:
1. Obtenga una lista de todos los objetos seleccionados y guárdelos en una matriz: "string $sel [] = `ls -sl`;"
2. Puedes usar "=" directamente para asignar u obtener valores a las propiedades del objeto en la expresión; en mel, esto debe lograrse a través de getAttr y setAttr El método es relativamente ineficiente
3. "==" se usa para determinar si son iguales "!=" no es igual
4. Defina variables; : "float $rotation_value;"
5. Agregar atributos al objeto: Ventana-->Editor de atributos-->Agregar atributo
6. Vectores en expresiones matemáticas: usted puede asignar un valor a una única puntuación en el vector, por ejemplo: $abc.x=3 pero no puede asignar valores como este: $abc=<<$abc.x,1,1>>
7. Operaciones vectoriales (los puntos en Maya se almacenan en vectores, por lo que los vectores son más importantes al posicionar): Resta de vectores: representa la dirección y distancia requerida para que un vector se mueva de un punto a otro, y los puntos sustraendos al minuendo
8. Operaciones vectoriales: unidad (formato)/unidad($vectoer1); mag (longitud)/mag($vectoer1); ángulo (ángulo, sistema en radianes, si desea obtener el ángulo, multiplíquelo por 180/pi, la dirección es en sentido contrario a las agujas del reloj)/ángulo ($vector1l,$vector2);cruz (producto cruzado, ortogonal a los dos vectores, es decir, el tercer vector vertical, su longitud es: operación de punto) /cross($vector1l,$vector2);dot(=mag( $vector1)*mag($vector2)*cos(angle($vector1,$vector2)))/($vector1l,$vector2);rot (rotar un vector por un cierto ángulo alrededor del eje definido por otro vector )/rot($vector1,$vector_axis,$grados)
9. Comprueba si dos vectores son paralelos o perpendiculares: dot(unit($vector1) ,unit($vector2)), si =0, entonces Vertical; si =1, entonces paralelo
10. En el lenguaje mel, los valores de los atributos no se pueden asignar a variables y deben obtenerse en el siguiente formato: $val=`getAttr expresión1.time`;
11. Atributos de conexión: connectAttr atributo 1 atributo 2
12. Crear expresión: express -string "atributo 1=valor ";; adecuado para asignación de atributos en mel
13. Variables: variables de matriz/$t={1,2,3}; declarar variables/int $t;
14 Variables globales: Maya requiere que se utilicen variables globales en cada dominio. Vuelva a declarar la variable, como por ejemplo:
global int $a=1
proc print_a(){ <. /p>
global int $a;
imprimir($a);
}
print_a(); 15. Convierte un número entero en un número de punto flotante: float(3); ; Convierte un número de punto flotante en un número entero: int(3.7), el resultado se redondea hacia abajo = 3
16. Operación de comparación aritmética: imprimir (5>6); El resultado es: 0 o 1
17. Operadores: +,-,*,/,%,+=,-=,*=,/=,++,- -,&&,||,!
18. Obtener el entero adyacente más grande: ceil($f);
:floor($f)
19. Vector en mel: No puedes asignar directamente un valor a un componente del vector, como por ejemplo: $abc.x=3 debes asignar el valor así: $abc=< <$abc.x,1,1>>
20. Separar cadenas: tokenizar "string1" $myarray el resultado será dividir la cadena con espacios en blanco y almacenarla en el; array ;Además: tokenize "string1" "char" $myarray; dividirá la cadena con char y la almacenará en la matriz
21. Todos los elementos no asignados en la matriz tienen el valor predeterminado 0 p>
22. Tamaño de la matriz: size($myarray)
23. Si necesita usar una matriz muy grande en el script, use el comando clear en mel para borrar la matriz al final: clear $myarray
24. Selección de modo: -c marca o marca no aplicable seleccionará el modo de creación; -q selecciona el modo de consulta; -e selecciona el modo de edición
Por ejemplo: esfera -q - radio nurbsSphere1 Devuelve el radio
esfera -e -radius 15 nurbsSphere1 Modifica el radio
25. Cuando quieras almacenar el valor de retorno de un comando, puedes poner el comando entre comillas invertidas en el lado derecho de la operación de asignación (``) en. Por ejemplo: string $coneNodeNames[]=`cone -name testing2`
26. Utilice el comando eval: string $spherecommand="sphere"; string $nodennames[]=eval($spherecommand); Al crear una esfera, almacene el valor de retorno del comando de esfera en la matriz $nodenames
27. Hay tres formas de ejecutar el comando mel en el script: (1) Si no le importa el valor de retorno, ejecútelo de forma independiente como una línea separada de declaraciones (2) Si desea almacenar el valor de retorno en una variable, colóquelo entre comillas invertidas (3) Si desea construir un comando en una cadena y ejecutarlo; Utilice el comando de función de evaluación.
******************************
MAXscript es el software integrado Lenguaje de scripting de 3ds Max, funciones agregadas en Max2.0 y posteriores. También se puede utilizar en productos relacionados con 3ds Max como Autodesk VIZ, Character Studio, Plasma y GMax. El script se puede utilizar para modelado, animación, materiales, renderizado, etc. Está especialmente diseñado para 3D Studio Max.
Qué hace:
Utiliza una interfaz abierta para personalizar y crear secuencias de comandos de 3ds Max.
La mayoría de funciones de 3ds Max se pueden llamar mediante scripts.
Los artistas y desarrolladores pueden ampliar fácilmente la interfaz de usuario y la automatización para realizar el procesamiento por lotes.
Los usuarios pueden establecer interfaces en tiempo real con sistemas externos a través de OLE Automation.
MAXScript ProEditor proporciona a los usuarios una interfaz inteligente para trabajar con MAXScript, simplificando los flujos de trabajo de secuencias de comandos.
Se puede decir que casi todas las funciones de Max se pueden reescribir mediante scripts (excepto algunas funciones), y se pueden realizar operaciones que no se pueden realizar con el mouse y el teclado.
. Muchos guiones populares ejemplifican esto.
[Editar este párrafo] MAXScript Listener Script Listener
Una herramienta importante para escribir guiones, el método de apertura es el siguiente:
Haga clic derecho en el mini oyente para abrir
Haga clic en el "martillo" en el panel de comandos
Luego haga clic en MAXScript y aparecerá
Luego haga clic en Abrir oyente
Después de abrir, aparecerá la interfaz de bienvenida del detector de scripts:
El detector de scripts puede ejecutar declaraciones MAXScript en tiempo real, un poco como una ventana de comandos de DOS. Puede ingresar comandos y luego usar Enter. en el teclado pequeño
Implementar inmediatamente.
Mini Listener
Hay un mini escucha en la esquina inferior izquierda de la interfaz MAX. Es una versión en miniatura de MAXScript Listener. Solo muestra el cursor en MAXScript cada vez.
Esa línea en Listener
Hablemos de las opciones de MAXScript en la barra de menú:
New Script abre un compilador de scripts para escribir scripts, que se pueden guardar. y ejecutado. , la futura escritura del script se realizará aquí
. También se puede abrir con ese "martillo".
Abrir secuencia de comandos... Abre un cuadro de diálogo de selección de secuencia de comandos. Aquí se puede abrir una secuencia de comandos sin cifrar para ver el código fuente y
editarlo. También se puede abrir con ese "martillo".
Ejecutar script... abre un cuadro de diálogo de selección de script. Después de seleccionar un script, se ejecutará directamente. También se puede abrir a través del "martillo".
MAXScript Listener abre el oyente, tecla de acceso directo F11
Grabación de macros de Macro Recorder, muy buenas cosas, después de la selección, MAXScript Listener puede mostrar automáticamente sus operaciones en MAX
, y puedes llamar a estos códigos directamente en tu script.
Visual MAXScript Editor es un editor de script visual que se abre con la siguiente interfaz. Con esto, no es necesario recordar los códigos de algunos elementos de la interfaz, como botones y cuadros de texto. tan pronto como lo arrastré.