Tutorial do Mesh 201 Capítulo 4: Carregar um URL de um ativo 3D
Neste capítulo, avançamos para a Estação 3 e exploramos uma maneira de carregar dados da Web em um WebSlate. Há um GameObject 3D na cena que representa o planeta Terra; vamos chamá-lo de "o globo". Atualizaremos um script para que, quando um participante em sua experiência clicar no globo, a latitude e a longitude do local clicado sejam capturadas e essas coordenadas sejam incorporadas a uma URL do Bing Mapas como parâmetros. Uma solicitação HTTP é executada usando essa URL; O Bing Mapas fornece um mapa da área escolhida e o envia para um WebSlate próximo.
Experimente o projeto
Ajuste sua visão para que você esteja diretamente na frente e olhando para a Estação 3.
Como você pode ver, já existe um WebSlate na cena com algum texto informativo acima dele, assim como o globo. Vamos executar o projeto e ver o que acontece.
Clique no botão Reproduzir do editor do Unity. O WebSlate exibe o site do Bing Mapas.
Clique em vários pontos diferentes no objeto Terra . Observe que, independentemente de onde você clicar, o WebSlate continuará exibindo a mesma página do Bing Mapas. Queremos alterar isso para que, quando você clicar no objeto Terra , a área geográfica em que você clicou apareça no WebSlate. Adicionaremos um nó a um script que faz isso em um momento, mas antes disso, daremos uma breve olhada nos scripts.
Clique no botão Reproduzir do editor do Unity para sair do modo de reprodução.
Explore o roteiro do Google Earth
Na Hierarquia, recolha o GameObject chamado 2 - StaticContentWebslate.
Expanda 3 - LoadURL e observe que ele tem objetos filho chamados EarthActions e Earth.
Cada um desses objetos tem uma máquina de script anexada com a fonte definida como "Graph".
Selecione o GameObject do Google Earth . Seu gráfico de script aparece na janela Gráfico de script .
O gráfico de script, chamado Localização do globo no Webslate, foi projetado para detectar um clique no globo e saber a localização geográfica precisa desse clique (latitude e longitude) para que um mapa dessa área possa ser exibido no WebSlate.
Como você pode ver, há muita coisa acontecendo neste gráfico de script. Não precisamos fazer nenhuma alteração nele, mas se você estiver curioso, pode reservar um momento aqui para estudar o gráfico e entender melhor como o objeto da Terra funciona.
Explore o script EarthActions
Este script é onde precisamos fazer nossa atualização.
Na Hierarquia, selecione o EarthActions GameObject. Seu gráfico de script aparece na janela Gráfico de script .
Esse gráfico de script é chamado de Carregar Webslate do clique do globo e tem três grupos: Comportamento padrão personalizado do Webslate e Construtor de URL e Atualizar webslate.
O primeiro grupo contém um nó chamado Web Slate: Carregar com um valor da URL do Bing Mapas.
No momento, as coisas estão configuradas para que toda vez que você clicar no objeto do Google Earth , esse URL seja carregado no WebSlate.
No grupo Construtor de URLs, o primeiro nó, Obter variável: objeto, carrega a variável que contém a coordenada que foi clicada no objeto Terra.
Os próximos nós após o nó Microsoft Mesh: On State Changed pegam essa coordenada, convertem-na em uma cadeia de caracteres e anexam-na como um parâmetro ao final da URL do Bing Maps no nó String: Concat .
O nó Set Variable inicia a variável WebSlateURL com o URL.
Agora só precisamos garantir que esse URL (que, naturalmente, muda toda vez que o Earth é clicado) seja carregado no WebSlate.
Atualizar o script EarthActions
Arraste um conector da porta Saída de Controle do nó Definir Variável: Objeto e crie um novo nó Web Slate: Carregar . (No Localizador difuso, procure por Web Slate: Carregar (URL).)
Arraste um conector da porta de saída de dados do nó Definir variável: objeto com a variável "WebSlateURL" e anexe-o à porta de entrada de dados de URL do nó Web Slate: Load .
Arraste um conector da porta de saída de dados do nó Definir variável: objeto com a variável "WebSlate" e anexe-o à primeira porta de entrada de dados do nó Web Slate: Carregar .
Teste o trabalho
Salve o projeto e pressione o botão Reproduzir do Unity Editor.
Certifique-se de estar posicionado em frente à Estação 3.
Clique em vários lugares no objeto Terra . Conforme observado anteriormente, cada vez que você clica, a latitude e a longitude do local clicado são capturadas e essas coordenadas são incorporadas a uma URL do Bing Maps como parâmetros. Uma solicitação HTTP é executada usando essa URL; O Bing Maps fornece um mapa da área escolhida e o envia para o WebSlate próximo.
Observações
O WebSlate é interativo dentro de um evento. Um participante pode clicar nos botões +/- para aumentar ou diminuir o zoom, arrastar o mapa para ajustar sua posição ou clicar em links. Observe, no entanto, que outros participantes da experiência não verão essas alterações; eles só verão uma atualização quando o globo for clicado novamente.
Se você ativar o recurso Valores na janela Gráfico de Script e observar o script ao clicar no globo, poderá ver a latitude e a longitude do local clicado fluindo para fora dos conectores do nó Microsoft Mesh: On State Changed .