Pular para o conteúdo
AstraDOCS

Obstáculo de navegação

Recorta a malha onde o objeto está, em tempo de execução

Família: Navegação · Grupo: Malha · Identificador: astra.navigation.obstacle · Payload: 1

Recorta a malha de navegação onde o objeto está, durante o Play. Use em portas, caixas móveis ou bloqueios temporários.

Adicione ao objeto que bloqueia o caminho e escolha Caixa ou Cilindro com o tamanho real. O recorte só existe no Play e reconstrói apenas os tiles tocados.

Hierarquia → selecione o objeto → Inspector → Adicionar componente → Navegação / Malha → Obstáculo de navegação.

O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é Astra.Components.NavObstacle.

Recortar só parado remove o recorte enquanto o objeto se move e o recoloca depois de Tempo até parado; o Limiar de movimento decide o que conta como mover. A caixa gira com o objeto em Y. Objetos com Obstáculo não entram no bake como chão.

Guia relacionado: Guia de navegação

Coloque um Obstáculo 1×2×4 m atravessando um corredor de 4 m: os agentes deixam de ter caminho. Desative o objeto em Play e o corredor volta a ter caminho no quadro seguinte.

Nenhuma regra adicional declarada no schema deste componente.

Operação Contrato
Adicionar/remover em Play ponto seguro
Alterar propriedades em Play ponto seguro
Múltiplas instâncias Não
Versão do payload 1

Alterações em ponto seguro são aplicadas entre passos da simulação. Um componente exigido por outro não pode ser removido enquanto a dependência existir. Salvar a cena autoral e modificar o mundo de Play são operações distintas; veja Play e cena autoral.

Valores abaixo são resolvidos pelo descritor de um componente recém-criado. Campos por slot dependem dos recursos atribuídos. Um campo sem padrão significa que o descritor não fornece um valor independente de contexto.

Propriedade Tipo / unidade Padrão Domínio
Centro X
center_x
número · m 0 -1000 … 1000
Centro Y
center_y
número · m 0 -1000 … 1000
Centro Z
center_z
número · m 0 -1000 … 1000
Tamanho X
size_x
número · m 1 0.01 … 1000
Tamanho Y
size_y
número · m 1 0.01 … 1000
Tamanho Z
size_z
número · m 1 0.01 … 1000
Raio
radius
número · m 0.5 0.01 … 500
Altura
height
número · m 2 0.01 … 1000
Forma
shape
enumeração Caixa Caixa | Cilindro

Centro X · center_x

Onde: Inspector → Obstáculo de navegação → Forma → Centro X.

Uso e efeito: Centro do recorte em X, no espaço do objeto, em metros.

Valor: 0 · Tipo: número · Unidade: m · Domínio: -1000 … 1000.

Centro Y · center_y

Onde: Inspector → Obstáculo de navegação → Forma → Centro Y.

Uso e efeito: Centro do recorte em Y, no espaço do objeto, em metros.

Valor: 0 · Tipo: número · Unidade: m · Domínio: -1000 … 1000.

Centro Z · center_z

Onde: Inspector → Obstáculo de navegação → Forma → Centro Z.

Uso e efeito: Centro do recorte em Z, no espaço do objeto, em metros.

Valor: 0 · Tipo: número · Unidade: m · Domínio: -1000 … 1000.

Tamanho X · size_x

Onde: Inspector → Obstáculo de navegação → Forma → Tamanho X.

Uso e efeito: Largura da caixa recortada, em metros (escala do objeto aplicada).

Valor: 1 · Tipo: número · Unidade: m · Domínio: 0.01 … 1000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Tamanho Y · size_y

Onde: Inspector → Obstáculo de navegação → Forma → Tamanho Y.

Uso e efeito: Altura da caixa recortada, em metros.

Valor: 1 · Tipo: número · Unidade: m · Domínio: 0.01 … 1000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Tamanho Z · size_z

Onde: Inspector → Obstáculo de navegação → Forma → Tamanho Z.

Uso e efeito: Profundidade da caixa recortada, em metros.

Valor: 1 · Tipo: número · Unidade: m · Domínio: 0.01 … 1000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Raio · radius

Onde: Inspector → Obstáculo de navegação → Forma → Raio.

Uso e efeito: Raio do cilindro recortado, em metros.

Valor: 0.5 · Tipo: número · Unidade: m · Domínio: 0.01 … 500.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Altura · height

Onde: Inspector → Obstáculo de navegação → Forma → Altura.

Uso e efeito: Altura do cilindro recortado, em metros.

Valor: 2 · Tipo: número · Unidade: m · Domínio: 0.01 … 1000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Forma · shape

Onde: Inspector → Obstáculo de navegação → Forma → Forma.

Uso e efeito: Caixa (gira com o objeto em Y) ou Cilindro (fica de pé).

Valor: Caixa · Tipo: enumeração · Domínio: Caixa | Cilindro.

Propriedade Tipo / unidade Padrão Domínio
Limiar de movimento
move_threshold
número · m 0.1 0 … 100
Tempo até parado
stationary_time
número · s 0.5 0 … 60
Recortar só parado
carve_only_stationary
booleano verdadeiro verdadeiro | falso

Limiar de movimento · move_threshold

Onde: Inspector → Obstáculo de navegação → Recorte → Limiar de movimento.

Uso e efeito: Deslocamento, em metros, que conta como movimento e refaz o recorte.

Valor: 0.1 · Tipo: número · Unidade: m · Domínio: 0 … 100.

Tempo até parado · stationary_time

Onde: Inspector → Obstáculo de navegação → Recorte → Tempo até parado.

Uso e efeito: Tempo parado, em segundos, para o recorte voltar quando Recortar só parado está ligado.

Valor: 0.5 · Tipo: número · Unidade: s · Domínio: 0 … 60.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Recortar só parado · carve_only_stationary

Onde: Inspector → Obstáculo de navegação → Recorte → Recortar só parado.

Uso e efeito: Tira o recorte enquanto o objeto se move e o recoloca quando ele para: menos reconstruções.

Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.

Propriedade Tipo / unidade Padrão Domínio
Ativo
enabled
booleano verdadeiro verdadeiro | falso

Ativo · enabled

Onde: Inspector → Obstáculo de navegação → Geral → Ativo.

Uso e efeito: Desligado devolve à malha a área recortada no quadro seguinte.

Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.

Câmera e navegação. Presente na 0.3.0, sempre recortando. O modo “só desvio” da Unity (sem recorte) não existe. Sem data prometida.

Os campos acima pertencem ao contrato existente; novas funções dependem do fechamento da família. Não há datas individuais prometidas para cada propriedade.

  1. Crie Obstáculo de navegação pelo fluxo indicado e resolva as dependências.
  2. Altere uma propriedade por vez e observe o efeito esperado na cena.
  3. Salve, reabra e confira os valores autorais.
  4. Entre em Play e verifique o comportamento com os recursos reais do projeto.
  5. Pare o Play e confira a cena autoral.

Este é um roteiro de conferência; não representa um teste executado nesta publicação.

A tabela cobre os tipos de propriedade disponíveis no descritor de reflexão. Não presume persistência de campos transitórios, equivalência com outras engines ou suporte em todos os aparelhos. Recursos, coleções e operações podem exigir APIs específicas.

Referência de arquitetura registrada pela engine: documentação oficial. Essa referência não representa paridade funcional.

Os IDs abaixo são operações nativas do componente existente. Não são novos botões de autoria. Use a fachada C# correspondente para nomes e assinaturas; Conexão de evento oferece as ações compatíveis no seletor. Confira o componente e o mundo vivos antes de chamar.

Operação / ID Uso e efeito Argumentos Retorno
Recortando · is_carving Verdadeiro quando o recorte deste obstáculo está aplicado na malha Nenhum booleano

Assinaturas da fachada NavObstacle