Sök…


Vad är inställt / få Attr

SetAttr

Som alla andra språk kan setAttr ställa in ett värde för ett specificerat attribut för en nod eller vilket sammanhang som helst. Och det stöder ett mycket brett utbud av alternativ. För detaljerade instruktioner, besök den officiella dokumentationen från maya själv här .

Här är ett mycket minimalt exempel på setAttr

nodeName = "pSphere1"
cmds.setAttr("%s.tx" % nodeName, 10)

getAttr Samma som setAttr här kommer det att ge tillbaka värdet från ett specifikt attribut från en nod. Och det kan också returnera flera typer av datatyper. Autodesk har väl dokumenterat kommandot här

Här är ett mycket minimalt exempel på getAttr

nodeName = "pSphere1"
txValue = cmds.getAttr("%s.tx" % nodeName)

Grundläggande syntax för maya-kommandon

Maya-kommandon finns i ett mycket litet utbud av former. Att känna igen formen som ett kommando tar är användbart för att arbeta med nya kommandon.

Enkla kommandon

Den mest grundläggande formen är helt enkelt <command>(<object>) var är funktionen du ringer och är strängenamnet på ett objekt du arbetar med:

  cmds.hide('pCube1')
  cmds.delete('nurbsCurve8')

Många kommandon kan acceptera flera mål. Du kan skicka dessa individuellt eller som iterables (listor, tuples)

  cmds.select("top", "side")
  cameras = ['top', 'side']
  cmds.select(cams)

Du kan Pythons stjärna * argumentera för att skicka ett iterable objekt som en generator till ett kommando:

  cmds.select(*a_generator_function())

Många kommandon tar flaggor som styr deras beteende. till exempel

  cmds.ls(type='mesh')

kommer att returnera en lista över nät, och

  cmds.ls(type='nurbsCurve')

returnerar en lista med nurbs kurvor.

Kommandon som tar flagga kan använda Python ** kwargs-syntaxen, så att du kan skapa ordlista med flaggvärdespar och överföra det till kommandot:

   options = {type: 'mesh'}
   cmds.ls(**options)

är det samma som

   cmds.ls(type='mesh')

Detta kan vara mycket användbart när du sätter ihop ett kommando från en lista med alternativ som tillhandahålls av en användare eller med skriptlogik



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow