Os controladores de Script controladores funcionam de forma parecida aos Controladores de Expressão. Eles fornecem uma caixa de diálogo Controlador de Script onde você pode inserir um script para calcular o valor do controlador.
Os seguintes controladores de Script estão disponíveis no 3ds Max:
As diferenças entre os diferentes tipos de controladores de Script estão principalmente no tipo de trilha de animação que você pode atribuir a eles. Por exemplo, é possível atribuir uma transformação do controlador de script para uma Trilha de Transformação, uma Posição do controlador do script para uma trilha de posição, e, se o controlador da posição é Posição XYZ, você pode atribuir um Flutuante do controlador de script para qualquer ou todas as trilhas de posição individual (Posição X/Y/Z).
As principais vantagens dos controladores de Script são:
Consulte a Ajuda do MAXScript para obter uma explicação completa sobre esta linguagem de scripts.
Uma transformação do controlador de script contém todas as informações contidas em um controlador de Posição/Rotação/Redimensionamento (QP) em um valor de matriz do script. Em vez de ter trilhas três diferentes para a posição, rotação, e redimensionamento, você pode acessar todos os três valores simultaneamente a partir de uma única caixa de diálogo controlador de script. Como um script define os valores de transformação, eles são mais fáceis de animar.
O valor do script do controlador deve ser um valor matrix3. Um valor de matrix3 é uma matriz de transformação 4x3 3D. Para obter mais informações, consulte o tópico Valores Matrix3 na Ajuda do MAXScript.
3ds Max interpreta o texto inserido na caixa de texto Script como corpo de uma expressão do bloco do MaxScript. É possível inserir tantas expressões quanto você deseja em tantas linhas quanto você deseja, e eles são avaliadas de volta. O valor da última expressão é utilizado como o valor do controlador. Este valor deve compor o tipo correto para o controlador: flutuar para Fluturar Point3 para Posição, quaternária para Rotação, matrix3 para Transformar, e assim por diante.
Como o texto está dentro de uma expressão de bloco, é possível declarar variáveis locais que são visíveis somente dentro do script e são temporárias para uma avaliação. Também é possível declarar ou acessar variáveis globais que são compartilhadas com todos os outros scripts em MAXScript e manter seus valores a partir de uma avaliação para a próxima.
Um controlador sempre é avaliado pelo 3ds Max com respeito a um tempo de animação específico. Este pode ser o controle deslizante de tempo atual ou o tempo do quadro incremental se uma animação estiver sendo reproduzida, ou uma renderização estiver ocorrendo. No caso dos controladores de Script, o tempo sendo avaliado é utilizado para estabelecer um contexto "no tempo" automático ao redor do controlador de script, para que quaisquer propriedades acessadas (fora das expressões "no tempo" explícitas)expressões) gerem os valores para o tempo correto de avaliação do controlador. Isto significa que não é necessário executar nenhuma operação especial em seus scripts para trabalhar no horário correto. Você pode acessar a o tempo da avaliação com a variável do MAXScript padrão, currentTime. Você também pode fazer referência dos valores de propriedade da cena em outros tempos usando as expressões "no tempo" em seus scripts, como na programação regular do MAXScript.
Quando você precisar referir-se aos nós em sua cena ou às trilhas de animação, é recomendável que você use os conjuntos de ferramentas da variável do controlador de script para criar variáveis para atribuir a qualquer determinado nó ou trilha do controlador. Desta forma, se você decidir mais tarde renomear sua cena, os controladores de script utilizando estes objetos são preservados porque as variáveis mantém o link para nós.
Caso contrário, se você atribuir, por exemplo, um nó para uma variável manualmente na janela Expressão da caixa de diálogo, esse link é quebrado assim que você renomeia esse nó específico.
Exemplo: para manter um objeto centralizado em relação a outros objetos na cena durante uma animação:
A nova variável é adicionada automaticamente à lista Variáveis.
A caixa de diálogo Selecionar Track View abre, listando o conteúdo de sua cena.
O nó do foo é atribuído para a variável.
POS Local = [0,0,0 ]
Para o em objetos, onde o!= Foo faça
Posição + = o.pos
Posição/(objects.count - 1 )
Esse script calcula a posição média de todos os objetos, exceto o atual (escrito como Foo aqui) ao configurar um local, iterar sobre todos os objetos, exceto Foo, agregando um vetor de posição total e calcular a média na última linha, que é o resultado final do script.
Para utilizar uma transformação do controlador de Script:
A caixa de diálogo Controlador de Script abre.
Atribuindo um controlador de script automaticamente abre uma caixa de diálogo controlador de script, onde é possível inserir um script. Você pode abrir a caixa de diálogo posteriormente clicando com o botão direito do mouse na trilha do painel Movimento ou na hierarquia do Track View e escolhendo Propriedades, ou clicando no botão Propriedades na barra de ferramentas Track View.
Lista todas as variáveis disponíveis no controlador. As seguintes variáveis de constantes predefinidas estão disponíveis em cada Controlador de Script e não podem ser excluídas ou renomeadas: