Partilhar via


Create um projeto de Scripts na Cloud simples

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

Saiba mais sobre a Infraestrutura e gestão de Scripts na Cloud do Mesh.

Create uma Cena com o Mesh Cloud Scripting

As instruções seguintes mostram como criar um ambiente simples com um Cubo que gira quando um utilizador clica no mesmo.

  1. Aceda ao artigo com o nome Create novo ou atualize um projeto existente. Se estiver a criar um novo projeto, certifique-se de que segue todos os passos na secção com o nome Create um novo projeto. Se estiver a atualizar um projeto existente, faça o mesmo para a secção denominada Atualizar um projeto existente.

  2. Create uma nova cena.

  3. Adicione um ponto de viagem à cena.

  4. Guarde a cena e dê-lhe um nome. Neste exemplo, vamos utilizar o nome MyFirstCloudScripting.

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

    Captura de ecrã do item de menu Configurar Scripting na Cloud.

    Tenha em atenção que um objeto de jogo com o nome Mesh Cloud Scripting aparece na Hierarquia e está selecionado. Se clicar no botão Abrir pasta da aplicação no Inspetor ...

    Captura de ecrã a mostrar o botão Abrir pasta da aplicação no Unity.

    ... verá no Windows Explorador de Ficheiros que também cria um novo projeto de ASP.NET Core com o nome MyFirstCloudScripting.csproj nos Recursos > . Pasta MeshCloudScripting > MyFirstCloudScripting.

    Captura de ecrã de uma estrutura de pastas no Windows a mostrar o projeto de scripting.

Modificar a cena

  1. Configurar o Modo de Emulação do Mesh. Certifique-se de que adiciona um GameObject à cena que pode funcionar como um piso e defina-o para a camada GroundCollision .

  2. Ao configurar o Modo de Emulação do Mesh, este adiciona o MeshEmulatorSetup[NoUpoload] pré-fabricado à cena que contém a câmara que irá utilizar a partir deste ponto. Já não precisa da câmara principal predefinida GameObject; elimine-o.

    Uma captura de ecrã do Cubo colocada em criança no Mesh Cloud Scripting.

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

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

    Uma captura de ecrã do Cubo colocada em criança no Mesh Cloud Scripting.

  5. Com o Cubo selecionado, no Inspetor, navegue para o componente Transformar e, em seguida, altere os valores 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

    Sugestão: a Câmara na prefab MeshEmulatorSetup[NoUpload] é um objeto subordinado de AvatarHead.

    Uma captura de ecrã do objeto de jogo Câmara na Hierarquia e no Cubo colocados na vista Cena.

  6. No Inspetor, clique em Adicionar Componente e, em seguida, selecione Configuração Interacionável do Mesh.

    Captura de ecrã a mostrar a barra de pesquisa Adicionar Componente com a Configuração interagiveis do Mesh selecionada.

  7. Guarde a cena.

Modificar o projeto C#

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

  2. No Inspetor, navegue para o componente Mesh Cloud Scripting e, em seguida, clique no botão Abrir pasta da aplicação . Esta ação abre Explorador de Ficheiros e mostra-lhe uma vista dos conteúdos do projeto.

    Captura de ecrã do componente Mesh Cloud Scripting com o botão Abrir Pasta de Aplicação realçado.

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

  4. Tenha em atenção que, na classe Aplicação, existem 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 arranque da sua aplicação aqui.". Substitua-o pelo código abaixo para que o método StartAsync tenha o seguinte aspeto:

    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.

Executar a sua aplicação localmente

  1. No Unity, clique no botão Unity Revisor Reproduzir.
  2. Na janela Jogo , clique no Cubo. Sempre que clica, o Cubo roda no eixo "X".
  3. Quando terminar, saia do Modo de Reprodução.

Depurar a sua aplicação com o Visual Studio (opcional)

  1. Na Hierarquia, certifique-se de que tem o objeto Mesh Cloud Scripting selecionado.

  2. No Inspetor, navegue para o componente Mesh Cloud Scripting e, em seguida, selecione Ativar Depuração de Aplicações.

    Uma captura de ecrã do componente Mesh Cloud Scripting com a propriedade Ativar Depuração de Aplicações selecionada e realçada.

  3. Introduza Modo de reprodução e selecione depurador.

    Uma captura de ecrã 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 ecrã do ficheiro cs da aplicação com um ponto de interrupção adicionado.

  5. No Unity, clique no Cubo.

    Uma captura de ecrã de comentários no Unity depois de clicar no Cubo.

Nota

Por predefinição, a aplicação excederá o tempo limite após dois minutos de inatividade. Para aumentar esta janela, defina um "debugTimeoutSecs" valor no ficheiro de manifesto (exemplo: "debugTimeoutSecs": "240").

Uma captura de ecrã do Explorador do Windows com o ficheiro 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 Compilar e publicar o seu ambiente .

Ligar ao Serviço de Scripts na Cloud a partir do Unity

Nota

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

  1. Na Hierarquia, certifique-se de que o objeto Mesh Cloud Scripting está selecionado.
  2. No Inspetor, navegue para o componente Mesh Cloud Scripting e, em seguida, abra o menu pendente Definições do Programador .
  3. Anular a seleção do Servidor de Scripts da Cloud Local.
  4. Clique no botão Unity Revisor Reproduzir.

Create um evento e associá-lo a partir da aplicação Mesh

  1. Create um evento com o Ambiente que acabou de criar e publicar. Se precisar de orientação, veja como criar um evento no portal do Mesh.
  2. Junte-se ao evento na aplicação Mesh.

Mostrar erros do Mesh Cloud Scripting Service na aplicação Microsoft Mesh (opcional)

  1. Por predefinição, as mensagens de erro do Serviço de Scripts da Cloud não são apresentadas na aplicação Mesh para minimizar a interrupção do utilizador. Se precisar de mostrar estas mensagens para fins de depuração, utilize os seguintes passos:

  2. Abra a aplicação Mesh.

  3. Clique no botão Menu e, em seguida, selecione Definições.

    Um ecrã da interface da aplicação Mesh com o botão Menu realçado.

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

    Uma captura de ecrã da interface da aplicação Mesh com a opção Definições realçada.

  5. Alterne o botão mostrar erro de scripting do Mesh para "ativado".

    Uma captura de ecrã da página Definições da aplicação Mesh e a definição para Mostrar erro de scripting do Mesh.

Passos seguintes