Python no Maya - Criando objetos

sem mais delongas ! iniciaremos nossa serie, criando objetos no Maya com script em Python.
 Abra seu Script editor e iniciaremos criando um Cubo

Importante dizer que iniciamos nosso trabalho com: import maya.cmds as cmds

aqui farei uma simulação, esse código é o mesmo que estar no script editor!

1 - import  maya.cmds as cmds
2 - cmds.polyCube ( )



Veja que selecionei essas áreas amarelas, para você entender quais opções usaremos no inicio.
Na aba Python será o lugar a onde digitamos nosso código. Para criar outra aba Python ou Mel click no simbolo +.

Existe dois tipos de PLAY, o que estar selecionado com na cor amarelo na imagem a cima usaremos para rodar a parte que selecionamos do nosso código. Essa função nos permite que funcione uma linha de código especifica. para usar esse botão devemos selecionar nosso código.

O outro ícone ao lado esquerdo em vermelho, esse Play faz rodar todas as linhas do nosso código, usaremos esse botão com mais frequência.

Dica Importante! 
Para aumentar a visibilidade dos códigos, segure Ctrl+scroll do mouse, role a bolinha do mouse, e assim diminuirá e aumentar o tamanho do código.

- cmds.polyCube ( )
Esse comando acima criar um novo Cubo Poligonal. Simples assim!

    Algo importante que também quero mencionar, é esse'' CMDS(ponto)(nome)'', cmds.polyCube.
Lembra lá no começo dessa pagina quando falei que iniciamos o projeto com: import maya.cmds as cmds, pois bem, não entrarei muito em detalhes técnicos para não confundi-los, mas cmds no final do código pode ser substituído por qualquer outro nome. tente!

   
Agora modificaremos nosso objeto! faremos isso dento dos parenteses ( ). Podemos fazer alteração no nosso porque ele é editável.
adicionaremos um nome ao nosso cubo com o flag '' name'', dentro dos ( ):

1- import  maya.cmds as cmds
2- cmds.polycube ( name = '' quadrado'')

veja que eu atribui o nome quadrado que deve estar entre aspas simples ' texto ' ao flag name, porque quando queremos atribuir ao nosso objeto uma informação de texto, colocamos entre aspas, porque name so aceita tipo string, quero dizer que, para nosso nome ter formato de texto, devemos coloca aspas.

Ele criou um objeto quadrado e renomeio como ' quadrado ' !

Usaremos outros tipos de código para editar nosso objeto, os mais importantes na minha opinião são: Flag é tudo aquilo que serve de atributo ao nosso objeto, são as características  que um objeto possui.

Este sinalizador (flag) especifica a largura do cubo
esse w é uma representação reduzida da palavra width. Se não quisermos digitar width, usamos apenas w
name(n)
Este sinalizador (flag) especifica o nome cubo
esse n é uma representação reduzida da palavra name se não quisermos digitar name, usamos apenas n

Este sinalizador (flag) especifica a altura do cubo
de forma reduzida pode usar apenas h





Criei um cubo com o nome quadrado, com 5 subdivisão em X Y Z

1- import maya.cmds as cmds 

2- cmds.polycube( name = 'quadrado', sx = 5, sy = 5, sz = 5)

veja que para digitar o próximo flag usamos virgula (,) e espaço! nunca esqueça da virgula, espaço, parentese. por padrão o valor minimo é 1. 

Criei um cubo com o nome quadrado e subdivide 4 vezes no eixo X

2- cmds.polycube( name = 'quadrado', sx = 4)

Dica importante!
Selecione cada linha do código e click no botão play (direita), assim o Maya guardará na memorias seu código!

Por que isso é importante? porque quando você cria algo, ele diretamente irá para algum lugar na memoria do seu computador, se você alterar uma parte do seu código, e rodar, ele funcionará com os parâmetros posto anteriormente. Para atualizar selecione e click no botão play a sua direita do script editor.
 
Para criar outros objetos como espera, cilindro, cone. você pode conferir na documentação que estar em Inglês. não a muita diferença entre o cubo.
http://help.autodesk.com/view/MAYAUL/2016/ENU/

Criando uma ESFERA:


1- import maya.cmds as cmds 
2- cmds.polySphere( )


 Ao invés de altura e largura, usamos o raio (r). o raio de uma esfera (abreviado como variável r ) é a distância do centro exato da esfera até algum ponto na borda exterior.

Criei uma espera com tamanho 2 e subdivisão 1

Agora criarei outra espera com mais subdivisões
tamanho 2, subdivisão 100

Além da subdivisão em X (sx), você também pode usar  subdivisão em Y(sy). Veja outro exemplo:
 
Para mais informações acesse a documentação:http://help.autodesk.com/view/MAYAUL/2016/ENU/



MANIPULANDO OBJETOS

Para iniciarmos essa etapa você dever ter em mente essa sequencia (x,y,z), agora mostrarei como manipular um objeto na cena.
Quando executamos alguns dos codigos acima , ele cria sempre novos objetos. Dessa vez criaremos um objeto e modificaremos: 
translação, rotação, scale, parentear,grupo,selecionar,deselecionar.

Como bônus, atribuiremos uma Cor ao nosso objeto.

Movendo o objeto:

1- crie um cubo e atribua a ele um nome, ' usando código'! 
criou? legal! agora vamos em frente, este objeto que você criou ele ainda estar selecionado na view, click em algum lugar do Maya para deselecionar nosso objeto.
Agora eu criei meu objeto e vou chamá-lo de '' caixa'' , vou demonstrar como selecionar objetos na cena.
Antes de prosseguir quero colocar um comentário no meu código, usando jogo da velha ( # ) antes do comentário.

Essa opção é muita boa para desativar nossa linha de código, usaremos # no nosso código.
Quando o Maya começar a ler nosso código linha por linha, ele irá interpretar que nosso código é um comentário, e não irá executa-ló

Atribuição:
usaremos esse método para atribuir valores a variáveis
exemplo: a = 20
Nesse exemplo simples eu atribui o valor 20 a variável a, agora a tem valor de 20!

demonstrarei como usarei esse método no nosso código

Eu atribui meu cubo ao personagem, agora meu personagem tem todos os valores do meu cubo: nome,altura,largura. Todas as informações a respeito do meu cubo, estão armazenadas em personagem!

Atenção: quando alterar alguma característica do nosso código, selecione todo o código e de play, para armazenar a nova informação na memoria do computador.

Agora vou verificar se foi atribuído os valores de Cubo a variável personagem, usando print (mostrar)


Veja na área selecionada em amarelo na imagem acima, aquela região em vermelho ,é onde fica todo o histórico de suas ações dentro do Maya. Selecionei apenas print personagem e executei  com o play da direita, ele me retornou o nome e o tipo de objeto.

Continuaremos como selecionar nosso objeto para podermos modificá-lo!


Vamos voltar ao nosso código, depois de atribuir nosso cubo ao personagem usando sinal de igualdade (=). A área  selecionada em amarelo eu utilizo apara limpar apenas o histórico, por isso meu histórico estar sempre limpo.

coloque o código no modo de comentário, usando #. 
E adicione uma nova linha de código, para adicionar use ENTER no teclado.

Selecionando Objetos com SELECT(flags)
cmds.select (all = True)
 
Selecione apenas o novo código e execute!. 
Ele selecionou nosso cubo, porque chamei um código de seleção ( select), e por parâmetro dentro dos parenteses eu passei (all = True), que quer dizer (todos = verdadeiro), esse True é para que seja executada a ação, tente passar False e veja o que acontece!

Outra forma é chamando pelo nome do objeto! 

Veja, o nome do meu objeto na cena é caixa, então no formato string, entre aspa simples. Selecionei e executei. Por isso a importância de renomear nossos objetos

Deselecionando um Objeto:
a primeira opção é deselecionar o objeto que esteja selecionado na cena. nosso objeto ainda estar selecionado, então vamos modificar o código, apenas dentro do parentese que serão os flags.
ficará assim; cmds.select ( deselect = True)

Selecione e execute. Analisando nosso código, ( deselect =True), isso estar dizendo (deselecione = Verdadeiro), verdadeiro porque eu quero que meu código execute o que eu mandei, faça um teste, coloque (deselect = False) o código não irá executar, porque eu falei que não queria que executa-se a ação utilizando False! alguma dúvida sobre True e False? usaremos em momento raros.

Nenhum comentário:

Postar um comentário