Compartilhar via


Crie um projeto simples de Cloud Scripting

Neste artigo, você criará e publicará um projeto simples usando o Mesh Cloud Scripting. O artigo pressupõe que você já configurou o Cloud Scripting em seu sistema. Recomendamos que você se familiarize com a lista atual de problemas conhecidos do kit de ferramentas Mesh antes de iniciar o desenvolvimento com o Mesh Cloud Scripting.

Saiba mais sobre a infraestrutura e o gerenciamento do Mesh Cloud Scripting.

Criar uma cena com o Mesh Cloud Scripting

As instruções a seguir mostram como criar um ambiente simples com um cubo que gira quando um usuário clica nele.

  1. Vá para o artigo chamado Criar novo ou atualizar um projeto existente. Se você estiver criando um novo projeto, siga todas as etapas na seção chamada Criar um novo projeto. Se você estiver atualizando um projeto existente, faça o mesmo para a seção chamada Atualizar um projeto existente.

  2. Crie uma cena.

  3. Adicione um ponto de viagem à cena.

  4. Salve a cena e nomeie-a. Para este exemplo, usaremos o nome MyFirstCloudScripting.

  5. Na barra de menus, selecione GameObject>Mesh Toolkit>Set-up Cloud Scripting.

    Captura de tela do item de menu Configurar Cloud Scripting.

    Observe que um objeto de jogo chamado Mesh Cloud Scripting aparece na hierarquia e é selecionado. Se você clicar no botão Abrir pasta do aplicativo no Inspetor ...

    Captura de tela do botão Abrir pasta do aplicativo no Unity.

    ... você verá no Explorador de Arquivos do Windows que isso também cria um novo projeto ASP.NET Core chamado MyFirstCloudScripting.csproj nos Ativos > . Pasta MeshCloudScripting > MyFirstCloudScripting .

    Captura de tela de uma estrutura de pastas no Windows mostrando o projeto de script.

Modificar a cena

  1. Configure o Modo de Reprodução com a Emulação de Malha. Certifique-se de adicionar um GameObject à cena que possa atuar como um piso e configurá-lo para a camada GroundCollision .

  2. Quando você configura o Modo de Reprodução com Emulação de Malha, ele adiciona o pré-fabricado MeshEmulatorSetup[NoUpoload] à cena que contém a câmera que você usará a partir deste ponto. Você não precisa mais da câmera principal padrão GameObject, exclua-a.

    Uma captura de tela do Cubo colocado como filho no Mesh Cloud Scripting.

  3. Na barra de menus, selecione GameObject>3D object>Cube.

  4. Na Hierarquia, arraste o Cubo para o objeto Mesh Cloud Scripting para tornar o Cubo um filho desse objeto.

    Uma captura de tela do Cubo colocado como filho no Mesh Cloud Scripting.

  5. Com o Cubo selecionado, no Inspetor, navegue até o componente Transformar e altere os valores de Posição e Rotação do Cubo para o seguinte:

    Posição: X = 0,1, Y = 1,5, Z = 3,3.

    Rotação: X = -15, Y = 0,8, Z = 0,1

    Dica: A câmera no pré-fabricado MeshEmulatorSetup[NoUpload] é um objeto filho de AvatarHead.

    Uma captura de tela do objeto de jogo Câmera na Hierarquia e o Cubo colocado no modo de exibição Cena.

  6. No Inspetor, clique em Adicionar Componente e selecione Configuração Interactable de Malha.

    Captura de tela da barra de pesquisa Adicionar componente com a configuração de interacionáveis de malha selecionada.

  7. Salve a cena.

Modificar o projeto C#

  1. Na hierarquia, selecione o objeto Mesh Cloud Scripting.

  2. No Inspetor, navegue até o componente Mesh Cloud Scripting e clique no botão Abrir pasta do aplicativo. Isso abre o Explorador de Arquivos e mostra uma exibição do conteúdo do projeto.

    Captura de tela do componente Mesh Cloud Scripting com o botão Abrir pasta do aplicativo realçado.

  3. Abra o script no editor de App.cs códigos.

  4. Observe que, na classe App, há duas variáveis:

    private readonly ILogger<App> _logger;
    private readonly ICloudApplication _app;
    

    Adicione o seguinte como uma terceira variável:

    private float _angle = 0;
    
  5. O método StartAsync contém um único comentário: "Adicione o código de inicialização do aplicativo aqui". Substitua isso pelo código abaixo para que o método StartAsync tenha a seguinte aparência:

    public Task StartAsync(CancellationToken token)
    {
        // First we find the TransformNode that corresponds to our Cube gameobject
        var transform = _app.Scene.FindFirstChild<TransformNode>();
    
        // Then we find the InteractableNode child of that TransformNode
        var sensor = transform.FindFirstChild<InteractableNode>();
    
        // Handle a button click
        sensor.Selected += (_, _) =>
        {
            // Update the angle on each click
            _angle += MathF.PI / 8;
            transform.Rotation = new Rotation { X = 1, Y = 0, Z = 0, Angle = _angle };
        };
    
        return Task.CompletedTask;
    }
    
  6. Salve seu trabalho.

Execute o seu aplicativo localmente

  1. No Unity, clique no botão Unity Editor Play.
  2. Na janela Jogo, clique no Cubo. Cada vez que você clica, o Cubo gira em seu eixo "X".
  3. Quando terminar, saia do Modo de Reprodução.

Depurar seu aplicativo com o Visual Studio (opcional)

  1. Na hierarquia, verifique se o objeto Mesh Cloud Scripting está selecionado.

  2. No Inspetor, navegue até o componente Mesh Cloud Scripting e selecione Habilitar depuração de aplicativos.

    Uma captura de tela do componente Mesh Cloud Scripting com a propriedade Enable Application Debugging selecionada e realçada.

  3. Entre no modo de reprodução e selecione depurador.

    Uma captura de tela dos depuradores disponíveis.

  4. Abra o arquivo App.cs, adicione um ponto de interrupção e continue a execução.

    Uma captura de tela do arquivo cs do aplicativo com um ponto de interrupção adicionado.

  5. No Unity, clique no Cubo.

    Uma captura de tela dos comentários no Unity depois de clicar no Cubo.

Observação

Por padrão, o tempo limite do aplicativo expirará após dois minutos de inatividade. Para aumentar essa janela, defina um "debugTimeoutSecs" valor no arquivo de manifesto (exemplo: "debugTimeoutSecs": "240").

Uma captura de tela do Windows Explorer com o arquivo json de manifesto de cloudscripting de malha realçado.

Criar e publicar o ambiente

Para criar e publicar o ambiente, siga as instruções no artigo Criar e publicar seu ambiente .

Conecte-se ao Cloud Scripting Service a partir do Unity

Observação

Isso só está disponível quando ServiceMode está definido como Dev.

  1. Na hierarquia, verifique se o objeto Mesh Cloud Scripting está selecionado.
  2. No Inspetor, navegue até o componente Mesh Cloud Scripting e abra o menu suspenso Configurações do desenvolvedor.
  3. Desmarque Executar servidor de script de nuvem local.
  4. Clique no botão Unity Editor Play.

Criar um evento e participar dele a partir do aplicativo Mesh

  1. Crie um evento usando o Ambiente que você acabou de criar e publicar. Se precisar de orientação, veja como criar um evento no portal Mesh.
  2. Participe do evento no aplicativo Mesh.

Mostrar erros do Mesh Cloud Scripting Service no aplicativo Microsoft Mesh (opcional)

  1. As mensagens de erro do Cloud Scripting Service não são, por padrão, mostradas no aplicativo Mesh para minimizar a interrupção do usuário. Se você precisar mostrar essas mensagens para fins de depuração, use as seguintes etapas:

  2. Abra o aplicativo Mesh.

  3. Clique no botão Menu e selecione Configurações.

    Uma tela da interface do aplicativo Mesh com o botão Menu realçado.

  4. Na barra de menus do lado esquerdo, selecione Para desenvolvedores.

    Uma captura de tela da interface do aplicativo Mesh com a opção Configurações realçada.

  5. Alterne o botão de erro Mostrar script Mesh para "ativado".

    Uma captura de tela da página Configurações do aplicativo Mesh e a configuração para Mostrar erro de script Mesh.

Próximas etapas