Controlador de técnicas de expressão

Este tópico resume alguns útil expressão técnicas.

Expressões usadas normalmente

Este tópico lista algumas expressões que pode resultar útil em situações ao animar.

Caminho circular

[ Radius * cos(360*Time),
Radius * sin(360*Time), 0 ]

se time é uma das variáveis de tempo predefinidos, como NT ou S.

Se você tornar os dois valores de raio desiguais, você obtém um caminho elíptica.

Se você especificar uma diferente de componente Z, o caminho não é plana.

Seguintes outro objeto

[X, Y, Z] + Position

onde Posição é a posição controlador do segundo objeto.

O vetor [X, Y, Z] pode ser um deslocamento desde o segundo objeto. (se ele [0,0,0], os dois objetos ocupar a mesma posição). Ele também pode ser uma expressão vetorial que especifica algumas movimento em si mesmo.

Manter um objeto entre dois objetos

(Position1 + Position2) / 2

onde Posição1 e Position2 são a posição controladores de dois objetos.

O divisor 2 restringe o objeto ao ponto médio entre os dois outros objetos. Outros valores restringir o objeto para outras localizações.

Saltos entre outros objetos

(1+sin(360*Time))/2 * (Pos1-Pos2) + Pos2

se time é uma das variáveis de tempo predefinidos, como NT ou s; POS1 e POS2 são a posição de dois controladores de outros objetos.

O subexpression (1 + sin(360*time))/2 é um valor que oscila entre 0 e 1 ao longo do tempo. (Pos1-Pos2) é o vetor entre os dois outros objetos. Multiplicar os dois e a seguir adicionando POS2 como um deslocamento localiza o objeto ao longo de este vetor.

Alterar o número de segmentos de linha de um objeto com base na distância da câmera

Esta expressão varia o número de segmentos em um cilindro com base na distância de uma câmera. Ele é atribuído para a criação de segmentos de parâmetro.

if ( (length(Camera-Myself) > 35),
3 + (50*Height) / length(Camera-Myself),
MaxSegs)

onde Câmera é o controlador de posição da câmera; mim é o cilindro de posição controlador; Altura ( = 70) é o cilindro de altura; MaxSegs ( = 100) é o número máximo de segmentos.

Quando a câmera está próxima, mais segmentos que o cilindro mais suave; quando a câmera estiver distante, o suavizado é menos importante e menos segmentos renderiza mais rapidamente.

Se (), a função retorna o segundo argumento se o primeiro argumento é verdadeiro; caso contrário, retorna o terceiro argumento. Neste exemplo, se a câmera está mais de 35 unidades de distância do cilindro, a expressão calcula o número de segmentos; se a câmera está 35 unidades de distância ou mais, o número de segmentos é o MaxSegs constante.

Os valores no segundo argumento é escolhido, para que quando a distância é reduzida para o limite de 35, o número de segmentos em direção MaxSegs aumenta. A adição de "3 +" garante que o cilindro sempre tem ao menos três segmentos, mesmo quando a divisão arredonda para zero (segmentos é um inteiro).

Nota: Para a expressão, não importa se a câmera é movida, ou o cilindro, ou ambos.