Attributes
Criando Atributos
O node de Attribute é responsável por criar atributos (variáveis) e manipulá-los.
Seu primeiro input pode receber fios, partículas ou malhas, que irá carregar o atributo criado para frente no grafo. No segundo input entram Strands de Grooms ou Guide Curves, para que seus atributos possam ser passados para a nova variável criada.
Neste tutorial, o termo variável é equivalente ao termo atributo. O uso do símbolo $ antes de variáveis é opcional nas versões recentes do Yeti, sendo que ele entende a variável tanto com ou sem este símbolo.

O primeiro campo Attribute é nome do atributo a ser criado ou modificado. Se ele não existir, será criado automaticamente. Este nome não pode conter espaços e é case sensitive, ou seja, diferencia letras minúsculas de maiúsculas. Também não é permitido iniciar o nome de um atributo com um número, como “1myAttribute”. Números podem ser usados normalmente exceto no começo, como “myAttribute1”.
O segundo campo Default é o valor inicial que o atributo receberá quando criado ou valor que será substituído no atributo se ele já existir. Seu Attribute Type pode ser Float ou Vector.
Este atributo criado pode então ser usado em qualquer node seguinte, em qualquer campo. Pode ser usado para controlar o valor de bend dos fios ou a sua espessura, por exemplo.
Arquivo de Exemplo: Attributes_Default.ma
Detail Type especifica sobre que tipo de dado o atributo irá agir. Uniform é o padrão utilizado para fios. Outros tipos serão abordados neste tutorial conforme forem necessários.
Quando a opção Sample Groom é ligada, será buscado um atributo do Groom ligado no segundo input com o mesmo nome colocado no campo Groom Attribute. Este valor será multiplicado pelo campo Default e formará o valor final do atributo criado ou modificado.
Arquivo de Exemplo: Attributes_Groom.ma
Mapeando Atributos para o Render
Na segunda aba do node de Attributes, chamada Mapping, é onde se transfere os atributos para um formato na qual o renderizador entenderá e assim é possível usá-los para colorir ou criar máscaras no Shader.
Cada renderizador possui o seu próprio node para interpretar variáveis de plugins ou internas do Maya. No VRay, estes nodes se chamam VRayUserScalar para Floats e VRayUserColor para Vectors. No Arnold, se chamam aiUserDataFloat para Floats e aiUserDataColor para Vectors.
Para mapear uma variável para o Render, ative a opção Map as Renderable Attribute e coloque o nome de seu atributo nos dois campos abaixo. Este nome será usado no node que interpreta variáveis do renderizador, como descrito acima. Caso ele falhe para identificar a variável, seu valor default será utilizado. Uma maneira de verificar se a variável está funcionando é só alterar o valor default desse node e ver se ocorre uma mudança no Render. Se ocorrer, é porque ele falhou em encontrar a variável. Neste caso, verifique se tudo está digitado corretamente e se a versão tanto do Yeti quanto do Renderizador suporta esta função.
Arquivo de Exemplo: Attributes_to_Rendering.ma
Criando Atributos Geométricos
Na aba Geometric do node Attributes, alguns atributos internos relacionados às propriedades dos fios podem ser criados. São muito úteis em casos específicos que serão tratados futuramente neste documento. Os atributos que podem ser criados são:
Root Position
Cria um atributo chamado root que carregará um valor para cada fio relativo a sua posição P no espaço. Como o vetor P é formado por uma posição em [X,Y,Z], estas coordenadas podem ser interpretadas como uma cor [R,G,B] e usada no Shader.
Tangent
Criará um vetor tangente à normal de cada fio. É muito útil para orientar instâncias e penas. O vetor Normal N é um vetor de direção [x,y,z] que fica perpendicular (forma um ângulo de 90 graus) com a superfície. Se negarmos o vetor N, invertemos a direção de sua Normal. O vetor Tangent é um vetor de direção auxiliar que fica perpendicular ao vetor N e segue rente à superfície. O vetor Bi Tangent é outro vetor de direção auxiliar ortogonal tanto a Normal quando a Tangent. O Yeti não cria este vetor Bi Tangent automaticamente, mas é possível reproduzi-lo com a função de Dot Product entre o vetor Normal e o vetor Tangent.
Face Index
Cria um atributo chamado faceindex, que contém o número da face da malha na qual o fio do Yeti está preso.
RiCurve Basis
Atributo exclusivo de RenderMan, que diz qual interpolação de curva deverá ser usada pelo renderizador.





