mayaAan de slag met maya


Opmerkingen

Deze documentatie bevat codering voor Autodesk Maya . Het is niet bedoeld voor eindgebruikers van de Maya-software. (Om te ontdekken hoe je in Maya kunt modelleren of animeren, probeer Autodesk's introductievideo's of een site voor eindgebruikers zoals CGSociety .)

talen

Maya ondersteunt 3 programmeertalen: MEL, de ingebouwde scripttaal; C ++, die wordt gebruikt voor plug-ins; en Python die gebruikelijk is voor integratietaken, maar ook plug-ins kan maken met een ingepakte versie van de C ++ API

Hallo Wereld

"Hallo wereld" in verschillende talen afdrukken op Maya op de console (Scripteditor).

MEL

Selecteer MEL op een MEL-tabblad in de Scripteditor of op de opdrachtregelbalk:

print ("hello world");
 

En druk op play in de scripteditor of op de toets Enter op de opdrachtregel.

PYTHON

Selecteer Python op een Python-tabblad in de Scripteditor of de opdrachtregelbalk:

print "hello world"
 

En druk op play in de scripteditor of op de toets Enter op de opdrachtregel.

Installatie

Maya ondersteunt 3 hoofdprogrammeeromgevingen. Elk heeft verschillende installatievereisten.

MEL

MEL- scripttaal is inbegrepen bij de Maya-applicatie. Standaard ingeschakeld, kunnen gebruikers MEL testen in het scriptluistervenster in een lopende kopie van Maya.

MEL-bestanden zijn tekstbestanden met de extensie .mel . Ze kunnen worden geladen in een lopende Maya sessie met behulp van de source commando in de luisteraar of in een ander MEL script. Maya onderhoudt een lijst met bronmappen en zal in alle mappen naar een gevraagd MEL-script zoeken totdat het een bestand met de juiste naam vindt.

Er zijn een aantal methoden om het scriptpad in te stellen; zie de Autodesk-documentatie voor meer informatie.

Python

Maya bevat een ingebedde Python- intepreter. MEL-opdrachten zijn verkrijgbaar bij Python in de maya.cmds Python-module, dus een opdracht zoals polyCube -n "new_cube" is beschikbaar in Python als maya.cmds.polyCube(n='new_cube') . Het luistervenster bevat een Python-tabblad waarmee gebruikers interactief Python-opdrachten kunnen invoeren.

Maya python kan modules importeren met behulp van de python import . Maya zoekt naar Python-bestanden op een aantal locaties, geconfigureerd in de Maya-toepassing, met behulp van omgevingsvariabele of een maya.env bestand. De Autodesk-documentatie behandelt de basisprincipes van het plaatsen van python-bestanden waar Maya ze kan zien en importeren.

C ++

Maya stelt zijn API bloot aan C ++ . Ontwikkelaars kunnen plug-ins compileren die Maya bij het opstarten zal herkennen.

Het ontwikkelen van C ++ plug-ins voor Maya vereist de Maya Devkit . Download de juiste versie voor uw platform en volg de meegeleverde instructies om de buildomgeving in te stellen.

Eenvoudig Python-voorbeeld

Open de Maya-luisteraar met de knop in de rechteronderhoek van de hulplijn. Dit opent de scriptluisteraar.

Maak een Python tabblad op de tabbladbalk.

Hier is een heel basisscript dat de posities van de camera's in een standaardscène afdrukt. Voer dit in de luisteraar in:

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
 

Selecteer het script en voer het uit met CTRL+enter ;

Hier is nog een eenvoudig voorbeeld dat een willekeurige verzameling kubussen genereert. Het gebruikt de random python-module om willekeurige waarden te genereren.

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))