Exemplo de kit de ferramentas do Microsoft Mesh: Toybox
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 .
Veja como fica 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.
- Saco de feijão Toss
- Fogueira e Marshmallows Assados
- Quebra-gelo
- Escultura da Esfera
- pioneiras do
- Opção
- Boombox
Saco de feijão Toss
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
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
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
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
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
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
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.
- Copie e cole a pasta com.microsoft.mesh.toolkit.toybox localizada na pasta Pacotes na pasta Pacotes do projeto.
- 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:
No projeto, na barra de menus, selecione Gerenciador de Pacotes de Janela>.
No Gerenciador de Pacotes, clique no menu suspenso '+' e selecione "Adicionar pacote do URL do git..."
Cole https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox no campo de texto e clique em Adicionar.
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:
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.