Compartilhar via


Capítulo 4 do Tutorial da Malha 101: Mover objetos e disparar animações com Interacionáveis de Malha e Física

Neste capítulo, você trabalhará com um modelo do parque eólico. Você aprenderá a usar Interacionáveis de Malha e Física para capturar e liberar Corpos Rígidos (nesse caso, turbinas eólicas) e configurar um gatilho de animação usando o Visual Scripting. Você encapsulará as coisas restringindo as turbinas eólicas para que elas só possam ser movidas dentro de uma área especificada.

Este capítulo é um pouco mais simples do que o que você fez no Capítulo 3---não há scripts e a rede é configurada para que a física tenha a mesma aparência para todos os avatares na sessão.

Há algumas coisas que precisamos fazer antes de começar a usar a primeira estação.

Reconfigurar a hierarquia

  • Na Hierarquia, recolha o Capítulo3 GameObject e expanda o Capítulo4 GameObject.

Uma captura de tela de uma descrição do computador

Alterar o modo de exibição para exibir o Terraço do Capítulo 4 Sphere

Na experiência em Malha, o participante se moverá sem problemas do final do Capítulo 3 até o início do Capítulo 4 e estará devidamente localizado para iniciar as atividades de aprendizagem do Capítulo 4. No entanto, quando você saiu do modo de reprodução no final do Capítulo 3, você não foi colocado automaticamente com uma exibição para o modelo capítulo 4 na janela Cena . Vamos configurar essa exibição.

  1. Na Hierarquia, selecione o GameObject chamado 4.1 -- Grab and Release.

    Uma captura de tela de uma descrição do computador

  2. Mova o cursor sobre a janela Cena e pressione a tecla F no teclado.

    Isso centraliza a exibição no objeto 4.1 -- Grab and Release , mas provavelmente você não estará na posição de que precisamos.

  3. Arraste, gire e/ou amplie o modo de exibição até ver as estações do Capítulo 4 à sua frente, conforme mostrado abaixo.

    Uma imagem gerada pelo computador de um modelo de uma descrição de montanha gerada automaticamente

Estação 4.1: Captura e liberação

O objetivo para o participante deste capítulo do treinamento é mover turbinas eólicas da mesa para o oceano. Uma vez localizadas lá, as turbinas pegarão o vento do oceano, fazendo suas lâminas girarem e gerarem energia.

  1. Na Hierarquia, expanda o 4.1 – Pegar e Lançar GameObject. Observe que ele contém três GameObjects de Turbina Eólica que estão localizados na mesa na cena.

    Uma captura de tela de uma descrição do computador

    Vamos adicionar funcionalidades de "capturar e liberar" ao WindTurbine1 para que os participantes possam movê-lo na Malha.

  2. Na Hierarquia, selecione WindTurbine1.

  3. No Inspetor, clique no botão Adicionar Componente e, em seguida, pesquise e adicione a Instalação Interacionável de Malha.

    Uma captura de tela

    Dica

    Uma explicação desse componente foi dada no Capítulo 3 deste tutorial.

  4. No mesmo componente, clique na lista suspensa Tipo de Objeto e selecione Manipulador.

    Uma captura de tela

  5. Verifique se o componente está ativo.

  6. No componente Rigidbody, expanda a opção Restrições, se necessário, e, para as configurações congelar rotação, selecione X,Y e Z.

    Captura de tela de uma Descrição do computador gerada automaticamente

Isso impedirá que a turbina tombe se você colocá-la em uma superfície irregular.

Teste o trabalho

  1. Salve o projeto e, em seguida, selecione o botão Reproduzir editor do Unity.

    Observe que sempre que você entra no modo de jogo, seu ponto de partida na janela Jogo é o Terraço do Capítulo 3 Sphere. Para este capítulo, queremos estar no outro Sphere Terrace---o com os recursos do Capítulo 4. Felizmente, há uma maneira fácil de chegar lá.

  2. Gire o modo de exibição para a direita até ver a caixa de informações Ir para o Capítulo 4 .

    Uma captura de tela de uma descrição do computador

  3. Vá até a caixa de informações e selecione o botão Teletransportar para o Capítulo 4 .

    Captura de tela de uma Descrição do computador gerada automaticamente

  4. Depois de chegar ao Terraço do Capítulo 4 Sphere, mova o cursor sobre WindTurbine1 - sua forma mudará - e arraste a turbina ao redor da cena.

    A turbina permanecerá vertical como resultado da ativação de suas restrições de Rotação de Congelamento .

    Uma imagem

  5. Clique no botão Reproduzir do Editor do Unity para sair do modo de reprodução.

Você não precisa atualizar as outras duas turbinas eólicas.

Estação: gatilho de animação 4.2

A idéia aqui é que quando você arrasta uma turbina eólica sobre o oceano, o "vento" faz com que as lâminas da turbina girem. O que realmente acontece é que um cubo transparente chamado Gatilho de Animação está localizado sobre o oceano e atua como um volume de gatilho. Se você arrastar uma turbina eólica para o volume do gatilho, ela disparará um evento On Trigger Enter que inicia uma animação de folha giratória.

Para este capítulo, adicionaremos um script a um GameObject e habilitaremos a animação no script.

  1. Na Hierarquia, expanda o 4.2 – Gatilho de Animação GameObject e selecione seu objeto filho chamado Gatilho de Animação.

    Uma captura de tela

    Observe que você pode ver os contornos verdes do Colisor de Caixa do Gatilho de Animação do GameObject.

    Uma captura de tela

  2. No Inspetor, navegue até o componente Colisor de Caixa e selecione É Gatilho.

    Uma captura de tela

Dica

Quando você seleciona É Gatilho, ele torna o objeto que o componente do colisor está anexado a um volume de gatilho.

  1. Na Hierarquia, navegue até Capítulo 4 4.1>– Pegar e Liberar e selecione WindTurbine1.
  2. Clique no botão Adicionar Componente e, em seguida, pesquise e adicione o Computador de Script.

Queremos que nosso script seja inserido, mas isso geralmente significa que você deve começar a criar um novo grafo de script do zero. Vamos pegar um atalho; deixe a opção Origem definida como Graph por enquanto. Anexaremos um grafo de script existente e o converteremos em um grafo inserido.

  1. Clique no botão no campo Grafo e, na janela SelectSceneGraph , selecione SPWindTurbineScript.

    Uma captura de tela

  2. Clique no botão Converter . Observe que isso remove a configuração do Graph e altera a opção Origem para Inserir.

Adicionar a animação de folha giratória ao grafo

Reserve um momento para examinar o grafo de script. Ele tem dois grupos: o grupo superior dispara a animação de rotação de folhas quando o usuário arrasta uma turbina eólica para o volume do gatilho e o grupo inferior interrompe a animação quando o usuário arrasta a turbina para fora do volume.

Uma captura de tela

O grafo está quase configurado como queremos, mas há um problema restante. Os dois animadores: Definir nós de gatilho são definidos como Este ...

Uma captura de tela

... mas Isso (em outras palavras, WindTurbine1) não tem a animação que queremos disparar. Vamos encontrá-lo.

  1. Na Hierarquia, expanda WindTurbine1 e expanda seu objeto filho chamado WindTurbineBody. Isso revela o objeto filho chamado Windmill_Turbine_001:Propellors10.

    Uma captura de tela

  2. Selecione Windmill_Turbine_001:Propellors10 e, em seguida, no Inspetor, observe que ele contém um componente Animador com o Controlador de Animador chamado WindTurbine1Propellers.

    Uma captura de tela

    Esse Animador é o que fornecerá nossa animação.

  3. Arraste o gameObject Windmill_Turbine_001:Propellors10 da Hierarquia e, em seguida, no grafo de script, solte-o no primeiro campo no nó Animator: Definir Gatilho localizado no primeiro grupo.

    Uma captura de tela

  4. Arraste o Windmill_Turbine_001:Propellors10 GameObject da Hierarquia novamente e, em seguida, no grafo de script, solte-o no primeiro campo do nó Animator: Definir Gatilho localizado no segundo grupo.

O script agora está concluído.

Teste o trabalho

  1. Salve o projeto e pressione o botão Reproduzir do Editor do Unity.

  2. Conforme observado anteriormente, entrar no modo Reproduzir coloca seu avatar no Terraço do Chapter3 Sphere. Gire a cena para a direita e, em seguida, vá até o botão Teletransportar para o Capítulo 4 e pressione-a.

    Captura de tela de uma Descrição do computador gerada automaticamente

  3. Agora você deve estar no Chapter4 Sphere Terrace. Arraste WindTurbine1 (lembrete: é o mais distante na parte de trás, com as lâminas vermelhas) sobre o oceano. Observe que as lâminas da turbina agora estão girando.

    Uma imagem que contém captura de tela, modelagem 3d, jogo de computador, software de videogame Descrição gerado automaticamente

  4. Arraste a mesma turbina para longe do oceano e coloque-a de volta na mesa. Observe que as lâminas da turbina param de girar.

  5. Quando terminar de observar a animação, pressione o botão Reproduzir do Editor do Unity para sair do modo de reprodução.

Você não precisa atualizar as outras turbinas eólicas--- já fizemos isso por você.

Estação 4.3: Restringindo corpos

No momento, não há nenhuma restrição sobre onde um participante pode soltar uma turbina eólica. Esperamos que coloquem as turbinas no oceano onde podem pegar o vento, mas um participante poderia, por exemplo, acidentalmente soltar uma turbina no chão. Queremos evitar isso, para garantir que as turbinas só possam pousar na mesa ou no oceano, podemos configurar um campo de contenção. Esta é basicamente uma caixa transparente---as turbinas serão restritas ao interior da caixa.

  1. Na Hierarquia, expanda o GameObject 4.3 – Corpos Restritos e selecione seu objeto filho chamado Campo de Contenção.

    Captura de tela de uma Descrição do computador gerada automaticamente

  2. No Inspetor, selecione o botão Adicionar Componente e adicione o componente Campo de Contenção .

    Captura de tela de uma Descrição do computador gerada automaticamente

  3. No componente Campo de Contenção , selecione o botão "+" à direita da opção Corpos afetados e, no menu pop-up, selecione a condição Nome do Objeto do Jogo .

    Captura de tela de uma Descrição do computador gerada automaticamente

  4. Na caixa Começa com , digite "WindTurbine". Como todas as três turbinas eólicas em nossa cena começam com "WindTurbine", todas elas serão restritas ao Campo de Contenção.

    Uma captura de tela de uma descrição do computador

Teste o trabalho

  1. Salve o projeto e pressione o botão Reproduzir do Editor do Unity.

  2. Conforme observado anteriormente, entrar no modo Reproduzir coloca seu avatar no Terraço do Chapter3 Sphere. Gire a cena para a direita e, em seguida, vá até o botão Teletransportar para o Capítulo 4 e pressione-a.

    Captura de tela de uma Descrição do computador gerada automaticamente

  3. Agora você deve estar no Chapter4 Sphere Terrace. Arraste uma das turbinas eólicas para longe da mesa e do oceano e tente solte-a no chão. O campo de contenção impede que você faça isso.

Capítulo 4: Resumo

Neste capítulo, você adicionou recursos do Mesh que capacitam os participantes em sua experiência a fazer o seguinte:

  • Pegar e mover um objeto

  • Disparar uma animação quando o participante arrastar um objeto para um volume de gatilho

  • Remover um objeto somente em uma área específica que você especificou

Próximas etapas

Capítulo 5: Disponibilizar seu ambiente para teste