Compartir a través de


Create un proyecto sencillo de scripting en la nube

En este artículo, creará y publicará un proyecto sencillo mediante Mesh Cloud Scripting. En el artículo se supone que ya ha configurado Cloud Scripting en el sistema. Se recomienda familiarizarse con la lista actual de problemas conocidos del kit de herramientas de Mesh antes de empezar a desarrollar con Mesh Cloud Scripting.

Obtenga más información sobre la infraestructura y la administración de scripting en la nube de Mesh.

Create una escena con scripting en la nube mesh

En las instrucciones siguientes se muestra cómo crear un entorno sencillo con un cubo que gira cuando un usuario hace clic en él.

  1. Vaya al artículo denominado Create nuevo o actualice un proyecto existente. Si va a crear un nuevo proyecto, asegúrese de seguir todos los pasos de la sección denominada Create un nuevo proyecto. Si va a actualizar un proyecto existente, haga lo mismo para la sección denominada Actualizar un proyecto existente.

  2. Crea una escena nueva.

  3. Agregue un punto de viaje a la escena.

  4. Guarde la escena y asígnele el nombre. En este ejemplo, usaremos el nombre MyFirstCloudScripting.

  5. En la barra de menús, seleccione GameObject>Mesh Toolkit>Set-up Cloud Scripting (Configurar Scripting en la nube).

    Captura de pantalla del elemento de menú Configurar Scripting en la nube.

    Ten en cuenta que aparece un objeto de juego denominado Mesh Cloud Scripting en la jerarquía y está seleccionado. Si hace clic en el botón Abrir carpeta de la aplicación en el Inspector ...

    Captura de pantalla del botón Abrir carpeta de aplicación en Unity.

    ... Verá en la Explorador de archivos de Windows que también crea un nuevo proyecto de ASP.NET Core denominado MyFirstCloudScripting.csproj en assets > . Carpeta MeshCloudScripting > MyFirstCloudScripting.

    Captura de pantalla de una estructura de carpetas en Windows que muestra el proyecto de scripting.

Modificación de la escena

  1. Configurar el modo de emulación de malla. Asegúrese de agregar un GameObject a la escena que puede actuar como piso y establecerlo en la capa GroundCollision .

  2. Al configurar el modo de emulación de malla, agrega el objeto MeshEmulatorSetup[NoUpoload] prefabricado a la escena que contiene la cámara que va a usar desde este punto. Ya no necesitas el GameObject de cámara principal predeterminado; elimínelo.

    Captura de pantalla del cubo colocado como secundario en Mesh Cloud Scripting.

  3. En la barra de menús, seleccione GameObject>3D object>Cube.

  4. En hierarchy (Jerarquía), arrastre el cubo al objeto Mesh Cloud Scripting para convertir el cubo en un elemento secundario de ese objeto.

    Captura de pantalla del cubo colocado como secundario en Mesh Cloud Scripting.

  5. Con el cubo seleccionado, en el Inspector, vaya al componente Transformar y cambie los valores de Posición y Rotación del cubo a lo siguiente:

    Posición: X = 0,1, Y = 1,5, Z = 3,3.

    Rotación: X = -15, Y = 0,8, Z = 0,1

    Truco: La cámara del objeto prefabricado MeshEmulatorSetup[NoUpload] es un objeto secundario de AvatarHead.

    Captura de pantalla del objeto de juego Cámara en la jerarquía y el cubo colocado en la vista Escena.

  6. En el Inspector, haga clic en Agregar componente y, a continuación, seleccione Configuración interactuable de malla.

    Captura de pantalla de la barra de búsqueda Agregar componente con la configuración de Mesh Interactables seleccionada.

  7. Guarde la escena.

Modificación del proyecto de C#

  1. En Hierarchy (Jerarquía), seleccione el objeto Mesh Cloud Scripting .

  2. En inspector, vaya al componente Mesh Cloud Scripting y, a continuación, haga clic en el botón Abrir carpeta de la aplicación . Se abre Explorador de archivos y se muestra una vista del contenido del proyecto.

    Captura de pantalla del componente Mesh Cloud Scripting con el botón Abrir carpeta de aplicación resaltado.

  3. Abra el script en el App.cs editor de código.

  4. Tenga en cuenta que en la clase App hay dos variables:

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

    Agregue lo siguiente como una tercera variable:

    private float _angle = 0;
    
  5. El método StartAsync contiene un único comentario: "Agregar el código de inicio de la aplicación aquí". Reemplace por el código siguiente para que el método StartAsync tenga el siguiente aspecto:

    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. No olvide guardar su trabajo.

Ejecución de la aplicación de forma local

  1. En Unity, haga clic en unity Editor botón Reproducir.
  2. En la ventana Juego , haga clic en el cubo. Cada vez que haga clic, el cubo gira en su eje "X".
  3. Cuando haya terminado, salga del Modo de reproducción.

Depuración de la aplicación con Visual Studio (opcional)

  1. En hierarchy (Jerarquía), asegúrese de que tiene seleccionado el objeto Mesh Cloud Scripting .

  2. En inspector, vaya al componente Mesh Cloud Scripting y, a continuación, seleccione Habilitar depuración de aplicaciones.

    Captura de pantalla del componente Mesh Cloud Scripting con la propiedad Habilitar depuración de aplicaciones seleccionada y resaltada.

  3. Escriba el modo de reproducción y seleccione depurador.

    Captura de pantalla de los depuradores disponibles.

  4. Abra el archivo App.cs , agregue un punto de interrupción y, a continuación, continúe con la ejecución.

    Captura de pantalla del archivo cs de la aplicación con un punto de interrupción agregado.

  5. En Unity, haga clic en el cubo.

    Captura de pantalla de comentarios en Unity después de hacer clic en el cubo.

Nota

De forma predeterminada, la aplicación agotará el tiempo de espera después de dos minutos de inactividad. Para aumentar esta ventana, establezca un "debugTimeoutSecs" valor en el archivo de manifiesto (ejemplo: "debugTimeoutSecs": "240").

Captura de pantalla del Explorador de Windows con el archivo JSON del manifiesto de cloudscripting mesh resaltado.

Compilación y publicación del entorno

Para compilar y publicar el entorno, siga las instrucciones del artículo Compilación y publicación del entorno .

Conexión al servicio de scripting en la nube desde Unity

Nota

Esto solo está disponible cuando ServiceMode está establecido en Desarrollo.

  1. En hierarchy (Jerarquía), asegúrese de que el objeto Mesh Cloud Scripting está seleccionado.
  2. En inspector, vaya al componente Mesh Cloud Scripting y abra la lista desplegable Configuración del desarrollador .
  3. Anule la selección de Ejecutar servidor de scripting en la nube local.
  4. Haga clic en el botón Editor Reproducir de Unity.

Create un evento y únase a él desde la aplicación Mesh

  1. Create un evento con el entorno que acaba de compilar y publicar. Si necesita instrucciones, consulte cómo crear un evento en el portal de Mesh.
  2. Únase al evento en la aplicación Mesh.

Mostrar errores de Mesh Cloud Scripting Service en la aplicación Microsoft Mesh (opcional)

  1. Los mensajes de error de Cloud Scripting Service no se muestran de forma predeterminada en la aplicación Mesh para minimizar la interrupción del usuario. Si necesita mostrar estos mensajes con fines de depuración, siga estos pasos:

  2. Abra la aplicación Mesh.

  3. Haga clic en el botón Menú y seleccione Configuración.

    Pantalla de la interfaz de la aplicación Mesh con el botón Menú resaltado.

  4. En la barra de menús del lado izquierdo, seleccione Para desarrolladores.

    Captura de pantalla de la interfaz de la aplicación Mesh con la opción Configuración resaltada.

  5. Cambie el botón Mostrar error de scripting de malla a "activado".

    Captura de pantalla de la página Configuración de la aplicación Mesh y la configuración de Mostrar error de scripting de malla.

Pasos siguientes