Compartilhar via


Exemplo de kit de ferramentas do Microsoft Mesh: Toybox

Uma visão de longa distância da cena da Toybox em um evento Mesh.

Toybox é uma amostra de Mesh que capacita os criadores a criar experiências e jogos interativos Mesh. O exemplo fornece uma série de atividades que usam misturas de ativos, sombreadores, scripts visuais, animações, efeitos visuais e SoundFX para impulsionar o engajamento social em experiências de malha.

Se esta for a primeira vez que você usa um de nossos exemplos, recomendamos que você revise nossa visão geral de amostras, se ainda não o fez.

O Pacote Toybox

O pacote Toybox é chamado com.microsoft.mesh.toolkit.toybox e pode ser encontrado no Explorador de Arquivos na pasta Pacotes .

Uma captura de tela do pacote Toybox no Explorador de Arquivos.

Veja como fica no projeto Unity.

Uma captura de tela do pacote Toybox no projeto Unity.

Entendendo a cena Interactables

Para entender as interações entre objetos na cena, recomendamos que você revise o artigo Agarrar, segurar e lançar com Interactables e, em seguida, dê uma olhada nos objetos no exemplo Toybox que são tornados interactáveis contendo os componentes Mesh Interactable Setup ou Mesh Interactable Body. Examinar os scripts visuais anexados a determinados objetos lhe dará mais informações. Os scripts contêm uma mistura de nós Unity padrão e nós que são feitos especialmente para Mesh. Para saber mais sobre os nós Mesh, consulte a Referência do nó de script visual. Há muitos GameObjects no exemplo Toybox; as listas e tabelas abaixo devem facilitar a localização dos objetos interactáveis e dos nós Mesh nos scripts.

Atividades Toybox

A imagem abaixo pode ajudá-lo a encontrar as diferentes atividades na cena. Para ver uma versão maior, clique na imagem.

  1. Saco de feijão Toss
  2. Fogueira e Marshmallows Assados
  3. Quebra-gelo
  4. Escultura da Esfera
  5. pioneiras do
  6. Opção
  7. Boombox

Vista de longa distância da cena da Toybox com recursos numerados.

  • Saco de feijão Toss

    GIF que mostra um participante do evento jogando o jogo de arremesso de saco de feijão.

    Esta é uma atividade divertida que pode adicionar um elemento de jogo ao seu projeto e promover a interação social e a construção de equipes através de alguma competição amigável. Os pufes são corpos interacíveis e rígidos que possuem scripts visuais com diversas variáveis de objetos acoplados. Um conjunto de destinos tem animações anexadas que fazem com que os orifícios girem (nome do objeto: Rotação). Quando um saco "pontua" caindo em um buraco, um componente do sistema de partículas gera uma pista visual "vencedora" (nome do objeto: vfx_beanbag_score_001).

  • Fogueira e Torrefação de Marshmallows

    GIF que mostra um participante do evento assando um marshmallow.

    Os participantes podem pegar um marshmallow em um palito e se juntar a seus amigos para um assado de marshmallow. Um stick (nome do objeto: MarshmallowStick) pode ser agarrado e segurado porque ele tem um componente Mesh Interactable Setup com seu Tipo de Objeto definido como Equippable. Ele também tem um gráfico de script anexado que aciona um clipe de animação chamado Roast. Se você quiser mais informações sobre o efeito de queima de marshmallow, dê uma olhada no gráfico de sombreador S_VFX_BurntShader anexado ao objeto Marshmallow_03_burnt . O fogo é fornecido por sistemas de partículas ligados ao objeto Main_Flame e seus objetos filhos. Os bastões podem ser devolvidos aos seus lugares originais no porta-adesivos graças ao script ResetButton anexado ao objeto Reset_Button_Marshmallow_Varient .

  • Quebra-gelo

    Uma captura de tela de um participante do Mesh tocando em uma esfera quebra-gelo e gerando uma pergunta.

    Quando os participantes tiverem seu recheio de marshmallows assados, eles podem visitar o Quebra-Gelo localizado nas proximidades. Esta atividade é uma ótima maneira de as pessoas aprenderem mais umas sobre as outras. Os participantes podem se reunir em torno de uma esfera que, quando clicada, pergunta sobre um programa de TV favorito, performance memorável, conselhos que receberam ou qualquer outra coisa relacionada a suas opiniões, interesses ou experiências. A esfera é um Interactable com um script chamado IceBreaker anexado. Ele também tem uma variável de objeto do tipo List of String que contém as possíveis perguntas.

  • Escultura da Esfera

    Uma captura de tela de um participante do Mesh tocando uma escultura de esfera gerando um som.

    Esta "escultura" consiste em mais de uma dúzia de esferas de vários tamanhos flutuando no espaço. As esferas são Interactables (nome do objeto: InteractableSphere). Quando um participante toca uma esfera, um tom semelhante a um sino é gerado. Para ver como isso funciona, dê uma olhada no script SpheresSculptureSphere_Simple anexado ao InteracatableSphere.

  • Sistema solar

    Uma captura de tela de um participante do Mesh na atividade do Sistema Solar agarrando o astronauta.

    Esta é uma mini-versão do nosso sistema solar, com modelos da Terra, Marte e Júpiter flutuando em órbita ao redor do Sol (nomes de objetos: Planet_Earth, Planet_Mars, Planet_Jupiter). Há também um modelo de astronauta (nome do objeto: Astronaut Rig). Um participante pode entrar em contato e pegar os modelos à distância, pois cada um deles tem componentes de Configuração Interactável de Malha definidos para digitar Manipulável. O modelo astronauta tem articulações e uma plataforma; quando é agarrado e movido, seus braços e pernas tremem. Os modelos não podem ser movidos para fora da sala devido à presença de um objeto de Campo de Contenção .

  • Rádio

    Uma captura de tela de um participante do Mesh pressionando o botão no Rádio para controlar o som.

    Apenas uma simples rádio para fornecer alguma música de fundo jazzy para o Ambiente. O rádio (nome do objeto: Radio_Pressable_Prefab) tem um script anexado (PressableRadio) que gera o áudio. As notas musicais que flutuam do rádio são geradas pelo objeto Sistema de Partículas (objeto filho de Radio_V2).

  • Boombox

    Uma captura de tela de um participante do Mesh pressionando o botão no Boombox para controlar o som.

    Este é semelhante em operação ao Rádio, com um estilo de música ligeiramente diferente. O script para reproduzir o som (PlayButton_Script) é anexado ao objeto toybox_play_button_3_varient. O script tem um subgrafo (BoomboxState) que contém os nós para o áudio.

Adicionar o pacote Toybox a um projeto existente

Há algumas maneiras de adicionar o pacote Toybox ao seu projeto.

  1. Copie e cole a pasta com.microsoft.mesh.toolkit.toybox localizada na pasta Pacotes na pasta Pacotes do projeto.
  2. Faça referência ao pacote Toybox do GitHub.

Importante

Para fazer referência ao pacote Toybox do GitHub, você deve ter o Git instalado no seu computador.

Para importar Toybox para seu projeto Unity usando o GitHub:

  1. No projeto, na barra de menus, selecione Gerenciador de Pacotes de Janela>.

  2. No Gerenciador de Pacotes, clique no menu suspenso '+' e selecione "Adicionar pacote do URL do git..."

    Uma captura de tela da opção de menu Adicionar pacote do Github.

  3. Cole https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox no campo de texto e clique em Adicionar.

    Uma captura de tela do URL da caixa de brinquedos colada na caixa de texto do Github.

Toybox agora será instalado em seu projeto Unity como um pacote na pasta Pacotes do projeto com o nome Microsoft Mesh Toolkit Toybox.

Dica

Recomendamos que você use uma versão específica do pacote Toybox para garantir que seu projeto esteja bloqueado para uma versão.

Você pode fazer referência a uma versão de versão específica, ramificação ou hash de confirmação do Git alterando a URL na etapa 3, conforme demonstrado abaixo:

Sintaxe Exemplo de URL
Versão específica https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#vX.Y.Z
Ramo específico https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#my_branch
Hash de confirmação do Git https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#badc0ffee0ddf00ddead10cc8badf00d1badb002

Objetos com o componente Configuração interactável de malha

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • InteractableSphere
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Reset_Button_Marshmallow_Varient
  • MarshmallowStick
  • Botão
  • toybox_play_button_01_varient
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Planet_astronaut_hip
  • Button (objeto filho de ButtonHolder)
  • toybox_play_button_01_varient

Objetos com o componente Corpo interactável de malha

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • Reset_Button_Marshmallow_Varient
  • Button (objeto filho de ButtonHolder)
  • toybox_play_button_01_varient

Objetos com os componentes físicos da malha

GameObject Componente
Gravidade Campo Gravitacional Orbital
Campo de Contenção Campo de Contenção
Astronaut_containment Campo de Contenção
Empuxo Campo de Empuxo
BeanBags, Suporte para Marshmallow, Marshmallow_Pos Redefinir transformação de corpo
Marshmallow_Pos Redefinir transformações de corpo

Nós de malha usados em gráficos de script

Microsoft Mesh: No estado alterado


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Saco de feijão Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura da Esfera InteractableSphere EsferasEsculturaEsfera SpheresSculptureSphere_Simple
Quebra-gelo Quebra-gelo Quebra-gelo Quebra-gelo
Caixa de música Radio_Pressable_Prefab Rádio Pressionável PressableRadio
Caixa de música toybox_play_button_01_varient PlayButton Script PlayButton_Script

Corpo interactable da malha: está equipado


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Saco de feijão Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Corpo interactable da malha: está apontando


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Saco de feijão Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Corpo interactable da malha: é selecionado


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Saco de feijão Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura da Esfera InteractableSphere EsferasEsculturaEsfera SpheresSculptureSphere_Simple

Corpo interactable da malha: é selecionado localmente


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Quebra-gelo Quebra-gelo Quebra-gelo Quebra-gelo
Caixa de música Radio_Pressable_Prefab Rádio Pressionável PressableRadio
Caixa de música toybox_play_button_01_varient PlayButton Script PlayButton_Script

Corpo interactable da malha: IsHovered


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Escultura da Esfera InteractableSphere EsferasEsculturaEsfera SpheresSculptureSphere_Simple
Quebra-gelo Quebra-gelo Quebra-gelo Quebra-gelo

Redefinir transformações de corpo: redefinir transformações de corpo agora


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton

Propriedades de áudio espacial: Criar


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Saco de feijão Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura da Esfera InteractableSphere EsferasEsculturaEsfera SpheresSculptureSphere_Simple

Microsoft Mesh: Reproduzir áudio Mesh


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Saco de feijão Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura da Esfera InteractableSphere EsferasEsculturaEsfera SpheresSculptureSphere_Simple

Microsoft Mesh: Som aleatório


Atividade Objetos de jogo Nome da máquina de script Nome do gráfico
Saco de feijão Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph

Aviso sobre o tempo de carregamento da amostra

A amostra pode levar 15 minutos ou um pouco mais para carregar no Unity devido aos grandes tamanhos de ativos. Se precisar, altere a configuração do modo de suspensão para que o computador não entre em repouso enquanto o projeto está sendo carregado. Se isso acontecer, pode fazer com que o projeto não seja carregado corretamente.

Contribuições

No momento, não estamos aceitando contribuições de código para nossos exemplos. Se você tiver algum comentário ou se tiver algum problema com os exemplos ou o kit de ferramentas Mesh, faça o seguinte: em um projeto Unity que tenha o pacote do kit de ferramentas Mesh instalado, selecione Mesh Toolkit ->Give feedback to Microsoft e use o link de comentários no Mesh toolkit para nos informar.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para saber mais, confira as Perguntas Frequentes sobre o Código de Conduta ou contate opencode@microsoft.com com perguntas ou comentários adicionais.

Licença

O exemplo de malha neste projeto é regido pela licença MIT, conforme mostrado na LICENÇA. MD no repositório Mesh-Toolkit-Unity . No entanto, a funcionalidade de exemplos depende do kit de ferramentas Mesh, que é regido por uma licença separada e contém software de terceiros 3rd.