Referência de nó de script visual de malha
Vá para o artigo Visão geral do Visual Scripting
No Intervalo
O nó de evento On Interval dispara um fluxo de script em intervalos de tempo regulares sincronizados entre todos os clientes na mesma sala.
- Intervalo: intervalo (em segundos) entre eventos.
- Atraso: atraso (em segundos) antes do primeiro evento. Você pode usá-lo para intercalar eventos com o mesmo Intervalo disparado por diferentes nós de Intervalo .
Em Estado Alterado
O nó de evento On State Changed é disparado quando qualquer uma de suas entradas altera seu valor. Esse é um mecanismo poderoso que permite que seus scripts respondam a alterações de estado causadas pela interação do usuário ou outros scripts visuais, localmente e em outros clientes na mesma sala.
- Valores: especifica quantas portas de entrada você gostaria de observar. Até 10 portas de entrada podem ser observadas simultaneamente. Em State Change dispara quando qualquer um deles altera seu valor.
- Em 0, Em 1 e mais nesta sequência: entradas observadas para alterações de estado. Você pode anexar qualquer nó de dados a essas entradas: Obter Variável ou qualquer propriedade de componente (instância ou estática).
- Out 0, Out 1 e muito mais nesta sequência: saídas correspondentes às entradas In 0 (e assim por diante) que retornam os valores observados.
Ao observar variáveis de script ou propriedades de componente, On State Changed geralmente opera registrando retornos de chamada apropriados internamente, evitando a necessidade de reavaliar constantemente suas entradas. Quando um retorno de chamada apropriado não está disponível, como no exemplo a seguir, o nó Ao Estado Alterado fica vermelho e o painel Inspetor do Graph avisa que a entrada não pode ser observada com eficiência e, portanto, está desabilitada:
Nesse caso, você pode selecionar Permitir Sondagem no painel Inspetor do Graph para forçar On State Changed a detectar alterações reavaliando constantemente suas entradas. O nó mantém uma barra amarela ao longo de sua parte superior para lembrá-lo de que ele está observando uma entrada a um custo de runtime maior.
Mostrar Caixa de Diálogo
O nó Mostrar Caixa de Diálogo exibe uma caixa de diálogo com mensagem personalizada e um ou vários botões que permitem que o usuário ignore a caixa de diálogo.
- Texto: mensagem mostrada na caixa de diálogo. O texto da mensagem será encapsulado por palavras, se necessário.
- Botões: seleção de botões a serem apresentados ao usuário. Os seguintes botões podem ser mostrados: OK, Cancelar, Sim, Não, Confirmar, Avançar, Repetir, Continuar, Sair.
- Resultado: nome da variável para armazenar a resposta do usuário em quando ele ignorar a caixa de diálogo selecionando um botão. (Se deixado vazio, a resposta será descartada.)
- Destino: GameObject com um componente Variáveis para armazenar a resposta do usuário.
Se uma variável Result for definida, ela será redefinida para uma cadeia de caracteres vazia assim que o nó Mostrar Caixa de Diálogo for inserido e definido como resposta do usuário de forma assíncrona quando o usuário selecionar um botão para ignorar a caixa de diálogo. O valor armazenado é o rótulo não dimensionado do botão da lista acima. Use um nó de evento On State Changed para reagir à resposta do usuário, como no exemplo a seguir:
A variável Result pode ser local ou compartilhada. Se for compartilhado, a resposta do usuário será enviada a todos os clientes na mesma sala e o nó de evento On State Changed disparará em todos os clientes para reagir à resposta do usuário.
Nós de eventos de física
Os nós de evento físico On Trigger Enter, On Trigger Exit, On Collision Enter e On Collision Exit são rede confiável. Por padrão, esses eventos são disparados de forma confiável em todos os clientes na sala; no entanto, se o colisor de física observado por esses nós de evento estiver no escopo de um componente escopo de física local , os eventos dispararão de forma confiável em exatamente um cliente. Isso possibilita que os fluxos de script disparados leiam e escrevam de forma confiável o estado compartilhado (por exemplo, atualize uma variável de pontuação compartilhada).
Segurança
A Malha protege os usuários contra cenários de ameaça como estes:
- Conteúdo de cena comprometido— por exemplo, tentativas mal-intencionadas de acessar dados locais confidenciais.
- Canal de transporte ou cliente comprometido, por exemplo, tentativas mal-intencionadas de ler ou gravar dados remotos inacessíveis em outros clientes.
Para isso, o Mesh executa scripts visuais em uma área restrita (como JavaScript em um navegador da Web).
Na inicialização da cena, o Mesh usa uma lista de permissões coletada para validar scripts visuais para limitar o acesso a determinados tipos de componentes do Unity e a um subconjunto seguro de suas propriedades.
No runtime da cena, a Malha limita o acesso a determinadas partes da cena:
- Localmente: impedindo o acesso a internos de malha e outros dados confidenciais.
- Remotamente: verificando se o autor da cena pretende que essa parte da cena seja modificada. Isso é feito analisando estaticamente scripts visuais no lado do receptor para suas possíveis gravações de cena.
Exemplos:
- Um script visual local mal-intencionado deseja dar a todos os avatares cabeças bobble. Para isso, ele tenta examinar toda a cena de GameObjects que representam cabeças de avatar. A malha filtra automaticamente os resultados da verificação para excluir o sistema avatar.
- Um cliente remoto mal-intencionado deseja desfigurar a cena invertendo todos os GameObjects de cabeça para baixo. Para isso, ele envia uma atualização de propriedade que define a escala vertical de cada GameObject na cena. No entanto, como nenhum script visual no cliente receptor foi projetado para fazer algo assim, o cliente local ignora a entrada remota.