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.
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.
Crie uma cena.
Salve a cena e nomeie-a. Para este exemplo, usaremos o nome MyFirstCloudScripting.
Na barra de menus, selecione GameObject>Mesh Toolkit>Set-up 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 ...
... 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 .
Modificar a cena
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 .
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.
Na barra de menus, selecione GameObject>3D object>Cube.
Na Hierarquia, arraste o Cubo para o objeto Mesh Cloud Scripting para tornar o Cubo um filho desse objeto.
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.
No Inspetor, clique em Adicionar Componente e selecione Configuração Interactable de Malha.
Salve a cena.
Modificar o projeto C#
Na hierarquia, selecione o objeto Mesh Cloud Scripting.
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.
Abra o script no editor de
App.cs
códigos.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;
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; }
Salve seu trabalho.
Execute o seu aplicativo localmente
- No Unity, clique no botão Unity Editor Play.
- Na janela Jogo, clique no Cubo. Cada vez que você clica, o Cubo gira em seu eixo "X".
- Quando terminar, saia do Modo de Reprodução.
Depurar seu aplicativo com o Visual Studio (opcional)
Na hierarquia, verifique se o objeto Mesh Cloud Scripting está selecionado.
No Inspetor, navegue até o componente Mesh Cloud Scripting e selecione Habilitar depuração de aplicativos.
Entre no modo de reprodução e selecione depurador.
Abra o arquivo App.cs, adicione um ponto de interrupção e continue a execução.
No Unity, clique 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"
).
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.
- Na hierarquia, verifique se o objeto Mesh Cloud Scripting está selecionado.
- No Inspetor, navegue até o componente Mesh Cloud Scripting e abra o menu suspenso Configurações do desenvolvedor.
- Desmarque Executar servidor de script de nuvem local.
- Clique no botão Unity Editor Play.
Criar um evento e participar dele a partir do aplicativo Mesh
- 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.
- Participe do evento no aplicativo Mesh.
Mostrar erros do Mesh Cloud Scripting Service no aplicativo Microsoft Mesh (opcional)
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:
Abra o aplicativo Mesh.
Clique no botão Menu e selecione Configurações.
Na barra de menus do lado esquerdo, selecione Para desenvolvedores.
Alterne o botão de erro Mostrar script Mesh para "ativado".