Partilhar 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 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 nova 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 ecrã 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 Emulação de Mesh. Certifique-se de adicionar um GameObject à cena que possa atuar como um piso e defini-lo para a camada GroundCollision .

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

    Uma captura de tela do cubo colocado como uma criança para Mesh Cloud Scripting.

  3. Na barra de menus, selecione Cubo de objeto 3D do GameObject>>.

  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 uma criança para 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 do Cubo colocado na visualização Cena.

  6. No Inspetor, clique em Adicionar componente e selecione Configuração interacionável de malha.

    Captura de tela da barra de pesquisa Adicionar componente com a configuração interactables 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 seu 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. Guarde o seu trabalho.

Execute 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 Ativar 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 o depurador.

    Uma captura de tela dos depuradores disponíveis.

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

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

  5. Em Unity, clique no Cubo.

    Uma captura de tela do feedback no Unity depois de clicar no Cubo.

Nota

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 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 de Unity

Nota

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 a lista suspensa Configurações do desenvolvedor.
  3. Desmarque Executar Servidor de Script de Nuvem Local.
  4. Clique no botão Unity Editor Play.

Crie um evento e junte-se a ele 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, a fim de 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 de script Show Mesh para "on".

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

Próximos passos