Partilhar via


Tutorial do Mesh 101 Capítulo 4: Mover objetos e acionar animações com Interacionáveis e Física do Mesh

Neste capítulo, irá trabalhar com um modelo do parque eólico. Irá aprender a utilizar o Mesh Interactables and Physics para agarrar e libertar Corpos Rígidos (neste caso, turbinas eólicas) e configurar um acionador de animação com o Scripting Visual. Vai embrulhar as coisas restringindo as turbinas eólicas para que só possam ser movidas dentro de uma área especificada.

Este capítulo é um pouco mais simples do que fez no Capítulo 3---não há scripts e a rede está configurada para que a física fique igual a todos os avatares na sessão.

Há algumas coisas que temos de fazer antes de começar a trabalhar com a primeira estação.

Reconfigurar a Hierarquia

  • Na Hierarquia, feche o GameObject do Capítulo3 e, em seguida, expanda o GameObject capítulo4 .

Uma captura de ecrã de uma Descrição do computador

Alterar a vista para apresentar o Terraço do Capítulo 4 do Sphere

Na experiência do Mesh, o participante passará sem problemas do fim do Capítulo 3 até ao início do Capítulo 4 e estará devidamente localizado para iniciar as actividades de aprendizagem do Capítulo 4. No entanto, quando saiu do Modo de reprodução no final do Capítulo 3, não foi colocado automaticamente com uma vista para o modelo capítulo 4 na janela Cena . Vamos configurar essa vista.

  1. Na Hierarquia, selecione o GameObject com o nome 4.1 - Grab e Release.

    Uma captura de ecrã de uma Descrição do computador

  2. Mova o cursor sobre a janela Cena e, em seguida, prima a tecla F no teclado.

    Isto centra a vista no objeto 4.1 - Grab e Release , mas provavelmente não estará na posição de que precisamos.

  3. Arraste, rode e/ou amplie a vista até ver as estações do Capítulo 4 à sua frente, conforme mostrado abaixo.

    Imagem gerada por um computador de um modelo de uma descrição de montanha gerada automaticamente

Estação 4.1: Agarrar e Libertar

O objetivo do participante neste capítulo do treino é mover turbinas eólicas do topo da mesa para o oceano. Uma vez localizadas lá, as turbinas apanharão o vento do oceano, fazendo com que as suas lâminas rodem e gerem energia.

  1. Na Hierarquia, expanda a versão 4.1 - Grab e Release GameObject. Tenha em atenção que contém três GameObjects de Turbina Eólica que estão localizados no topo da tabela no cenário.

    Uma captura de ecrã de uma Descrição do computador

    Vamos adicionar capacidades de "agarrar e libertar" ao WindTurbine1 para que os participantes possam movê-lo no Mesh.

  2. Na Hierarquia, selecione WindTurbine1.

  3. No Inspetor, clique no botão Adicionar Componente e, em seguida, procure e adicione a Configuração Interacionável do Mesh.

    Uma captura de ecrã

    Dica

    Foi dada uma explicação sobre este componente no Capítulo 3 deste tutorial.

  4. No mesmo componente, clique no menu pendente Tipo de Objeto e, em seguida, selecione Manipulador.

    Uma captura de ecrã

  5. Certifique-se de que o componente está ativo.

  6. No componente Rigidbody, expanda a opção Restrições, se necessário, e, em seguida, para as definições Fixar Rotação, selecione X,Y e Z.

    Uma captura de ecrã de uma Descrição de computador gerada automaticamente

Isto impedirá que a turbina vire se a colocar numa superfície irregular.

Testar o seu trabalho

  1. Guarde o projeto e, em seguida, selecione o botão Reproduzir do Editor do Unity.

    Tenha em atenção que sempre que entrar no modo de Jogo, o ponto de partida na janela Jogo é o Terraço do Capítulo 3 do Sphere. Para este capítulo, queremos estar no outro Terraço do Sphere---o com as funcionalidades do Capítulo 4. Felizmente, há uma maneira fácil de chegar lá.

  2. Rode a vista para a direita até ver a caixa de informações Ir para o Capítulo 4 .

    Uma captura de ecrã de uma Descrição do computador

  3. Aceda à caixa de informações e, em seguida, selecione o botão Teleportar para o Capítulo 4 .

    Uma captura de ecrã de uma Descrição de computador gerada automaticamente

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

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

    Uma imagem

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

Não precisa de atualizar as outras duas turbinas eólicas- já fizemos isso por si.

Estação: Acionador de Animação 4.2

A ideia aqui é que quando arrastamos uma turbina eólica sobre o oceano, o "vento" faz com que as lâminas da turbina rodem. O que realmente acontece é que um cubo transparente chamado Acionador de Animação está localizado sobre o oceano e atua como um volume de acionador. Se arrastar uma turbina eólica para o volume do acionador, este desativa um evento Ao Ativar Enter que inicia uma animação de painel giratório.

Neste capítulo, vamos adicionar um script a um GameObject e, em seguida, ativar a animação no script.

  1. Na Hierarquia, expanda o GameObject 4.2 - Acionador de Animação e, em seguida, selecione o respetivo objeto subordinado denominado Acionador de Animação.

    Uma captura de ecrã

    Tenha em atenção que pode ver os contornos verdes do Colisor de Caixa do GameObject do Acionador de Animação .

    Uma captura de ecrã

  2. No Inspetor, navegue para o componente Colisor de Caixas e, em seguida, selecione É Acionador.

    Uma captura de ecrã

Dica

Quando seleciona É Acionador, torna o objeto que o componente collider está ligado a um volume de acionador.

  1. Na Hierarquia, navegue para Capítulo 4>4.1 - Agarrar e Libertar e, em seguida , selecione WindTurbine1.
  2. Clique no botão Adicionar Componente e, em seguida, procure e adicione Máquina de Script.

Queremos que o nosso script seja incorporado, mas isso normalmente significa que tem de começar a criar um novo gráfico de script do zero. Vamos fazer um atalho; deixe a opção Origem definida como Gráfico por agora. Vamos anexar um gráfico de script existente e, em seguida, convertê-lo num gráfico incorporado.

  1. Clique no botão no campo Gráfico e, em seguida, na janela SelectSceneGraph, selecioneSPWindTurbineScript.

    Uma captura de ecrã

  2. Clique no botão Converter . Tenha em atenção que esta ação remove a definição do Gráfico e altera a opção Origem para Incorporar.

Adicionar a animação do painel giratório ao gráfico

Dedique algum tempo a examinar o gráfico de scripts. Tem dois grupos: o grupo superior aciona a animação que gira o painel quando o utilizador arrasta uma turbina eólica para o volume do acionador e o grupo inferior para a animação quando o utilizador arrasta a turbina para fora do volume.

Uma captura de ecrã

O gráfico está quase configurado como queremos, mas ainda há um problema. Os dois animadores: definir nós de acionador estão definidos como Este ...

Uma captura de ecrã

... mas isto (por outras palavras, WindTurbine1) não tem a animação que queremos acionar. Vamos encontrá-la.

  1. Na Hierarquia, expanda WindTurbine1 e, em seguida, expanda o objeto subordinado denominado WindTurbineBody. Isto revela o objeto subordinado com o nome Windmill_Turbine_001:Hélices10.

    Uma captura de ecrã

  2. Selecione Windmill_Turbine_001:Hélices10 e, em seguida, no Inspetor, tenha em atenção que contém um componente do Animator com o Controlador de Animador denominado WindTurbine1Propellers.

    Uma captura de ecrã

    Este Animator é o que irá fornecer a nossa animação.

  3. Arraste o Windmill_Turbine_001:Hélices10 GameObject da Hierarquia e, em seguida, no gráfico de scripts, largue-o no primeiro campo no Animator: Definir Nó do Acionador localizado no primeiro grupo.

    Uma captura de ecrã

  4. Arraste novamente o Windmill_Turbine_001:Hélices10 GameObject da Hierarquia e, em seguida, no gráfico de scripts, largue-o no primeiro campo no nó Animator: Definir Acionador localizado no segundo grupo.

O script está agora concluído.

Testar o seu trabalho

  1. Guarde o projeto e, em seguida, prima o botão Reproduzir do Editor do Unity.

  2. Como indicado anteriormente, entrar no modo de Reprodução coloca o seu avatar no Terraço do Capítulo3 do Sphere. Rode a cena para a direita e, em seguida, aceda ao botão Teleportar para o Capítulo 4 e prima-a.

    Uma captura de ecrã de uma Descrição de computador gerada automaticamente

  3. Agora deve estar no Terraço do Capítulo4 do Sphere. Arraste WindTurbine1 (lembrete: é o mais distante na parte de trás, com as lâminas vermelhas) sobre o oceano. Tenha em atenção que as lâminas da turbina estão agora a girar.

    Uma imagem que contém captura de ecrã, modelação 3d, jogos para PC, software de videojogos Descrição gerada automaticamente

  4. Arraste a mesma turbina para longe do oceano e coloque-a novamente no topo da mesa. Tenha em atenção que as lâminas da turbina param de girar.

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

Não tens de actualizar as outras turbinas eólicas--- já o fizemos por ti.

Estação 4.3: Corpos Restritos

Neste momento, não há nenhuma restrição em que um participante possa largar uma turbina eólica. Esperamos que coloquem as turbinas no oceano onde possam apanhar o vento, mas um participante poderia, por exemplo, acidentalmente largar uma turbina no chão. Queremos evitar isto, por isso, para garantir que as turbinas só possam aterrar na mesa ou no oceano, podemos configurar um campo de contenção. Trata-se basicamente de uma caixa transparente---as turbinas serão restritas ao interior da caixa.

  1. Na Hierarquia, expanda o GameObject 4.3 -- Constraining Bodies e selecione o respetivo objeto subordinado denominado Campo de Contenção.

    Uma captura de ecrã de uma Descrição de computador gerada automaticamente

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

    Uma captura de ecrã de uma Descrição de computador gerada automaticamente

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

    Uma captura de ecrã de uma Descrição de computador gerada automaticamente

  4. Na caixa Começa Com , escreva "WindTurbine". Uma vez que as três turbinas eólicas na nossa cena começam com "WindTurbine", todas ficarão restritas ao Campo de Contenção.

    Uma captura de ecrã de uma Descrição do computador

Testar o seu trabalho

  1. Guarde o projeto e, em seguida, prima o botão Reproduzir do Editor do Unity.

  2. Como indicado anteriormente, entrar no modo de Reprodução coloca o seu avatar no Terraço do Capítulo3 do Sphere. Rode a cena para a direita e, em seguida, aceda ao botão Teleportar para o Capítulo 4 e prima-a.

    Uma captura de ecrã de uma Descrição de computador gerada automaticamente

  3. Agora deve estar no Terraço do Capítulo4 do Sphere. Arraste uma das turbinas eólicas para longe do topo da mesa e do oceano e tente largue-a no chão. O campo de contenção impede-o de o fazer.

Capítulo 4: Resumo

Neste capítulo, adicionou funcionalidades do Mesh que capacitam os participantes na sua experiência para fazerem o seguinte:

  • Agarrar e mover um objeto

  • Acionar uma animação quando o participante arrasta um objeto para um volume de acionador

  • Remover um objeto apenas numa área específica que especificou

Passos seguintes

Capítulo 5: Disponibilizar o seu ambiente para testes