Hub de Exemplos do MRTK

MRTK Examples Hub

O Hub de Exemplos do MRTK é uma cena do Unity que facilita a experiência de várias cenas. Ele usa o Sistema de Cena do MRTK para carregar & as cenas.

MRTKExamplesHub.unity é a cena do contêiner que tem componentes compartilhados, incluindo MixedRealityToolkit e MixedRealityPlayspace. A cena MRTKExamplesHubMainMenu.unity tem os botões de cubo.

Baixar aplicativo de Microsoft Store no HoloLens 2

Se você tiver HoloLens dispositivo 2, poderá baixar e instalar diretamente o aplicativo em seu dispositivo.

English badge

Pré-requisito

O Hub de Exemplos do MRTK usa o Serviço de Transição de Cena e scripts relacionados. Se você estiver usando o MRTK por meio de pacotes do Unity, importe Microsoft.MixedReality.Toolkit. Unity.Extensions.x.x.x.unitypackage, que faz parte dos pacotes de lançamento. Se você estiver usando o MRTK por meio do clone do repositório, já deverá ter a pasta MRTK/Extensões em seu projeto.

Cena MRTKExamplesHub e o sistema de cena

Abra o MRTKExamplesHub.unity que está localizado em MRTK/Examples/Experimental/Demos/ExamplesHub/Scenes/ It é uma cena vazia com MixedRealityToolkit, MixedRealityPlayspace e LoadHubOnStartup. Esta cena está configurada para usar o Sistema de Cena do MRTK. Clique MixedRealitySceneSystem em MixedRealityToolkit. Ele exibirá as informações do Sistema de Cena no painel Inspetor.



Example Hub Hierarchy

Inspector 1

Na parte inferior do Inspetor, ele exibe a lista das cenas definidas no Perfil do Sistema de Cena. Você pode clicar nos nomes de cena para carregá-los/descarregá-los.



Inspector 2

Scene system 3Exemplo de carregamento da cena MRTKExamplesHub clicando no nome da cena na lista.

Scene system 4Exemplo de carregamento da cena HandInteractionExamples .

Scene system 5 Exemplo de carregamento de várias cenas.

Executando a cena

A cena funciona no modo de jogo do Unity e no dispositivo. Execute a cena MRTKExamplesHub no editor do Unity e use a simulação de entrada do MRTK para interagir com o conteúdo da cena. Para compilar e implantar, basta criar a cena MRTKExamplesHub com outras cenas incluídas na lista do Sistema de Cena. O inspetor também facilita a adição de cenas ao build Configurações. No building Configurações, verifique se a cena MRTKExamplesHub está na parte superior da lista no índice 0.

Build settings

Como o MRTKExamplesHub carrega uma cena

Na cena MRTKExamplesHub , você pode encontrar o ExamplesHubButton pré-fabricado. Há um objeto FrontPlate no prefab que contém Interactable. Usando o evento e OnTouch() o OnClick() Interactable, ele dispara a função LoadContentScene do script LoadContent(). No Inspetor do script LoadContentScene , você pode definir o nome da cena a ser carregado.



Scene system 6

Scene System 8

Scene System 7

O script usa a função LoadContent() do Sistema de Cena para carregar a cena. Consulte a página Sistema de Cena para obter mais detalhes.

MixedRealityToolkit.SceneSystem.LoadContent(contentName, loadSceneMode);

Retornando à cena do menu principal

Para retornar à cena do menu principal (cena MRTKExamplesHubMainMenu), você pode usar o mesmo método do Sistema LoadContent() de Cena. O toggleFeaturesPanelExamplesHub.prefab fornece o botão "Página Inicial", que contém o script LoadContentScene . Use essa pré-fabricado ou forneça um botão home personalizado em cada cena para permitir que o usuário retorne à cena principal. É possível colocar o ToggleFeaturesPanelExamplesHub.prefab na cena MRTKExamplesHub para torná-lo sempre visível, já que o MRTKExamplesHub é uma cena de contêiner compartilhado. Certifique-se de ocultar/desativar ToggleFeaturesPanel.prefab em cada cena de exemplo.

Toggle feature PanelExample Hub home button

Adicionando botões adicionais

No objeto CubeCollection , duplice (ou adicione) os pré-fabricados ExampleHubButton e clique em Atualizar Coleção no GridObjectCollection. Isso atualizará o layout do cilindro com base no novo número total de botões. Consulte a página Coleção de Objetos para obter mais detalhes.



Scene System 9

Scene System 10

Depois de adicionar os botões, atualize o nome da cena no script LoadContentScene (explicado acima). Adicione cenas adicionais ao perfil do Sistema de Cena.