As técnicas de expressão

No 3ds Max, você pode utilizar expressões matemáticas (ao invés de números constantes) para expressar valores de parâmetro. Por exemplo, você poderia usar a expressão 24*6 para representar o número 144.

Você pode usar expressões matemáticas para controlar as seguintes propriedades do objeto:

Conexão de parâmetros, controlador de expressãoe avaliador de expressão numérica usam expressões, que são descritas neste tópico.

Dica: Para utilizar o avaliador de expressão numérica, clique em qualquer campo numérico padrão (exceto campos caddie), pressione Ctrl + Ne insira uma expressão na caixa de diálogo.

Uma expressão é uma função matemática que retorna um valor. É possível utilizar expressões para controlar os seguintes elementos da cena:

O elemento de cena Propriedade calculável
Parâmetros de criação Criação de um parâmetro numérico
Transformações Posição (x, y, z]

Rotação X

Rotação Y

Rotação Z

Escala [x%, y%, z%]

Modificadores Qualquer parâmetro numérico modificador (incluindo os parâmetros de criação)
Materiais Cor (R, G, B]

Qualquer parâmetro de material numérico

Nota: Expressões só funcionam com os componentes XYZ individuais da rotação Euler. Não é possível atribuir uma expressão à rotação TCB ou outros tipos de controladores de rotação.

Os links a seguir conduzem a seções dentro deste tópico:

Expressão Return Types

O tipo de valor retornado por uma expressão depende do tipo de controlador:

Operadores

Nas tabelas a seguir, "p" e "q" são qualquer valor ou expressão escalar, V e W são qualquer expressão ou valor de vetor. (o caractere "x" é usado como o operador de produto cruzado do vetor.)

Operadores Escalares

Estes são os operadores aritméticos para valores escalares:

Operador Usar Significado
+ p + q Adição
- p - q Subtração
- -p Inverso aditivo
* p * q Multiplicação
/ p / q Divisão
^ p ^ q potência (p à potência de q)
** p ** q ^ e ** são a mesma operação

Você também pode usar operadores lógicos (boolean) com valores escalares. Todos estes operadores retornam 1 se verdadeiro, e 0 caso contrário:

Operador Usar Significado
= p = q igual a
< p < q menor que
> p > q maior que
<= p <= q menor que ou igual a
>= p >= q Maior que ou igual a
| p | q OR lógico, retorna 1 se "p" ou "q" for diferente de zero; caso contrário, retorna 0
& p & q AND lógico, retorna 1 se "p" e "q" são ambos diferentes de zero; caso contrário, retorna 0
Dica: Os operadores lógicos são úteis com a função "if".

Operadores Vetoriais

Para vetores que têm um nome de variável, pode-se utilizar um operador de componente especial (.) para referenciar três componentes escalares de vetor:

Usar Significado
V.x primeiro componente (X)
V.y segundo componente (Y)
V.z terceiro componente (Z)

Estes são os operadores para vetor aritmético:

Operador Usar Significado
+ V + W Adição
- V - W subtração
* p * V multiplicação escalar
* V * p multiplicação escalar
* V * W produto escalar
X V x W produto externo
/ V / p divisão escalar

Precedência de operadores

As expressões têm oito níveis de precedência. Quanto maior o operador está na lista, mais cedo é avaliado.

Operador Nível de Precedência
- + como operadores unários, como em -8, +25
. o operador do componente, como em V.x
** ^  
X produto externo
* /  
+ -  
= < > <= >=  
| &  

Os parênteses são um caso especial. Eles são um operador de subexpressão ou agrupamento fornecido, de modo que você possa sobrepor a ordem de precedência dos outros operadores.

Variáveis

Em expressões escritas para controladores de expressão, variáveis são representadas por nomes simbólicos. Você as cria para conter valores constantes ou variáveis em suas expressões. Diversas variáveis predefinidas também são fornecidas. Algumas têm um valor constante, outras podem variar.

Em expressões usadas para conexão de parâmetro e avaliador de expressão numérica, é possível utilizar variáveis predefinidas com valores constantes.

Variáveis Predefinidas com Valores Constantes

São as variáveis predefinidas que têm um valor constante (nomes de variáveis distinguem-se entre maiúsculas e minúsculas):

Nome de Variável Valor Constante Usar
pi 3.14159 Razão da circunferência do círculo em relação a seu diâmetro.
e 2.71828 Base de logaritmos naturais.
TPS 4800 Marcas por segundo. A marca é a unidade de tempo básica da animação do 3ds Max.

Variáveis Predefinidas com Valores Variáveis

São as variáveis predefinidas que têm um valor variável, com base no tempo (os nomes de variáveis diferenciam maiúsculas e minúsculas).

Nome de Variável Significado
F Número de quadros. Para cada quadro, F é igual ao número de quadros atual, contando a partir do zero. O intervalo de quadros pode variar, dependendo do número de quadros no segmento de tempo ativo.
NT Tempo Normalizado. Por definição, o tempo normalizado (NT) varia de 0 a 1 sobre o segmento de tempo ativo, a despeito de quantos quadros estão no segmento. Se você basear uma expressão no NT, seu efeito ocorre exatamente uma vez sobre o intervalo. Também é possível multiplicar o NT por um fator para o efeito da expressão ocorrer um determinado número de vezes (por exemplo, 2 * NT faz com que o efeito da expressão ocorra duas vezes). Expressões com base no NT aumentam ou diminuem a velocidade se você alterar o comprimento do segmento de tempo.
S Segundos (tempo decorrido em segundos). Tempo decorrido é medido do primeiro quadro para o quadro atual. A faixa de segundos pode variar dependendo do tempo total do segmento de tempo ativo.
T Marcas (tempo decorrido em marcas). Há 4800 marcas por segundo. Tempo decorrido é medido do primeiro quadro para o quadro atual. A faixa de marcas pode variar dependendo do tempo total do segmento de tempo ativo.

Regras para Nomes de Variáveis

  • Os nomes de variáveis podem conter tantos caracteres alfanuméricos quantos se desejar. O comprimento não é limitado.
  • Os nomes de variáveis não podem conter espaços.
  • O nome da variável precisa começar com uma letra. Números são válidos em um nome de variável (como em "Pos1" ou "M23").
  • Os nomes das variáveis distinguem-se entre maiúsculas e minúsculas. Por exemplo, "pos", "Pos" e "POS" designam três diferentes variáveis.
  • Não é possível criar uma variável com um nome que duplique outro nome, incluindo os nomes de variáveis predefinidos.

Funções

A seguir está uma lista de funções disponíveis para expressões. Nesta lista, p, q, e r representam valores escalares ou expressões escalares. V e W representam os valores de vetor ou expressões de vetor.

Para usar uma função em uma expressão, insira o nome da função e os argumentos apropriados.

Funções trigonométricas

As funções seno, cosseno e tangente recebem um ângulo em graus e retornam um valor de ponto flutuante. As funções arco recebem um valor de ponto flutuante e retornam um valor em graus.

Função Significado
sin (p) seno
cos (p) cosseno
tan (p) tangente
asin (p) arco seno
acos (p) arco coseno
atan (p) arco tangente

Funções Hiperbólicas

Funções hiperbólicas recebem um valor de ponto flutuante e retornam um valor de ponto flutuante.

Função Significado
sinh (p) seno hiperbólico
cosh (p) coseno hiperbólico
tanh (p) tangente hiperbólica

Conversão entre Radianos e Graus

Função Significado
radToDeg (p) recebe p em radianos e retorna o mesmo ângulo em graus
degToRad (p) recebe p em graus e retorna o mesmo ângulo em radianos

Funções de Arredondamento

Função Significado
ceil (p) o menor número inteiro maior ou igual a p
Floor (p) maior número inteiro menor ou igual a p

Cálculos Padrão

Função Significado
ln (p) base e logaritmo natural (base e)
log (p) logaritmo comum (base 10)
exp (p) função exponencial exp (p) = e ^ P
pow (p, q) p à potência de q (p ^ q)
sqrt (p) raiz quadrada
abs (p) valor absoluto
mín (p, q) mínimo retorna p ou q, dependendo de qual é menor
max (p, q) máximo retorna p ou q, dependendo de qual é maior
mod (p, q) resto de p dividido por q

Funções Condicionais

Função Significado
if ("p" then "q" else if "r" then "s") utiliza a estrutura padrão "if/then/else if". Por exemplo:

if (X_Position<0) then 0 else if (X_Position > = 0 e X_Position<= 10), then X_Position * 3 else 100

A função retorna 0 se a posição de X for menor que 0, ou a posição de X vezes 3 se a posição de X estiver entre 0 e 10, inclusive, ou 100 se a posição de X for maior que 10.

A parte “else if” é opcional e pode ser repetida para especificar diferentes condições se necessário.

vif (c, V1, V2) "Vetor if" (Valor é V1 se c for verdadeiro, caso contrário V2).

Funções de Manipulação de Vetor

Função Significado
comprimento (v) comprimento de V
comp (V,i) componente i(n...) (I = 0,1,2): comp([5,6,7],1) = 6
Unidade (V) retorna uma unidade de vetor na mesma direção que V
Nota: A função comp é uma alternativa para a notação V.x, V.y, V.z.

Função de Animação Especial

Função Significado
ruído (p, q, r) ruído 3D: retorna uma posição gerada aleatoriamente

Os valores arbitrários p, q e r são utilizados como uma semente gerada aleatoriamente. É possível reutilizar estes valores para garantir que o ruído () retorne o mesmo valor.