Controlador de script

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.

Controlador de script de transformação

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.

Gravando Controlador de Scripts

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.

Atribuir Nós e Trilhas para Variáveis

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.

Nota: Isso é especialmente importante para atribuir os nós e trilhas para as variáveis com os botões correspondentes ao usar cenas e objetos XRef.

Procedimentos

Exemplo: para manter um objeto centralizado em relação a outros objetos na cena durante uma animação:

  1. Nomeie o objeto que deve permanecer centralizado Foo e atribuia um controlador de Script para sua trilha Posição.
  2. Insira foo no campo Nome e clique em Criar.

    A nova variável é adicionada automaticamente à lista Variáveis.

  3. Com a variável realçada, clique em Atribuir Nó.

    A caixa de diálogo Selecionar Track View abre, listando o conteúdo de sua cena.

  4. Expanda a hierarquia de Objetos até que você localize o foo. Realce e clique em OK.

    O nó do foo é atribuído para a variável.

  5. Insira o seguinte script na janela Expressão da caixa de diálogo controlador de script:

    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:

  1. Selecione um objeto.
  2. Clique com o botão direito do mouse para abrir o menu do quadrado.
  3. ANo quadrante transformação, clique em Editor de curva.
  4. Selecione a trilha Transformação do objeto selecionado no Track View.
  5. Selecione Scrip de Transformação a partir da caixa de diálogo Atribuir Controlador do Transformador e clique em OK.

    A caixa de diálogo Controlador de Script abre.

  6. Editar o valor matrix3 na caixa de diálogo Controlador de Script, e clique em Avaliar quando você terminar.

Interface

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.

Dica: É possível redimensionar a caixa de diálogo, arrastando uma aresta ou um canto.

Grupo Criar Variável

Nome
Permite inserir e editar o nome de variáveis do usuário.
Criar
Cria uma variável e adiciona à lista Variáveis.
Excluir
Remove a variável realçada da lista Variáveis. Também é possível excluir uma variável ao digitar seu nome no campo Nome e, em seguida, clicar em Excluir.
Renomear
Renomeia a variável de realçada.

Grupo de parâmetros de variável

Deslocamento do marcador
Especifica um deslocamento do tempo nos marcadores para a variável atual. Quando o script é avaliado, o valor da variável é definido no momento atual e o valor do Deslocamento do Marcador.
Nota: O tempo de deslocamento não tem efeito sobre variáveis que são atribuídas uma constante.
Lista de variáveis

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:

  • F a hora atual em quadros
  • nt o padrão de tempo
  • S o tempo em segundos
  • T o tempo atual nos marcadores
Atribuir Constante
Abre uma caixa de diálogo que permite atribuir uma constante de realçado para a variável.
  • Expressão do valor Insira qualquer valor ou expressão do MAXScript (como um inteiro, um flutuante, matriz, e assim por diante).
  • Resultado da expressão do valor Exibe os resultados da expressão acima.
  • Avaliar Analisa a expressão no momento atual.
  • OK Atribui o resultado da expressão do valor à variável atual.
  • Cancelar: Ignora o resultado da expressão do valor atual e fecha a caixa de diálogo.
Atribuir Trilha
Permite atribuir uma trilha para a variável realçada.
Atribuir controlador
Permite atribuir um controlador para a variável realçada. O controlador de valor é executada no tempo atual e a variável de deslocamento.
Atribuir Nó
Permite atribuir um nó para a variável realçada.
Janela Expressão
Exibe a expressão para avaliar. É possível editar o texto nesta janela.
Descrição da janela
Na janela de texto, é possível inserir comentários sobre como o controlador funciona, como usar, e assim por diante.
Salvar
Clique para salvar o script para um arquivo de texto do MAXScript (.ms ).
Carregar
Clique para carregar um script de um arquivo de texto do MAXScript (.ms ).
Depurar
Abre a janela Depurar Controlador de Script, que exibe o valor de todas as variáveis utilizadas em seu script.
Avaliar
Avalia a expressão de script. A avaliação é calculada para a posição atual do controle deslizante tempo.
Fechar
Compila e verifica o controlador de script para erros. Se não são detectados erros, a caixa de diálogo é fechada. Quaisquer problemas resultam em uma caixa de consulta perguntando se você deseja reverter a expressão para o valor original da trilha e fechar a caixa de diálogo (OK), ou para voltar a editar a expressão (Cancelar).