Global Variables
Variáveis Globais são variáveis que já são criadas automaticamente pelo node superior do Yeti, podendo ser acessadas a qualquer momento dentro do grafo, sem precisar declarar-las com um node de Attribute. Elas se relacionam com valores internos da geometria, como N (Normal) e P (Position); Valores internos dos fios, como id (assinala um valor inteiro único para cada fio) e strandu (mapeia a posição atual de cada fio, sendo 0 o root e 1 o tip); E valores internos do Maya, como F (Frame atual) e time (tempo atual em segundos).
Custom Global Variables
É possível criar Variáveis Globais Customizadas no node superior do Yeti, que se comportaram da mesma maneira que as já existentes. Na aba Graph->User Variables do node superior do Yeti, clicar em Add Float ou Add Vector para criá-las. Seu valor só pode ser alterado externamente, tanto sendo passado um valor numérico direto como ligado a algum parâmetro do Maya ou de seus objetos.
Dois formatos são aceitos para variáveis globais: Floats e Vectors.
É possível criar infinitos atributos, porém listas de atributos e strings não são suportadas.
Importante: Ao criar atributos Globais, não usar espaços, pontos, _ ou qualquer outro caractere que não seja numero ou letra, pois ele não irá reconhecer corretamente. O nome é case sensitve, ou seja, ele diferencia minúsculas de maiúsculas.
Para deletar atributos, clicar em Select para selecionar o shape do node, depois em Attributes->Delete Attributes.
Variáveis Globais são usadas principalmente para:
- Promover atributos do grafo do Yeti para o node superior, de forma a facilitar alterações do grafo interna sem precisar acessá-la;
- Utilizar como um slide de um blend de penteado interno;
- Como ligação entre o Rigging e o grafo, possibilitando animações nos fios/penas
Utilizando Variáveis Globais como Atributos
Neste exemplo, um valor passado pela Custom Global Variable chamado de “myAtt” é chamado dentro de um node interno da tree para controlar um parâmetro de bend. Este atributo pode ser usado em qualquer campo de qualquer node do Yeti.
Arquivo de exemplo: Global_Attribute.ma
Criando BlendShapes de Penteados
Para criar um “blendshape” de penteado, deve-se:
- Duplicar o Groom Original (Ctrl-D normal).
- Reconectar o Groom na mesh. Para isso:
- Vá em Display->Shapes para mostrar os shapes no Outline (Clicar no +)
- Vá em Windows->General Editors->Connection Editor
- Selecione o shape da mesh e clicar em Reload Left
- Selecione o shape do Groom do Blend e clicar em Reload Right
- Selecione o “outmesh” do lado esquerdo e o “inputGeometry” do lado direito e clicar em Close
Agora é possível editar este Groom duplicado e penteá-lo no formato do blend.
- Conectar o novo Groom no Input Grooms do Node do Yeti, se ele já não estiver conectado.
- Criar uma variável global que será usado como um slider para animar o blend.
- Adicionar um novo node de Comb com o Groom do Blend e atribuir a variável global criada como peso.
Arquivos de exemplo: Blendshape_Groom.ma
- É possível determinar áreas de influência para o blend do penteado. Cria-se um novo atributo no Groom e pinta onde o blend deverá ter efeito. Onde não é para ter efeito, pintar de zero. Depois, multiplica este atributo do Groom pela variável global.
Arquivo de exemplo: Blendshape_Groom_weights.ma
Conectando Variáveis Globais à Expressions
Também podemos utilizar expressions para ligar uma variável global em um controlador do Rigging. Dentro da tree do Yeti, a variável global será usada da mesma maneira que nos casos anteriores. Contudo, uma expressão será adicionada a ela para que receba algum valor. Neste exemplo, a posição de um Locator será passada.
Para isso, clique com o botão direito em cima da variável criada e escolha “Edit Expression”. No Expression Editor é descrito o comando que será mandado para a variável. Neste caso, estamos pegando o valor de translação em Z do Locator 1 e assinalando para a variável bendcontrol.
A estrutura da expression é:
-
nomeDoNodeYetiShape.yetiVariableF_nomeDaVariavelGlobal= Float de algum objeto ou parâmetro -
nomeDoNodeYetiShape.yetiVariableV_nomeDaVariavelGlobalX = coordenada X de um vetor de algum objeto ou parâmetro (similar para Y e Z)
Arquivo de Exemplo: Expression_Global_Attributes.ma






