Você pode usar o recurso de controlador cognitivo para fazer com que os membros de multidão mudem de comportamentos durante uma simulação, segundo as circunstâncias. Por exemplo, um personagem poderia perambular aleatoriamente até ficar dentro de uma determinada distância de um alvo, ponto em que poderia se mover diretamente para o alvo.
Em termos técnicos, controladores cognitivos permitem influenciar simulações de multidão com condicionais de script, implementando com eficácia uma forma de inteligência artificial. Utilize o Editor de controlador cognitivoeditor em estilo de fluxograma (muito parecido à caixa de diálogo Fluxograma de movimento) para configurar uma rede de comportamentos e combinações de comportamentos, conhecidos como estados. Então, você aplica transições baseadas no MAXScript que especificam quais delegados devem ser movidos de um estado para outro. Mesmo com uma configuração relativamente simples, você pode criar simulações que façam com que seus personagens pareçam seres vivos e conscientes, tomando decisões à medida que se movem pela cena.
É possível localizar os procedimentos que descrevem diversos exemplos de transições do controlador cognitivo no tópico Caixa de diálogo Estado:
Testando um parâmetro do sistema de partículas
Testando uma posição de objeto
Testando uma propriedade atmosférica
Testando a distância entre dois objetos
Testando um parâmetro de modificador
Testando o comportamento de outro delegado
Para configurar e utilizar um controlador cognitivo:
Este procedimento descreve uma rotina de configuração típica para criação e utilização de um controlador cognitivo. O procedimento presume conhecimentos básicos de configuração de simulação de multidão. Para obter mais informações sobre a configuração de multidões, consulte Objeto de ajuda de multidões e Implementação de configuração.
o character studio fornece ao controlador o nome padrão de “Controlador cognitivo”. É recomendado que você forneça nomes mais descritivos para controladores cognitivos, como "Buscar/Perambular". Faça isso clicando no nome na caixa de texto e editando-o usando o teclado.
Criar um novo controlador cognitivo coloca você automaticamente no modo Criar estado.
Em seguida, defina um comportamento ou comportamentos para cada estado.
Se você selecionar vários comportamentos, poderá especificar pesos diferentes para cada um no editor de Estado. Por exemplo, é possível combinar um comportamento de busca em peso total com um comportamento de perambular em meio peso, de modo que o delegado vagueie ligeiramente enquanto procura o alvo.
Em seguida, utilize Criar transição para definir a sequência de estados durante a simulação.
Uma transição de seta aparece, apontando do estado de "origem" para o estado de "destino".
Cada estado pode ter qualquer número de transições de entrada e de saída. Especifique diferentes condições de transição para cada um a fim de criar um diagrama de estado tão complexo quanto necessário.
Avance, use a caixa de diálogo Transição de estado para definir uma condicional para cada transição.
Normalmente, essa é uma função que testa uma condição e retorna 1 (se verdadeiro) ou 0 (se falso).
É possível ver uma lista completa de parâmetros específicos ao delegado que podem ser verificados no script ao abrir uma janela de ouvinte do MAXScript Listener (pressione a tecla de função F11) e insira:
ShowProperties $ delegate01
E, como o delegado é um nó, ele também responde às funções padrão relacionadas ao nó do MAXScript, com exceção de "simpos", como indicado acima. Além disso, para obter informações sobre como acessar as propriedades de transição, como duração e prioridade, consulte a Ajuda do MAXScript.
Para obter mais exemplos de condicionais MAXScript que podem ser usados com controladores cognitivos, consulte Caixa de diálogo de transição de estado.