Szukaj…


What is set / get Attr

setAttr

Zasadniczo, jak każdy inny język setAttr może ustawić wartość dla określonego atrybutu węzła lub dowolnego kontekstu. I obsługuje bardzo szeroki zakres opcji. Szczegółowe instrukcje można znaleźć w oficjalnej dokumentacji samej mayi tutaj .

Oto bardzo minimalny przykład setAttr

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

getAttr Tak samo jak setAttr tutaj, zwróci wartość z określonego atrybutu z węzła. I może również zwracać wiele typów typów danych. Autodesk dobrze tutaj udokumentował polecenie

Oto bardzo minimalny przykład getAttr

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

Podstawowa składnia komendy maya

Polecenia Majów występują w bardzo niewielkim zakresie form. Rozpoznanie formy, jaką przyjmuje polecenie, jest przydatne do pracy z nowymi poleceniami.

Proste polecenia

Najbardziej podstawową formą jest po prostu <command>(<object>) gdzie jest funkcja, którą wywołujesz, i nazwa ciągu obiektu, z którym pracujesz:

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

Wiele poleceń może akceptować wiele celów. Możesz przekazać je pojedynczo lub jako iterowalne (listy, krotki)

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

Możesz gwiazdkę Pythona * argumentować, aby przekazać obiekt iterowalny, taki jak generator, do polecenia:

  cmds.select(*a_generator_function())

Wiele poleceń przyjmuje flagi kontrolujące ich zachowanie. na przykład

  cmds.ls(type='mesh')

zwróci listę oczek i

  cmds.ls(type='nurbsCurve')

zwraca listę krzywych Nurbs.

Polecenia, które pobierają flagę, mogą korzystać ze składni kwargs Pythona **, co pozwala utworzyć słownik par flag-wartość i przekazać go do polecenia:

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

jest taki sam jak

   cmds.ls(type='mesh')

Może to być bardzo przydatne podczas składania polecenia z listy opcji dostarczonych przez użytkownika lub za pomocą logiki skryptowej



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow