Tutorial de Mesh 201 Capítulo 3: Carga de un archivo HTML compartido local en un WebSlate
En el capítulo anterior de este tutorial, habilitó un botón para cargar un archivo HTML no compartido local en un WebSlate. En este capítulo, también configuraremos una página HTML para cargar, pero esta vez se compartirá y, por tanto, todos los asistentes podrán verlos en la experiencia.
Vaya a los botones.
En la ventana Escena , cambie la vista para que vea la estación 2, que se muestra a continuación.
Al igual que en el capítulo anterior, ya hay un GameObject en su lugar con texto descriptivo, pero esta vez hay dos botones: Cargar 1 y Cargar 2. También hay un WebSlate ya implementado. Completaremos la estación actualizando un grafo de script que esté asociado a uno de los botones. Cuando un asistente hace clic en cualquiera de los botones, se cargará una página web y todos los demás asistentes de la experiencia pueden compartir en la visualización de la nueva página. Cada botón de esta estación carga un tipo de contenido ligeramente diferente.
En hierarchy (Jerarquía), contraiga gameObject denominado 1 - LocalWebslate.
Expanda 2: StaticContentWebslate. Un objeto WebSlateFramed se ha cargado previamente y se encuentra aquí.
Expanda ChapterLabel y su objeto secundario Actions. Los botones con los que trabajaremos, LoadButton1 y LoadButton2, se encuentran aquí.
Edición del grafo de script
En Hierarchy (Jerarquía), seleccione LoadButton1. En inspector, tenga en cuenta que LoadButton1 tiene un componente Script Machine con un script adjunto denominado LoadButtonSharedStart. También tiene varias variables de objeto adjuntas que se usan en el gráfico de scripts.
Cuando seleccionó LoadButton1, el script de su componente Script Machine se cargó automáticamente en la ventana Script Graph . Como en el capítulo anterior, el gráfico de scripts ya se ha iniciado.
Agregar el cuerpo interactable de malla: está seleccionado el nodo
Nuestra primera tarea consiste en agregar un cuerpo interactivo de malla: es el nodo Seleccionado . Como se explicó en el capítulo anterior, tiene una opción de dos nodos "Cuerpo interactivo de malla": está seleccionado localmente o está seleccionado. El texto situado encima de cada nodo puede ayudarle a confirmar el comportamiento.
Para la estación 1, solo queríamos que la persona que desencadenase el evento lo experimentara, por lo que el script contenía el nodo que dice "Está seleccionado localmente". Esta vez, queremos que todos los asistentes experimenten el evento, por lo que seleccionaremos el otro nodo para este, el que simplemente dice "Está seleccionado".
Haga clic en el puerto Salida de datos del nodo Objeto de juego y, a continuación, arrástrelo a la derecha. Se abrirá el Finder aproximada. ADVERTENCIA: Una vez que abra Fuzzy Finder, no haga clic en ningún lugar fuera de la interfaz de Unity. Esto cierra el Finder aproximado y provoca un comportamiento impredecible en script Graph.
En Fuzzy Finder, busque "Mesh Interactable Body: Is Selected" (Cuerpo interactivo de malla: está seleccionado) y, a continuación, selecciónelo.
Esto agrega el nodo al gráfico.
Arrastre un conector desde el puerto de salida de datos del nodo Cuerpo interactivo de malla: está seleccionado y conéctelo al puerto de entrada de datos del nodo Microsoft Mesh: On State Changed (En estado cambiado ).
Agregar el nodo Pizarra web: Cargar contenido HTML (recurso HTML)
El gráfico de scripts ya contiene los dos nodos de variable de objeto que necesitamos, por lo que podemos avanzar y agregar el nodo final que necesitamos.
Arrastre un conector desde el puerto Salida de control del nodo If y, a continuación, cree un nuevo nodo Pizarra web: Cargar contenido HTML (recurso HTML). Como se explicó en el capítulo anterior, tenga en cuenta que hay dos nodos con nombres muy similares.
Quiere que el que diga "Recurso HTML", no "Contenido HTML".
Arrastre un conector desde el puerto de salida de datos del nodo Obtener variable de objeto con el valor "WebSlate" y conéctelo al primer puerto de entrada de datos del nodo Web Slate: Cargar contenido HTML.
La página web que queremos cargar está en el otro nodo Obtener variable de objeto. Arrastre un conector desde el puerto de salida de datos del nodo y conéctelo al segundo puerto de entrada de datos del nodo Web Slate: Cargar contenido HTML.
Comprobación del trabajo
En Unity, guarde el proyecto y presione el botón Reproducir del editor de Unity.
Colócate delante de la estación 2. Como en el capítulo anterior, WebSlate muestra información sobre Microsoft porque la dirección URL predeterminada del componente WebSlate se establece en la página principal de Microsoft.
Haga clic en el botón Cargar 1 . WebSlate carga y muestra una página con el título "Wind Energy Across the World". Tenga en cuenta que WebSlate es interactivo: puede hacer clic en las flechas situadas encima y debajo de la barra de desplazamiento o un espacio vacío en la barra de desplazamiento para mover el control deslizante y cambiar la vista de la página. (No se puede arrastrar el propio control deslizante).
Haga clic en el botón Cargar 2 y observe que una imagen se carga en WebSlate.
Esto funciona porque ya tenemos un script completo configurado para el botón Cargar 2 y tiene exactamente la misma estructura de nodo que el script para el botón Cargar 1. La única diferencia es la variable para cada script. Para el botón Cargar 1 , el valor de su variable HTMLAsset es el archivo HTML "windenergyfacts".
Para el botón Cargar 2 , el valor de su variable HTMLAsset es el archivo HTML "meshimage".
Si tiene curiosidad sobre el archivo meshimage.html , ábralo y eche un vistazo. Se encuentra en la carpeta Assets>MeshWebSlates>HTMLFiles del proyecto.
El único contenido del archivo es un vínculo a la imagen que vio al hacer clic en el botón Cargar 2 .