Creación de 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 da por supuesto 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.
Creación de 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.
Vaya al artículo denominado Crear nuevo o actualizar un proyecto existente. Si va a crear un nuevo proyecto, asegúrese de seguir todos los pasos de la sección denominada Crear un nuevo proyecto. Si va a actualizar un proyecto existente, haga lo mismo para la sección denominada Actualizar un proyecto existente.
Crea una escena nueva.
Guarde la escena y asígnele el nombre. En este ejemplo, usaremos el nombre MyFirstCloudScripting.
En la barra de menús, seleccione GameObject>Mesh Toolkit>Set-up Cloud Scripting (Configurar scripting en la nube).
Tenga en cuenta que un objeto de juego denominado Mesh Cloud Scripting aparece en la jerarquía y está seleccionado. Si hace clic en el botón Abrir carpeta de la aplicación en el Inspector ...
... 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.
Modificación de la escena
Configurar el modo de reproducción con emulación de malla. Asegúrate de agregar un GameObject a la escena que pueda actuar como piso y establecerlo en la capa GroundCollision .
Cuando configuras el modo de reproducción con emulación de malla, agrega el objeto MeshEmulatorSetup[NoUpoload] prefabricado a la escena que contiene la cámara que usarás desde este punto. Ya no necesitas el GameObject de cámara principal predeterminado; elimínelo.
En la barra de menús, seleccione GameObject>3D object>Cube.
En hierarchy (Jerarquía), arrastre el cubo al objeto Mesh Cloud Scripting para que Cube sea un elemento secundario de ese objeto.
Con el cubo seleccionado, en el Inspector, vaya al componente Transformar y, a continuación, 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
Sugerencia: La cámara del objeto prefabricado MeshEmulatorSetup[NoUpload] es un objeto secundario de AvatarHead.
En el Inspector, haga clic en Agregar componente y, a continuación, seleccione Mesh Interactable Setup (Configuración interactuable de malla).
Guarde la escena.
Modificación del proyecto de C#
En Hierarchy (Jerarquía), seleccione el objeto Mesh Cloud Scripting.
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.
Abra el script en el
App.cs
editor de código.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;
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; }
Guarde el trabajo.
Ejecución de la aplicación de forma local
- En Unity, haga clic en el botón Reproducir del editor de Unity.
- En la ventana Juego , haga clic en el cubo. Cada vez que haga clic, el cubo gira en su eje "X".
- Cuando haya terminado, salga del modo de reproducción.
Depuración de la aplicación con Visual Studio (opcional)
En hierarchy (Jerarquía), asegúrese de que tiene seleccionado el objeto Mesh Cloud Scripting .
En inspector, vaya al componente Mesh Cloud Scripting y seleccione Habilitar depuración de aplicaciones.
Escriba el modo de reproducción y seleccione depurador.
Abra el archivo App.cs , agregue un punto de interrupción y, a continuación, continúe con la ejecución.
En Unity, haga 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"
).
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.
- En Hierarchy (Jerarquía), asegúrese de que el objeto Mesh Cloud Scripting está seleccionado.
- En inspector, vaya al componente Mesh Cloud Scripting y, a continuación, abra la lista desplegable Configuración del desarrollador.
- Anule la selección de Ejecutar el servidor de scripting en la nube local.
- Haga clic en el botón Reproducir del editor de Unity.
Creación de un evento y unión a él desde la aplicación Mesh
- Cree 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.
- Únase al evento en la aplicación Mesh.
Mostrar errores de Mesh Cloud Scripting Service en la aplicación Microsoft Mesh (opcional)
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:
Abra la aplicación Mesh.
Haga clic en el botón Menú y, a continuación, seleccione Configuración.
En la barra de menús del lado izquierdo, seleccione Para desarrolladores.
Cambie el botón Mostrar error de scripting mesh a "activado".