{
  "version": "snapshot-2026-10-28",
  "appRelease": "0.4.0-preview.20261028",
  "sourceCommit": "8850af9298783207586d9526e7e857604c47d4ce",
  "engineGeneration": "astra-current",
  "runtimeVerified": false,
  "platformEvidence": [],
  "coverage": "numeric-boolean-enum-object-reference descriptors with editorial access and usage; specialized resources and collections in individual guides",
  "components": [
    {
      "typeId": "astra.spring.position",
      "name": "Mola de posição",
      "description": "Segue fonte com velocidade e amortecimento persistentes no runtime",
      "family": "Lógica",
      "subfamily": "Molas",
      "api": "SpringPositionConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-PositionConstraint.html",
      "aliases": "Spring SmoothDamp Position Follow",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.constraint.position",
          "message": "Escolha restrição direta ou mola para posição"
        },
        {
          "typeId": "astra.constraint.parent",
          "message": "Parent Constraint já escreve posição"
        }
      ],
      "properties": [
        {
          "id": "weight",
          "name": "Influência",
          "kind": "número",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-weight"
        },
        {
          "id": "frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Resposta",
          "unit": "Hz",
          "help": "",
          "default": "3",
          "domain": "0.01 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frequência da resposta da mola; valores maiores reagem mais rápido ao movimento do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-frequency"
        },
        {
          "id": "damping_ratio",
          "name": "Razão de amortecimento",
          "kind": "número",
          "group": "Resposta",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento da mola: controla a oscilação em torno do alvo; use a faixa e compare aproximação, não apenas posição final.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-damping-ratio"
        },
        {
          "id": "max_speed",
          "name": "Velocidade máxima",
          "kind": "número",
          "group": "Resposta",
          "unit": "m/s",
          "help": "",
          "default": "1000",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limita a velocidade da aproximação da mola, na unidade indicada para posição/rotação/escala.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-max-speed"
        },
        {
          "id": "offset_x",
          "name": "Offset X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Offset Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Offset Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-enabled"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-position/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Segue fonte com velocidade e amortecimento persistentes no runtime",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Molas** → **Mola de posição**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.spring.rotation",
      "name": "Mola de rotação",
      "description": "Segue orientação por quaternion com amortecimento e caminho curto",
      "family": "Lógica",
      "subfamily": "Molas",
      "api": "SpringRotationConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-RotationConstraint.html",
      "aliases": "Spring Quaternion Rotation Follow",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.constraint.rotation",
          "message": "Escolha restrição direta ou mola para rotação"
        },
        {
          "typeId": "astra.constraint.aim",
          "message": "Aim já escreve rotação"
        },
        {
          "typeId": "astra.constraint.parent",
          "message": "Parent Constraint já escreve rotação"
        },
        {
          "typeId": "astra.constraint.look_at",
          "message": "Look At já escreve rotação"
        }
      ],
      "properties": [
        {
          "id": "weight",
          "name": "Influência",
          "kind": "número",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-weight"
        },
        {
          "id": "frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Resposta",
          "unit": "Hz",
          "help": "",
          "default": "3",
          "domain": "0.01 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frequência da resposta da mola; valores maiores reagem mais rápido ao movimento do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-frequency"
        },
        {
          "id": "damping_ratio",
          "name": "Razão de amortecimento",
          "kind": "número",
          "group": "Resposta",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento da mola: controla a oscilação em torno do alvo; use a faixa e compare aproximação, não apenas posição final.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-damping-ratio"
        },
        {
          "id": "max_speed",
          "name": "Velocidade máxima",
          "kind": "número",
          "group": "Resposta",
          "unit": "graus/s",
          "help": "",
          "default": "1000",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limita a velocidade da aproximação da mola, na unidade indicada para posição/rotação/escala.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-max-speed"
        },
        {
          "id": "offset_x",
          "name": "Offset X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Offset Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Offset Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-enabled"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-rotation/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Segue orientação por quaternion com amortecimento e caminho curto",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Molas** → **Mola de rotação**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.spring.scale",
      "name": "Mola de escala",
      "description": "Segue escala positiva sem publicar escala singular",
      "family": "Lógica",
      "subfamily": "Molas",
      "api": "SpringScaleConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-ScaleConstraint.html",
      "aliases": "Spring SmoothDamp Scale Follow",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.constraint.scale",
          "message": "Escolha restrição direta ou mola para escala"
        }
      ],
      "properties": [
        {
          "id": "weight",
          "name": "Influência",
          "kind": "número",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-weight"
        },
        {
          "id": "frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Resposta",
          "unit": "Hz",
          "help": "",
          "default": "3",
          "domain": "0.01 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frequência da resposta da mola; valores maiores reagem mais rápido ao movimento do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-frequency"
        },
        {
          "id": "damping_ratio",
          "name": "Razão de amortecimento",
          "kind": "número",
          "group": "Resposta",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento da mola: controla a oscilação em torno do alvo; use a faixa e compare aproximação, não apenas posição final.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-damping-ratio"
        },
        {
          "id": "max_speed",
          "name": "Velocidade máxima",
          "kind": "número",
          "group": "Resposta",
          "unit": "x/s",
          "help": "",
          "default": "1000",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limita a velocidade da aproximação da mola, na unidade indicada para posição/rotação/escala.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-max-speed"
        },
        {
          "id": "offset_x",
          "name": "Offset X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.0001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator de escala no eixo indicado, combinado à escala da fonte. Valor 1 mantém o fator unitário; não é deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Offset Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.0001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator de escala no eixo indicado, combinado à escala da fonte. Valor 1 mantém o fator unitário; não é deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Offset Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.0001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator de escala no eixo indicado, combinado à escala da fonte. Valor 1 mantém o fator unitário; não é deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-enabled"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Fonte",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-spring-scale/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Segue escala positiva sem publicar escala singular",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Molas** → **Mola de escala**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.constraint.position",
      "name": "Position Constraint",
      "description": "Restrição de mundo com uma fonte",
      "family": "Lógica",
      "subfamily": "Restrições",
      "api": "PositionConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-PositionConstraint.html",
      "aliases": "Constraint Restricao Position",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-weight"
        },
        {
          "id": "offset_x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-enabled"
        },
        {
          "id": "axis_x",
          "name": "Aplicar X",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-axis-x"
        },
        {
          "id": "axis_y",
          "name": "Aplicar Y",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-axis-y"
        },
        {
          "id": "axis_z",
          "name": "Aplicar Z",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-axis-z"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-position/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Restrição de mundo com uma fonte",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Restrições** → **Position Constraint**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.constraint.rotation",
      "name": "Rotation Constraint",
      "description": "Restrição de mundo com uma fonte",
      "family": "Lógica",
      "subfamily": "Restrições",
      "api": "RotationConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-RotationConstraint.html",
      "aliases": "Constraint Restricao Rotation",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-weight"
        },
        {
          "id": "offset_x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-enabled"
        },
        {
          "id": "axis_x",
          "name": "Aplicar X",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-axis-x"
        },
        {
          "id": "axis_y",
          "name": "Aplicar Y",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-axis-y"
        },
        {
          "id": "axis_z",
          "name": "Aplicar Z",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-axis-z"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-rotation/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Restrição de mundo com uma fonte",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Restrições** → **Rotation Constraint**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.constraint.scale",
      "name": "Scale Constraint",
      "description": "Restrição de mundo com uma fonte",
      "family": "Lógica",
      "subfamily": "Restrições",
      "api": "ScaleConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-ScaleConstraint.html",
      "aliases": "Constraint Restricao Scale",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-weight"
        },
        {
          "id": "offset_x",
          "name": "Fator X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "x",
          "help": "",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator de escala no eixo indicado, combinado à escala da fonte. Valor 1 mantém o fator unitário; não é deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Fator Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "x",
          "help": "",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator de escala no eixo indicado, combinado à escala da fonte. Valor 1 mantém o fator unitário; não é deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Fator Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "x",
          "help": "",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator de escala no eixo indicado, combinado à escala da fonte. Valor 1 mantém o fator unitário; não é deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-enabled"
        },
        {
          "id": "axis_x",
          "name": "Aplicar X",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-axis-x"
        },
        {
          "id": "axis_y",
          "name": "Aplicar Y",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-axis-y"
        },
        {
          "id": "axis_z",
          "name": "Aplicar Z",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-axis-z"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-scale/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Restrição de mundo com uma fonte",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Restrições** → **Scale Constraint**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.constraint.aim",
      "name": "Aim Constraint",
      "description": "Restrição de mundo com uma fonte",
      "family": "Lógica",
      "subfamily": "Restrições",
      "api": "AimConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-AimConstraint.html",
      "aliases": "Constraint Restricao Aim",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-weight"
        },
        {
          "id": "offset_x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-enabled"
        },
        {
          "id": "axis_x",
          "name": "Aplicar X",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-axis-x"
        },
        {
          "id": "axis_y",
          "name": "Aplicar Y",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-axis-y"
        },
        {
          "id": "axis_z",
          "name": "Aplicar Z",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-axis-z"
        },
        {
          "id": "aim_axis",
          "name": "Eixo de mira",
          "kind": "enumeração",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "+Z",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe o eixo local alinhado à direção do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-aim-axis"
        },
        {
          "id": "up_axis",
          "name": "Vertical de mundo",
          "kind": "enumeração",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "Y",
          "domain": "Y | Z | X",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Define a convenção de vertical da orientação; evite direção degenerada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-up-axis"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-aim/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Restrição de mundo com uma fonte",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Restrições** → **Aim Constraint**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.constraint.parent",
      "name": "Parent Constraint",
      "description": "Segue posição e rotação da fonte sem herdar escala",
      "family": "Lógica",
      "subfamily": "Restrições",
      "api": "ParentConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-ParentConstraint.html",
      "aliases": "Parent Constraint Pai",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-weight"
        },
        {
          "id": "offset_x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Ajustes",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Ajustes",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Ajustes",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-offset-z"
        },
        {
          "id": "rotation_offset_x",
          "name": "Rotação offset X",
          "kind": "número",
          "group": "Rotação",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Offset angular da orientação resultante, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-rotation-offset-x"
        },
        {
          "id": "rotation_offset_y",
          "name": "Rotação offset Y",
          "kind": "número",
          "group": "Rotação",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Offset angular da orientação resultante, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-rotation-offset-y"
        },
        {
          "id": "rotation_offset_z",
          "name": "Rotação offset Z",
          "kind": "número",
          "group": "Rotação",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Offset angular da orientação resultante, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-rotation-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-enabled"
        },
        {
          "id": "axis_x",
          "name": "Aplicar X",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-axis-x"
        },
        {
          "id": "axis_y",
          "name": "Aplicar Y",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-axis-y"
        },
        {
          "id": "axis_z",
          "name": "Aplicar Z",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-axis-z"
        },
        {
          "id": "rotation_x",
          "name": "Rotação X",
          "kind": "booleano",
          "group": "Rotação",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-rotation-x"
        },
        {
          "id": "rotation_y",
          "name": "Rotação Y",
          "kind": "booleano",
          "group": "Rotação",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-rotation-y"
        },
        {
          "id": "rotation_z",
          "name": "Rotação Z",
          "kind": "booleano",
          "group": "Rotação",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-rotation-z"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-parent/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Segue posição e rotação da fonte sem herdar escala",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Restrições** → **Parent Constraint**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.constraint.look_at",
      "name": "Look At Constraint",
      "description": "Orienta +Z para a fonte com vertical e roll",
      "family": "Lógica",
      "subfamily": "Restrições",
      "api": "LookAtConstraint",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-LookAtConstraint.html",
      "aliases": "Look At Olhar",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influência do resultado: 0 não influencia e 1 aplica integralmente. Compare com a pose sem a restrição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-weight"
        },
        {
          "id": "roll",
          "name": "Roll",
          "kind": "número",
          "group": "Mira",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação em torno do eixo de mira; não muda a posição do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-roll"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-enabled"
        },
        {
          "id": "axis_x",
          "name": "Aplicar X",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-axis-x"
        },
        {
          "id": "axis_y",
          "name": "Aplicar Y",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-axis-y"
        },
        {
          "id": "axis_z",
          "name": "Aplicar Z",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica a restrição no eixo indicado; desligar conserva esse canal fora da influência.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-axis-z"
        },
        {
          "id": "up_axis",
          "name": "Vertical de mundo",
          "kind": "enumeração",
          "group": "Mira",
          "unit": "",
          "help": "",
          "default": "Y",
          "domain": "Y | Z | X",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Define a convenção de vertical da orientação; evite direção degenerada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-up-axis"
        },
        {
          "id": "target",
          "name": "Fonte",
          "kind": "referência",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "Escolher fonte",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-look-at/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "Ligue a fonte/alvo no Inspector; escolha os eixos e a influência. Use em um objeto cuja pose não esteja sob autoridade incompatível da física ou de outro controlador.",
        "example": "Crie um objeto visual e uma fonte. Atribua a fonte, mova-a em Play e compare o objeto com Peso 0 e Peso 1. Para mola, compare duas frequências e observe a aproximação ao alvo.",
        "next": "Consolidar autoria de fontes, limites de composição e aceite de lifecycle/pose por família. Não há cronograma individual publicado para cada setter. A presença de uma restrição não implica suporte a toda a família de constraints da Unity.",
        "purpose": "Orienta +Z para a fonte com vertical e roll",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Restrições** → **Look At Constraint**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.tween.transform",
      "name": "Transform Tween",
      "description": "Interpola canais locais com espera, curva e repetição",
      "family": "Lógica",
      "subfamily": "Tempo",
      "api": "TransformTween",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_tween.html",
      "aliases": "Tween Interpolar Transform",
      "schemaVersion": 3,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "duration",
          "name": "Duração",
          "kind": "número",
          "group": "Tempo",
          "unit": "s",
          "help": "",
          "default": "1",
          "domain": "0.001 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo da reprodução/interpolação; configure na unidade indicada. Valor curto acelera a transição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-duration"
        },
        {
          "id": "delay",
          "name": "Espera",
          "kind": "número",
          "group": "Tempo",
          "unit": "s",
          "help": "",
          "default": "0",
          "domain": "0 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera inicial antes de reproduzir a transição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-delay"
        },
        {
          "id": "position_x",
          "name": "Destino X",
          "kind": "número",
          "group": "Destino",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destino do canal de posição do tween, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-position-x"
        },
        {
          "id": "position_y",
          "name": "Destino Y",
          "kind": "número",
          "group": "Destino",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destino do canal de posição do tween, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-position-y"
        },
        {
          "id": "position_z",
          "name": "Destino Z",
          "kind": "número",
          "group": "Destino",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destino do canal de posição do tween, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-position-z"
        },
        {
          "id": "rotation_x",
          "name": "Rotação X",
          "kind": "número",
          "group": "Destino",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-rotation-x"
        },
        {
          "id": "rotation_y",
          "name": "Rotação Y",
          "kind": "número",
          "group": "Destino",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-rotation-y"
        },
        {
          "id": "rotation_z",
          "name": "Rotação Z",
          "kind": "número",
          "group": "Destino",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-rotation-z"
        },
        {
          "id": "scale_x",
          "name": "Escala X",
          "kind": "número",
          "group": "Destino",
          "unit": "x",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destino do canal de escala do tween, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-scale-x"
        },
        {
          "id": "scale_y",
          "name": "Escala Y",
          "kind": "número",
          "group": "Destino",
          "unit": "x",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destino do canal de escala do tween, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-scale-y"
        },
        {
          "id": "scale_z",
          "name": "Escala Z",
          "kind": "número",
          "group": "Destino",
          "unit": "x",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destino do canal de escala do tween, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-scale-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Tempo",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-enabled"
        },
        {
          "id": "autoplay",
          "name": "Iniciar no Play",
          "kind": "booleano",
          "group": "Tempo",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inicia a reprodução automaticamente ao ativar a execução; não é o mesmo que repetição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-autoplay"
        },
        {
          "id": "pingpong",
          "name": "Ida e volta",
          "kind": "booleano",
          "group": "Repetição",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alterna ida e volta na reprodução.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-pingpong"
        },
        {
          "id": "relative",
          "name": "Destino relativo",
          "kind": "booleano",
          "group": "Destino",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Interpreta os valores da transição como deslocamento relativo, conforme o canal.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-relative"
        },
        {
          "id": "position",
          "name": "Mover",
          "kind": "booleano",
          "group": "Destino",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona a participação do canal de posição no tween.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-position"
        },
        {
          "id": "rotation",
          "name": "Girar",
          "kind": "booleano",
          "group": "Destino",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona a participação do canal de rotação no tween.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-rotation"
        },
        {
          "id": "scale",
          "name": "Escalar",
          "kind": "booleano",
          "group": "Destino",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona a participação do canal de escala no tween.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-scale"
        },
        {
          "id": "ignore_time_scale",
          "name": "Ignorar escala de tempo",
          "kind": "booleano",
          "group": "Tempo",
          "unit": "",
          "help": "Usa o intervalo não escalado aceito; pausa editorial interrompe ambos os modos",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o intervalo não escalado aceito; pausa editorial interrompe ambos os modos",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-ignore-time-scale"
        },
        {
          "id": "easing",
          "name": "Curva",
          "kind": "enumeração",
          "group": "Tempo",
          "unit": "",
          "help": "",
          "default": "Linear",
          "domain": "Linear | Smoothstep | Quadrático entrada | Quadrático saída",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe a curva de interpolação; altera a velocidade ao longo da transição, não o valor final.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-easing"
        },
        {
          "id": "loops",
          "name": "Ciclos",
          "kind": "enumeração",
          "group": "Repetição",
          "unit": "",
          "help": "",
          "default": "Uma vez",
          "domain": "Infinito | Uma vez | Duas vezes | Três vezes | Dez vezes",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Número/política de repetições no domínio indicado; confira a opção de repetição contínua na enumeração/contrato.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-loops"
        },
        {
          "id": "finished_action",
          "name": "Ao concluir",
          "kind": "enumeração",
          "group": "Conexão",
          "unit": "",
          "help": "Executa depois da pose final de todos os ciclos finitos; cancelar ou ciclo infinito não dispara",
          "default": "Desconectado",
          "domain": "Desconectado | Ativar objeto | Desativar objeto | Alternar objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Executa depois da pose final de todos os ciclos finitos; cancelar ou ciclo infinito não dispara",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-finished-action"
        },
        {
          "id": "finished_target",
          "name": "Receptor",
          "kind": "referência",
          "group": "Conexão",
          "unit": "",
          "help": "Referência persistente remapeada ao clonar; controla activeSelf do receptor",
          "default": "Escolher objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência persistente remapeada ao clonar; controla activeSelf do receptor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-transform/#field-finished-target"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "restart",
          "name": "Reiniciar",
          "help": "Recomeça da pose atual, conservando a pausa",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "cancel",
          "name": "Cancelar",
          "help": "Interrompe sem voltar à pose inicial",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "pause",
          "name": "Pausar",
          "help": "Congela o progresso",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "resume",
          "name": "Retomar",
          "help": "Continua o progresso pausado",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "elapsed",
          "name": "Decorrido",
          "help": "Segundos desde o início, incluindo o atraso",
          "result": "número",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "completed",
          "name": "Concluiu",
          "help": "Emitido uma vez quando as repetições finitas terminam, depois da pose final",
          "payload": []
        }
      ],
      "guide": {
        "title": "Tempo, eventos e tweens",
        "route": "roadmap/tempo-eventos-e-tweens",
        "use": "Configure duração/intervalo e reprodução, depois ligue a ação ou Behavior consumidor. Separe relógio escalado do relógio real e callbacks de quadro dos passos físicos.",
        "example": "Use intervalo de 1 s, inicie Play e altere pausa/escala do tempo. Confira a diferença ao ligar Ignorar escala do tempo; ligue um receptor para observar a ação.",
        "next": "Ampliar composição e diagnóstico de ações/curvas e conferir cancelamento, pausa, remoção e reinício. Sem data prometida. Timeline geral não é consequência da existência de Timer ou tween.",
        "purpose": "Interpola canais locais com espera, curva e repetição",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Tempo** → **Transform Tween**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.tween.property",
      "name": "Tween de propriedade",
      "description": "Interpola uma propriedade numérica interpolável de um componente",
      "family": "Lógica",
      "subfamily": "Tempo",
      "api": "PropertyTween",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_tween.html#class-tween-method-tween-property",
      "aliases": "Tween Property Propriedade Interpolar Intensidade FOV Valor",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "destination",
          "name": "Destino",
          "kind": "número",
          "group": "Propriedade",
          "unit": "",
          "help": "Valor final; com \"Destino relativo\", soma ao valor do início",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor de chegada na unidade do campo selecionado. Relativo desligado = valor final; ligado = incremento a partir do início.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-destination"
        },
        {
          "id": "duration",
          "name": "Duração",
          "kind": "número",
          "group": "Tempo",
          "unit": "s",
          "help": "",
          "default": "1",
          "domain": "0.001 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo da reprodução/interpolação; configure na unidade indicada. Valor curto acelera a transição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-duration"
        },
        {
          "id": "delay",
          "name": "Espera",
          "kind": "número",
          "group": "Tempo",
          "unit": "s",
          "help": "",
          "default": "0",
          "domain": "0 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera inicial antes de reproduzir a transição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-delay"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Tempo",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-enabled"
        },
        {
          "id": "autoplay",
          "name": "Iniciar no Play",
          "kind": "booleano",
          "group": "Tempo",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inicia a reprodução automaticamente ao ativar a execução; não é o mesmo que repetição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-autoplay"
        },
        {
          "id": "pingpong",
          "name": "Ida e volta",
          "kind": "booleano",
          "group": "Repetição",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alterna ida e volta na reprodução.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-pingpong"
        },
        {
          "id": "relative",
          "name": "Destino relativo",
          "kind": "booleano",
          "group": "Propriedade",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Interpreta os valores da transição como deslocamento relativo, conforme o canal.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-relative"
        },
        {
          "id": "ignore_time_scale",
          "name": "Ignorar escala de tempo",
          "kind": "booleano",
          "group": "Tempo",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa relógio não afetado pela escala do tempo do mundo; confira pausa e segundos reais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-ignore-time-scale"
        },
        {
          "id": "easing",
          "name": "Curva",
          "kind": "enumeração",
          "group": "Tempo",
          "unit": "",
          "help": "",
          "default": "Linear",
          "domain": "Linear | Smoothstep | Quadrático entrada | Quadrático saída",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe a curva de interpolação; altera a velocidade ao longo da transição, não o valor final.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-easing"
        },
        {
          "id": "loops",
          "name": "Repetição",
          "kind": "enumeração",
          "group": "Repetição",
          "unit": "",
          "help": "",
          "default": "Uma vez",
          "domain": "Infinito | Uma vez | Duas vezes | Três vezes | Dez vezes",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Número/política de repetições no domínio indicado; confira a opção de repetição contínua na enumeração/contrato.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-loops"
        },
        {
          "id": "target",
          "name": "Alvo",
          "kind": "referência",
          "group": "Propriedade",
          "unit": "",
          "help": "Objeto dono do componente animado; vazio usa este objeto",
          "default": "Este objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto dono do componente animado; vazio usa este objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-property/#field-target"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "restart",
          "name": "Reiniciar",
          "help": "Recomeça do valor atual da propriedade, conservando a pausa",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "cancel",
          "name": "Cancelar",
          "help": "Interrompe sem voltar ao valor inicial",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "pause",
          "name": "Pausar",
          "help": "Congela o progresso",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "resume",
          "name": "Retomar",
          "help": "Continua o progresso pausado",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "elapsed",
          "name": "Decorrido",
          "help": "Segundos desde o início, incluindo a espera",
          "result": "número",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "completed",
          "name": "Concluiu",
          "help": "Emitido uma vez quando as repetições finitas terminam, depois do valor final",
          "payload": []
        }
      ],
      "guide": {
        "title": "Tempo, eventos e tweens",
        "route": "roadmap/tempo-eventos-e-tweens",
        "use": "Escolha Alvo; vazio usa este objeto. No seletor de propriedade, escolha o tipo de componente e o campo numérico. Destino usa a unidade desse campo. Recursos, strings, booleanos e enums não entram nesse seletor.",
        "example": "Em uma luz, escolha o campo de intensidade pelo seletor. Use Destino 2, Duração 1 s, Espera 0 e Destino relativo desligado. Em Play, a intensidade deve chegar a 2, dentro dos limites do campo. Compare depois Destino relativo ligado: 2 passa a ser um incremento. A receita não representa uma execução validada desta publicação.",
        "next": "Presente no APK 0.2.3; seletor numérico, lifecycle e comandos Restart/Cancel/Pause/Resume constam do contrato. Animação arbitrária de qualquer recurso/campo não é suportada. Sem data para expansões.",
        "purpose": "Interpola uma propriedade numérica de um componente existente. Use para variar uma luz, um parâmetro de material ou outro campo marcado como interpolável.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Tempo** → **Tween de propriedade**.",
        "extra": "Tipo de componente e PropertyId escolhidos são configuração persistente especializada, fora da tabela numérica. O consumidor usa a primeira instância desse tipo no alvo; o seletor não grava um InstanceId para escolher outra. Não confunda o nome exibido com o identificador. Dois tweens no mesmo campo podem disputar a escrita; use um consumidor por campo no primeiro exercício.",
        "related": "[Montagem passo a passo](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#tween-de-propriedade-animar-um-campo)"
      }
    },
    {
      "typeId": "astra.tween.sequence",
      "name": "Sequência de tweens",
      "description": "Encadeia Transform Tweens em etapas sequenciais ou paralelas",
      "family": "Lógica",
      "subfamily": "Tempo",
      "api": "TweenSequence",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_tween.html",
      "aliases": "Tween Sequence Sequencia Encadear Paralelo Chain Parallel",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "interval_0",
          "name": "Intervalo da etapa 1",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-0"
        },
        {
          "id": "interval_1",
          "name": "Intervalo da etapa 2",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-1"
        },
        {
          "id": "interval_2",
          "name": "Intervalo da etapa 3",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-2"
        },
        {
          "id": "interval_3",
          "name": "Intervalo da etapa 4",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-3"
        },
        {
          "id": "interval_4",
          "name": "Intervalo da etapa 5",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-4"
        },
        {
          "id": "interval_5",
          "name": "Intervalo da etapa 6",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-5"
        },
        {
          "id": "interval_6",
          "name": "Intervalo da etapa 7",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-6"
        },
        {
          "id": "interval_7",
          "name": "Intervalo da etapa 8",
          "kind": "número",
          "group": "Etapas",
          "unit": "s",
          "help": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de a etapa começar, somada à espera do próprio tween",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-interval-7"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "Desligada não reinicia etapas; a configuração é preservada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligada não reinicia etapas; a configuração é preservada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-enabled"
        },
        {
          "id": "autoplay",
          "name": "Iniciar no Play",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "Sem isto a sequência espera o método Tocar (script ou Conexão de evento)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sem isto a sequência espera o método Tocar (script ou Conexão de evento)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-autoplay"
        },
        {
          "id": "ignore_time_scale",
          "name": "Ignorar escala de tempo",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "Vale para os intervalos da sequência; cada tween segue a própria opção",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Vale para os intervalos da sequência; cada tween segue a própria opção",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-ignore-time-scale"
        },
        {
          "id": "join_1",
          "name": "Etapa 2 junto da anterior",
          "kind": "booleano",
          "group": "Etapas",
          "unit": "",
          "help": "Começa com a etapa anterior em vez de esperar ela terminar",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa com a etapa anterior em vez de esperar ela terminar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-join-1"
        },
        {
          "id": "join_2",
          "name": "Etapa 3 junto da anterior",
          "kind": "booleano",
          "group": "Etapas",
          "unit": "",
          "help": "Começa com a etapa anterior em vez de esperar ela terminar",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa com a etapa anterior em vez de esperar ela terminar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-join-2"
        },
        {
          "id": "join_3",
          "name": "Etapa 4 junto da anterior",
          "kind": "booleano",
          "group": "Etapas",
          "unit": "",
          "help": "Começa com a etapa anterior em vez de esperar ela terminar",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa com a etapa anterior em vez de esperar ela terminar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-join-3"
        },
        {
          "id": "join_4",
          "name": "Etapa 5 junto da anterior",
          "kind": "booleano",
          "group": "Etapas",
          "unit": "",
          "help": "Começa com a etapa anterior em vez de esperar ela terminar",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa com a etapa anterior em vez de esperar ela terminar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-join-4"
        },
        {
          "id": "join_5",
          "name": "Etapa 6 junto da anterior",
          "kind": "booleano",
          "group": "Etapas",
          "unit": "",
          "help": "Começa com a etapa anterior em vez de esperar ela terminar",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa com a etapa anterior em vez de esperar ela terminar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-join-5"
        },
        {
          "id": "join_6",
          "name": "Etapa 7 junto da anterior",
          "kind": "booleano",
          "group": "Etapas",
          "unit": "",
          "help": "Começa com a etapa anterior em vez de esperar ela terminar",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa com a etapa anterior em vez de esperar ela terminar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-join-6"
        },
        {
          "id": "join_7",
          "name": "Etapa 8 junto da anterior",
          "kind": "booleano",
          "group": "Etapas",
          "unit": "",
          "help": "Começa com a etapa anterior em vez de esperar ela terminar",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa com a etapa anterior em vez de esperar ela terminar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-join-7"
        },
        {
          "id": "loops",
          "name": "Repetição",
          "kind": "enumeração",
          "group": "Execução",
          "unit": "",
          "help": "Quantas vezes a lista inteira de etapas é percorrida",
          "default": "Uma vez",
          "domain": "Infinito | Uma vez | Duas vezes | Três vezes | Dez vezes",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas vezes a lista inteira de etapas é percorrida",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-loops"
        },
        {
          "id": "step_0",
          "name": "Etapa 1",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-0"
        },
        {
          "id": "step_1",
          "name": "Etapa 2",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-1"
        },
        {
          "id": "step_2",
          "name": "Etapa 3",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-2"
        },
        {
          "id": "step_3",
          "name": "Etapa 4",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-3"
        },
        {
          "id": "step_4",
          "name": "Etapa 5",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-4"
        },
        {
          "id": "step_5",
          "name": "Etapa 6",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-5"
        },
        {
          "id": "step_6",
          "name": "Etapa 7",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-6"
        },
        {
          "id": "step_7",
          "name": "Etapa 8",
          "kind": "referência",
          "group": "Etapas",
          "unit": "",
          "help": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "default": "Nenhum",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Transform Tween ou Tween de propriedade; a sequência reinicia esses tweens quando a etapa começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-tween-sequence/#field-step-7"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "play",
          "name": "Tocar",
          "help": "Recomeça da etapa 1, cancelando os tweens das etapas em andamento",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "cancel",
          "name": "Cancelar",
          "help": "Interrompe a sequência e os tweens da etapa em andamento, sem voltar poses",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "pause",
          "name": "Pausar",
          "help": "Congela intervalo e tweens da etapa em andamento",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "resume",
          "name": "Retomar",
          "help": "Continua de onde pausou",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "step",
          "name": "Etapa atual",
          "help": "Número da etapa em andamento (1 a 8); zero parada",
          "result": "inteiro",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "step_started",
          "name": "Etapa começou",
          "help": "Emitido quando cada etapa reinicia o seu tween; carrega o número da etapa",
          "payload": [
            {
              "id": "step",
              "name": "Etapa",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "completed",
          "name": "Concluiu",
          "help": "Emitido uma vez quando as repetições finitas terminam",
          "payload": []
        }
      ],
      "guide": {
        "title": "Tempo, eventos e tweens",
        "route": "roadmap/tempo-eventos-e-tweens",
        "use": "Prepare Transform Tween ou Tween de propriedade nos objetos alvos. A sequência reinicia os tweens desses objetos; não os cria. Atribua os objetos em Etapa 1…8, na ordem desejada. Junto da anterior reúne uma etapa ao grupo anterior.",
        "example": "Prepare A e B com Transform Tween de rotação Y até 90°, duração 2 s, Girar ligado e Mover/Escalar desligados. Escolha A na Etapa 1 e B na Etapa 2. Com Junto da anterior desligado, B deve começar depois de A. Ligue para comparar paralelo. Um tween infinito impede terminar o grupo.",
        "next": "Presente no APK 0.2.3, com Play, Cancel, Pause, Resume, Step e eventos de etapa/conclusão. Não é uma timeline geral; coordenação de áudio, clipes e qualquer função arbitrária não está declarada.",
        "purpose": "Coordena tweens persistentes em até oito etapas, em sequência ou em grupos paralelos. Use para abrir duas partes de uma porta ou encadear movimentos.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Tempo** → **Sequência de tweens**.",
        "extra": "Intervalo da etapa soma uma espera antes do grupo à espera do próprio tween. Ignorar escala de tempo aqui vale para os intervalos; cada tween conserva seu próprio relógio. A próxima etapa começa no quadro seguinte ao término, sem promessa de reaproveitar o tempo restante.",
        "related": "[Receita de duas etapas](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#sequência-de-tweens-duas-ações-uma-depois-da-outra)"
      }
    },
    {
      "typeId": "astra.time.timer",
      "name": "Timer",
      "description": "Dispara eventos temporizados e ações persistentes de ativação de objetos",
      "family": "Lógica",
      "subfamily": "Tempo",
      "api": "GameTimer",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_timer.html",
      "aliases": "Timer Countdown Interval Cronometro",
      "schemaVersion": 4,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "interval_seconds",
          "name": "Intervalo",
          "kind": "número",
          "group": "Disparo",
          "unit": "s",
          "help": "Tempo entre disparos; uma vez quando Repetir está desligado",
          "default": "1",
          "domain": "0.05 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo entre disparos; uma vez quando Repetir está desligado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-time-timer/#field-interval-seconds"
        },
        {
          "id": "auto_start",
          "name": "Iniciar automaticamente",
          "kind": "booleano",
          "group": "Disparo",
          "unit": "",
          "help": "Inicia ao entrar em Play ou criar a instância; desligado exige Start. Alteração não reinicia timer já criado",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inicia ao entrar em Play ou criar a instância; desligado exige Start. Alteração não reinicia timer já criado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-time-timer/#field-auto-start"
        },
        {
          "id": "repeat",
          "name": "Repetir",
          "kind": "booleano",
          "group": "Disparo",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Repete o intervalo; desligado produz um disparo e termina.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-time-timer/#field-repeat"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Disparo",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-time-timer/#field-enabled"
        },
        {
          "id": "ignore_time_scale",
          "name": "Ignorar escala de tempo",
          "kind": "booleano",
          "group": "Disparo",
          "unit": "",
          "help": "Usa o intervalo não escalado aceito do quadro; a pausa do editor interrompe ambos os relógios",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o intervalo não escalado aceito do quadro; a pausa do editor interrompe ambos os relógios",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-time-timer/#field-ignore-time-scale"
        },
        {
          "id": "elapsed_action",
          "name": "Ao disparar",
          "kind": "enumeração",
          "group": "Conexão",
          "unit": "",
          "help": "Executa uma ação no alvo antes de entregar TimerElapsed; alternar preserva a paridade dos disparos agregados",
          "default": "Desconectado",
          "domain": "Desconectado | Ativar objeto | Desativar objeto | Alternar objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Executa uma ação no alvo antes de entregar TimerElapsed; alternar preserva a paridade dos disparos agregados",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-time-timer/#field-elapsed-action"
        },
        {
          "id": "elapsed_target",
          "name": "Receptor",
          "kind": "referência",
          "group": "Conexão",
          "unit": "",
          "help": "Alvo da ação; usa referência persistente remapeada por clone/prefab",
          "default": "Escolher objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo da ação; usa referência persistente remapeada por clone/prefab",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-time-timer/#field-elapsed-target"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "start",
          "name": "Iniciar",
          "help": "Reinicia a contagem; intervalo zero usa o autorado",
          "result": "nada",
          "parameters": [
            {
              "id": "interval",
              "name": "Intervalo",
              "kind": "número",
              "unit": "s"
            }
          ]
        },
        {
          "id": "stop",
          "name": "Parar",
          "help": "Interrompe e zera a contagem",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "pause",
          "name": "Pausar",
          "help": "Congela a contagem sem perder o restante",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "resume",
          "name": "Retomar",
          "help": "Continua a contagem pausada",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "remaining",
          "name": "Restante",
          "help": "Segundos até o próximo disparo; zero quando parado",
          "result": "número",
          "parameters": []
        },
        {
          "id": "running",
          "name": "Em execução",
          "help": "Verdadeiro enquanto conta, inclusive pausado",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "elapsed",
          "name": "Disparou",
          "help": "Um evento por quadro; Disparos conta intervalos vencidos no quadro",
          "payload": [
            {
              "id": "count",
              "name": "Disparos",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Tempo, eventos e tweens",
        "route": "roadmap/tempo-eventos-e-tweens",
        "use": "Configure duração/intervalo e reprodução, depois ligue a ação ou Behavior consumidor. Separe relógio escalado do relógio real e callbacks de quadro dos passos físicos.",
        "example": "Use intervalo de 1 s, inicie Play e altere pausa/escala do tempo. Confira a diferença ao ligar Ignorar escala do tempo; ligue um receptor para observar a ação.",
        "next": "Ampliar composição e diagnóstico de ações/curvas e conferir cancelamento, pausa, remoção e reinício. Sem data prometida. Timeline geral não é consequência da existência de Timer ou tween.",
        "purpose": "Dispara eventos temporizados e ações persistentes de ativação de objetos",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Tempo** → **Timer**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.logic.event_connection",
      "name": "Conexão de evento",
      "description": "Evento deste objeto aciona objetos ou métodos, sem script",
      "family": "Lógica",
      "subfamily": "Eventos",
      "api": "EventConnection",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Events.UnityEvent.html",
      "aliases": "UnityEvent Signal Evento Conexao Trigger Gatilho",
      "schemaVersion": 3,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "argument",
          "name": "Valor",
          "kind": "número",
          "group": "Então",
          "unit": "s",
          "help": "Timer: intervalo (zero usa o autorado). Áudio: posição do cursor. Volume: peso de 0 a 1",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Timer: intervalo (zero usa o autorado). Áudio: posição do cursor. Volume: peso de 0 a 1",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-argument"
        },
        {
          "id": "clip_tag",
          "name": "Código do clipe",
          "kind": "número",
          "group": "Quando",
          "unit": "",
          "help": "-1 aceita qualquer código; 0..16777215 seleciona o evento do clipe",
          "default": "-1",
          "domain": "-1 … 16777215",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "-1 aceita qualquer código; 0..16777215 seleciona o evento do clipe",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-clip-tag"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Conexão",
          "unit": "",
          "help": "Desligada não reage a eventos; a configuração é preservada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligada não reage a eventos; a configuração é preservada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-enabled"
        },
        {
          "id": "once",
          "name": "Uma vez",
          "kind": "booleano",
          "group": "Conexão",
          "unit": "",
          "help": "Reage só ao primeiro evento de cada execução de Play",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Reage só ao primeiro evento de cada execução de Play",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-once"
        },
        {
          "id": "event",
          "name": "Evento",
          "kind": "enumeração",
          "group": "Quando",
          "unit": "",
          "help": "Emitido por um componente deste objeto; sem o componente, a conexão não dispara",
          "default": "Nenhum",
          "domain": "Nenhum | Timer disparou | Tween concluiu | Sensor 3D: entrou | Sensor 3D: saiu | Colisão 3D: começou | Colisão 3D: terminou | Sensor 2D: entrou | Sensor 2D: saiu | Colisão 2D: começou | Colisão 2D: terminou | Sequência: etapa começou | Sequência concluiu | Tween de propriedade concluiu | Junta quebrou | Personagem bateu num colisor | Sensor 3D: dentro | Cérebro: câmera ativada | Cérebro: corte de câmera | Cérebro: transição concluída | Câmera virtual entrou ao vivo | Câmera virtual saiu do ar | Animator: entrou num estado | Animator: evento do estado | Animator: entrou num grupo | Animator: saiu de um grupo | Animator: mistura interrompida | Agente: chegou | Agente: caminho falhou | Agente: entrou num link | Animation: evento do clipe | Animation: limite de eventos | Animator: evento do clipe | Animator: limite de eventos | Interação: mão alcançou | Interação: mão soltou | Interação: objeto levantado | Interação: entrou no gatilho | Interação: saiu do gatilho | Partículas: parou | Hora do dia: hora mudou | Hora do dia: nascer do sol | Hora do dia: pôr do sol | Hora do dia: dia mudou | Entrada: ação executada | Entrada: ação cancelada",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Emitido por um componente deste objeto; sem o componente, a conexão não dispara",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-event"
        },
        {
          "id": "action",
          "name": "Ação",
          "kind": "enumeração",
          "group": "Então",
          "unit": "",
          "help": "Executada no ponto seguro seguinte ao evento, antes do próximo despacho de scripts",
          "default": "Desconectado",
          "domain": "Desconectado | Ativar objeto | Desativar objeto | Alternar objeto | Chamar método",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Executada no ponto seguro seguinte ao evento, antes do próximo despacho de scripts",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-action"
        },
        {
          "id": "method",
          "name": "Método",
          "kind": "enumeração",
          "group": "Então",
          "unit": "",
          "help": "Chamado no primeiro componente do tipo correspondente no receptor",
          "default": "Nenhum",
          "domain": "Nenhum | Áudio: tocar | Áudio: parar | Áudio: pausar | Áudio: retomar | Áudio: posicionar | Timer: iniciar | Timer: parar | Timer: pausar | Timer: retomar | Tween: reiniciar | Tween: cancelar | Tween: pausar | Tween: retomar | Percurso: reiniciar | Percurso: parar | Sequência: tocar | Sequência: cancelar | Sequência: pausar | Sequência: retomar | Tween de propriedade: reiniciar | Tween de propriedade: cancelar | Tween de propriedade: pausar | Tween de propriedade: retomar | Raio: atualizar agora | Varredura: atualizar agora | Câmera virtual: priorizar | Câmera virtual: encaixar | Snapshot: transicionar | Snapshot: aplicar | Agente: parar | Agente: retomar | Recuo: disparar | Impacto: golpear de frente | Personagem: subir/descer | Sonda de reflexo: capturar agora | Partículas: tocar | Partículas: parar | Partículas: parar e limpar | Partículas: pausar | Partículas: limpar | Volume: definir peso | Volume: trocar perfil | Volume: usar cópia do perfil | Malha: trocar material",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Chamado no primeiro componente do tipo correspondente no receptor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-method"
        },
        {
          "id": "input_action",
          "name": "Ação",
          "kind": "enumeração",
          "group": "Quando",
          "unit": "",
          "help": "Ação do mapa de entrada da cena; Qualquer ação aceita todas as observadas pela Entrada do jogador",
          "default": "Qualquer ação",
          "domain": "Qualquer ação | Ação 1 | Ação 2 | Ação 3 | Ação 4 | Ação 5 | Ação 6 | Ação 7 | Ação 8 | Ação 9 | Ação 10 | Ação 11 | Ação 12 | Ação 13 | Ação 14 | Ação 15 | Ação 16 | Ação 17 | Ação 18 | Ação 19 | Ação 20 | Ação 21 | Ação 22 | Ação 23 | Ação 24 | Ação 25 | Ação 26 | Ação 27 | Ação 28 | Ação 29 | Ação 30 | Ação 31 | Ação 32",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ação do mapa de entrada da cena; Qualquer ação aceita todas as observadas pela Entrada do jogador",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-input-action"
        },
        {
          "id": "receiver",
          "name": "Receptor",
          "kind": "referência",
          "group": "Então",
          "unit": "",
          "help": "Objeto ativado ou dono do componente chamado; vazio usa o próprio emissor",
          "default": "Este objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto ativado ou dono do componente chamado; vazio usa o próprio emissor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-receiver"
        },
        {
          "id": "other_filter",
          "name": "Outro objeto",
          "kind": "referência",
          "group": "Quando",
          "unit": "",
          "help": "Opcional: só contatos com este outro objeto",
          "default": "Qualquer objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Opcional: só contatos com este outro objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-logic-event-connection/#field-other-filter"
        }
      ],
      "resources": [
        {
          "id": "argument_profile",
          "name": "Perfil",
          "kind": "environment_profile",
          "group": "Então",
          "help": "Volume Profile que o Volume do receptor passa a usar (Volume.sharedProfile)",
          "inheritable": false
        },
        {
          "id": "argument_material",
          "name": "Material",
          "kind": "material",
          "group": "Então",
          "help": "Material que o primeiro slot do Mesh Renderer do receptor passa a usar (Renderer.sharedMaterial)",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Tempo, eventos e tweens",
        "route": "roadmap/tempo-eventos-e-tweens",
        "use": "Configure duração/intervalo e reprodução, depois ligue a ação ou Behavior consumidor. Separe relógio escalado do relógio real e callbacks de quadro dos passos físicos.",
        "example": "Use intervalo de 1 s, inicie Play e altere pausa/escala do tempo. Confira a diferença ao ligar Ignorar escala do tempo; ligue um receptor para observar a ação.",
        "next": "Ampliar composição e diagnóstico de ações/curvas e conferir cancelamento, pausa, remoção e reinício. Sem data prometida. Timeline geral não é consequência da existência de Timer ou tween.",
        "purpose": "Evento deste objeto aciona objetos ou métodos, sem script",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Eventos** → **Conexão de evento**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.input.player_input",
      "name": "Entrada do jogador",
      "description": "Ações do mapa de entrada viram eventos deste objeto",
      "family": "Lógica",
      "subfamily": "Eventos",
      "api": "PlayerInput",
      "reference": "https://docs.unity3d.com/Packages/com.unity.inputsystem@1.11/manual/PlayerInput.html",
      "aliases": "PlayerInput Input System Invoke Unity Events Acao Entrada Botao Toque",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Entrada",
          "unit": "",
          "help": "Desligada não emite eventos; as ações continuam valendo para scripts e personagem",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligada não emite eventos; as ações continuam valendo para scripts e personagem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-input-player-input/#field-enabled"
        },
        {
          "id": "actions",
          "name": "Ações",
          "kind": "enumeração",
          "group": "Entrada",
          "unit": "",
          "help": "Ações do mapa de entrada da cena que geram eventos neste objeto",
          "default": "Tudo",
          "domain": "máscara: Ação 1 + Ação 2 + Ação 3 + Ação 4 + Ação 5 + Ação 6 + Ação 7 + Ação 8 + Ação 9 + Ação 10 + Ação 11 + Ação 12 + Ação 13 + Ação 14 + Ação 15 + Ação 16 + Ação 17 + Ação 18 + Ação 19 + Ação 20 + Ação 21 + Ação 22 + Ação 23 + Ação 24 + Ação 25 + Ação 26 + Ação 27 + Ação 28 + Ação 29 + Ação 30 + Ação 31 + Ação 32",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ações do mapa de entrada da cena que geram eventos neste objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-input-player-input/#field-actions"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [
        {
          "id": "performed",
          "name": "Ação executada",
          "help": "A ação disparou neste quadro (performed do Input System); o valor é o índice da ação, a partir de 1",
          "payload": [
            {
              "id": "action",
              "name": "Ação",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "canceled",
          "name": "Ação cancelada",
          "help": "A ação foi solta neste quadro (canceled do Input System)",
          "payload": [
            {
              "id": "action",
              "name": "Ação",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao objeto do jogador e marque em Ações quais ações do mapa ele observa. Numa Conexão de evento, escolha Entrada: ação executada ou Entrada: ação cancelada e filtre pela ação. Em C#, assine PlayerInput.Performed e Canceled.",
        "example": "Ação Mirar segurada: Entrada: ação executada liga o desfoque de profundidade do Volume e Entrada: ação cancelada desliga, sem script.",
        "next": "Presente na 0.4.0. Troca de esquema de controle e vários jogadores locais não existem.",
        "purpose": "Transforma ações do mapa de entrada do projeto em eventos deste objeto, como o Player Input da Unity em Invoke Unity Events.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Eventos** → **Entrada do jogador**.",
        "extra": "Ações fora da marcação não geram eventos. Os nomes das ações vêm do mapa de entrada da cena.",
        "related": "[API C# e Flow](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#api-c-e-flow)"
      }
    },
    {
      "typeId": "astra.script.behavior",
      "name": "Comportamento",
      "description": "Código C# do projeto",
      "family": "Lógica",
      "subfamily": "Código",
      "api": "",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/MonoBehaviour.html",
      "aliases": "MonoBehaviour Script Behaviour",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": false,
      "structuralInPlay": "não permitido",
      "propertiesInPlay": "não permitido",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "comportamento",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-script-behavior/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Crie um Behavior C# com ComponentId estável, compile o projeto e anexe ao objeto. Campos públicos suportados e PropertyId aparecem no Inspector; callbacks recebem o mundo do Play.",
        "example": "Anexe PlayerHealth ao Jogador e HeartHud ao HUD; atribua a referência Player, compile e entre em Play.",
        "next": "Consolidar cenas, prefabs, contratos de scripts e mensagens, com referência remapeada e lifecycle correto. Contagem de APIs não mede fechamento funcional. Comportamento não validado deve permanecer explicitamente sem aceite.",
        "purpose": "Código C# do projeto",
        "location": "Área de código → crie/compile o Behavior → anexe ao objeto. Este registro não é criado pelo menu genérico.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.ik.two_bone",
      "name": "IK de dois ossos",
      "description": "Raiz e meio da cadeia levam a ponta ao alvo, com direção da dobra",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "TwoBoneIk",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html",
      "aliases": "Two Bone IK Limb Braço Perna",
      "schemaVersion": 4,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-weight"
        },
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ordem entre solvers do mesmo osso: o maior roda por último e vence.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-priority"
        },
        {
          "id": "plane_angle",
          "name": "Ângulo do plano",
          "kind": "número",
          "group": "Plano",
          "unit": "°",
          "help": "Gira o plano da dobra em torno do eixo raiz→ponta; o zero é perpendicular ao osso do meio no repouso.",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Gira o plano da dobra em graus, sem um objeto de direção.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-plane-angle"
        },
        {
          "id": "pole_rotation",
          "name": "Rotação do polo",
          "kind": "número",
          "group": "Plano",
          "unit": "°",
          "help": "Gira a cadeia resolvida em torno do eixo raiz→alvo (sem Direção da dobra).",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Gira o polo em torno do eixo raiz-ponta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-pole-rotation"
        },
        {
          "id": "plane_zero_x",
          "name": "Zero do plano X",
          "kind": "número",
          "group": "Plano",
          "unit": "",
          "help": "Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio.",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente da direção que define o zero do plano da dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-plane-zero-x"
        },
        {
          "id": "plane_zero_y",
          "name": "Zero do plano Y",
          "kind": "número",
          "group": "Plano",
          "unit": "",
          "help": "Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio.",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente da direção que define o zero do plano da dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-plane-zero-y"
        },
        {
          "id": "plane_zero_z",
          "name": "Zero do plano Z",
          "kind": "número",
          "group": "Plano",
          "unit": "",
          "help": "Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio.",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente da direção que define o zero do plano da dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-plane-zero-z"
        },
        {
          "id": "target_offset_x",
          "name": "Desvio da rotação do alvo X",
          "kind": "número",
          "group": "Alvo",
          "unit": "°",
          "help": "Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo).",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Desvio em graus somado à rotação do alvo quando a ponta a segue.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-target-offset-x"
        },
        {
          "id": "target_offset_y",
          "name": "Desvio da rotação do alvo Y",
          "kind": "número",
          "group": "Alvo",
          "unit": "°",
          "help": "Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo).",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Desvio em graus somado à rotação do alvo quando a ponta a segue.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-target-offset-y"
        },
        {
          "id": "target_offset_z",
          "name": "Desvio da rotação do alvo Z",
          "kind": "número",
          "group": "Alvo",
          "unit": "°",
          "help": "Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo).",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Desvio em graus somado à rotação do alvo quando a ponta a segue.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-target-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-enabled"
        },
        {
          "id": "match_target_rotation",
          "name": "Ponta segue rotação do alvo",
          "kind": "booleano",
          "group": "Alvo",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A ponta copia a rotação do alvo, com o desvio em graus abaixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-match-target-rotation"
        },
        {
          "id": "solver",
          "name": "Solver",
          "kind": "enumeração",
          "group": "Plano",
          "unit": "",
          "help": "",
          "default": "Pose",
          "domain": "Pose | Plano rotativo",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Trigonométrico resolve em um passo; Limb respeita limites do rig; CCD e FABRIK valem para cadeias.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-solver"
        },
        {
          "id": "reference",
          "name": "Referência",
          "kind": "enumeração",
          "group": "Plano",
          "unit": "",
          "help": "De onde a cadeia parte antes de resolver.",
          "default": "Animação",
          "domain": "Animação | Pose de repouso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "De onde vem o plano da dobra: do alvo ou do próprio objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-reference"
        },
        {
          "id": "target",
          "name": "Alvo",
          "kind": "referência",
          "group": "Alvo",
          "unit": "",
          "help": "",
          "default": "Escolher alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto da cena que o solver alcança; as receitas criam um alvo nomeado ao lado do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-target"
        },
        {
          "id": "pole",
          "name": "Direção da dobra",
          "kind": "referência",
          "group": "Alvo",
          "unit": "",
          "help": "",
          "default": "Seguir a pose",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto para onde a dobra aponta; vazio usa o plano configurado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-two-bone/#field-pole"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Com o personagem selecionado, Criar → Personagem → **Mãos ao alvo** cria o componente na mão e um alvo onde ela está. No estúdio, a ferramenta IK arrasta o alvo e grava chaves. Mova o alvo na cena e dê Play.",
        "example": "No Robot Kyle, Mãos ao alvo cria \"Alvo IK · Left_Wrist_Joint_01\". Arraste esse alvo até a caixa sobre a mesa: em Play a mão vai até ele e o cotovelo dobra para o lado do objeto Direção da dobra, ou para o lado do plano configurado.",
        "next": "Presente na 0.3.1. Limites por osso vêm do componente Limite de rotação no próprio osso. Sem data para alvos múltiplos por cadeia.",
        "purpose": "Leva a ponta de uma cadeia de dois ossos (mão, pé, garra) até um alvo, escolhendo a direção da dobra do cotovelo ou joelho.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **IK de dois ossos**.",
        "extra": "Solver Trigonométrico resolve em um passo; Limb aceita limites do rig. Referência decide se o plano da dobra vem do alvo ou do objeto. O Zero do plano e a Rotação do polo giram o plano sem precisar de um objeto de direção. Ponta segue rotação do alvo alinha a mão ao alvo, com o desvio em graus.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.chain",
      "name": "IK de cadeia",
      "description": "CCD ou FABRIK em N ossos, com iterações e tolerância",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "ChainIk",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/ChainIKConstraint.html",
      "aliases": "Chain IK CCD FABRIK Cauda Tentáculo",
      "schemaVersion": 4,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-weight"
        },
        {
          "id": "plane_angle",
          "name": "Ângulo do plano",
          "kind": "número",
          "group": "Plano",
          "unit": "°",
          "help": "Gira o plano da dobra em torno do eixo raiz→ponta.",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Gira o plano da dobra em graus, sem um objeto de direção.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-plane-angle"
        },
        {
          "id": "pole_rotation",
          "name": "Rotação do polo",
          "kind": "número",
          "group": "Plano",
          "unit": "°",
          "help": "Gira a cadeia resolvida em torno do eixo raiz→alvo.",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Gira o polo em torno do eixo raiz-ponta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-pole-rotation"
        },
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ordem entre solvers do mesmo osso: o maior roda por último e vence.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-priority"
        },
        {
          "id": "chain_length",
          "name": "Ossos na cadeia",
          "kind": "número",
          "group": "Cadeia",
          "unit": "ossos",
          "help": "",
          "default": "3",
          "domain": "2 … 32",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quantos ossos acima deste participam.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-chain-length"
        },
        {
          "id": "iterations",
          "name": "Iterações máximas",
          "kind": "número",
          "group": "Solver",
          "unit": "",
          "help": "",
          "default": "12",
          "domain": "1 … 128",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Mais iterações, mais precisão e mais custo por quadro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-iterations"
        },
        {
          "id": "tolerance",
          "name": "Tolerância",
          "kind": "número",
          "group": "Solver",
          "unit": "m",
          "help": "",
          "default": "0.001",
          "domain": "0.00001 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Distância da ponta ao alvo considerada resolvida, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-tolerance"
        },
        {
          "id": "plane_zero_x",
          "name": "Zero do plano X",
          "kind": "número",
          "group": "Plano",
          "unit": "",
          "help": "Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio.",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente da direção que define o zero do plano da dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-plane-zero-x"
        },
        {
          "id": "plane_zero_y",
          "name": "Zero do plano Y",
          "kind": "número",
          "group": "Plano",
          "unit": "",
          "help": "Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio.",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente da direção que define o zero do plano da dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-plane-zero-y"
        },
        {
          "id": "plane_zero_z",
          "name": "Zero do plano Z",
          "kind": "número",
          "group": "Plano",
          "unit": "",
          "help": "Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio.",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente da direção que define o zero do plano da dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-plane-zero-z"
        },
        {
          "id": "target_offset_x",
          "name": "Desvio da rotação do alvo X",
          "kind": "número",
          "group": "Alvo",
          "unit": "°",
          "help": "Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo).",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Desvio em graus somado à rotação do alvo quando a ponta a segue.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-target-offset-x"
        },
        {
          "id": "target_offset_y",
          "name": "Desvio da rotação do alvo Y",
          "kind": "número",
          "group": "Alvo",
          "unit": "°",
          "help": "Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo).",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Desvio em graus somado à rotação do alvo quando a ponta a segue.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-target-offset-y"
        },
        {
          "id": "target_offset_z",
          "name": "Desvio da rotação do alvo Z",
          "kind": "número",
          "group": "Alvo",
          "unit": "°",
          "help": "Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo).",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Desvio em graus somado à rotação do alvo quando a ponta a segue.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-target-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-enabled"
        },
        {
          "id": "match_target_rotation",
          "name": "Ponta segue rotação do alvo",
          "kind": "booleano",
          "group": "Alvo",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A ponta copia a rotação do alvo, com o desvio em graus abaixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-match-target-rotation"
        },
        {
          "id": "solver",
          "name": "Solver",
          "kind": "enumeração",
          "group": "Solver",
          "unit": "",
          "help": "",
          "default": "FABRIK",
          "domain": "CCD | FABRIK | Plano rotativo",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Trigonométrico resolve em um passo; Limb respeita limites do rig; CCD e FABRIK valem para cadeias.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-solver"
        },
        {
          "id": "reference",
          "name": "Referência",
          "kind": "enumeração",
          "group": "Plano",
          "unit": "",
          "help": "De onde a cadeia parte antes de resolver.",
          "default": "Animação",
          "domain": "Animação | Pose de repouso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "De onde vem o plano da dobra: do alvo ou do próprio objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-reference"
        },
        {
          "id": "target",
          "name": "Alvo",
          "kind": "referência",
          "group": "Alvo",
          "unit": "",
          "help": "",
          "default": "Escolher alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto da cena que o solver alcança; as receitas criam um alvo nomeado ao lado do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-target"
        },
        {
          "id": "pole",
          "name": "Direção da dobra",
          "kind": "referência",
          "group": "Plano",
          "unit": "",
          "help": "",
          "default": "Ângulo do plano",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto para onde a dobra aponta; vazio usa o plano configurado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-chain/#field-pole"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao último osso da cadeia, escolha o Comprimento da cadeia e o Solver; aponte o Alvo. O modelo de cena **Braço mecânico com IK de cadeia** mostra o arranjo pronto.",
        "example": "Braço de quatro segmentos: Comprimento 4, FABRIK, 12 iterações, tolerância .001 m. Mova o alvo: a garra chega em um quadro e a base respeita o Limite de rotação dela.",
        "next": "Presente na 0.3.1. Sem alvos intermediários nem pesos por osso. Sem data prometida.",
        "purpose": "Resolve uma cadeia de N ossos (braço mecânico, cauda, tentáculo) até um alvo por CCD ou FABRIK.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **IK de cadeia**.",
        "extra": "CCD converge osso a osso a partir da ponta; FABRIK alterna ida e volta e distribui melhor a curva. Iterações e Tolerância trocam precisão por custo. Direção da dobra, Zero do plano e Rotação do polo valem como no IK de dois ossos.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/)"
      }
    },
    {
      "typeId": "astra.ik.foot_grounding",
      "name": "Apoio do pé",
      "description": "Raio pela física apoia o pé na superfície e resolve a perna",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "FootGrounding",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_skeletonmodifier3d.html",
      "aliases": "Grounder Foot IK Pé Chão Rampa",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-weight"
        },
        {
          "id": "ray_height",
          "name": "Início do raio acima do pé",
          "kind": "número",
          "group": "Sondagem",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Altura acima do pé de onde o raio desce.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-ray-height"
        },
        {
          "id": "ray_distance",
          "name": "Alcance abaixo do pé",
          "kind": "número",
          "group": "Sondagem",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0.01 … 20",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Até onde o raio procura o chão.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-ray-distance"
        },
        {
          "id": "foot_offset",
          "name": "Altura do pé sobre a superfície",
          "kind": "número",
          "group": "Apoio",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Altura do pé acima do chão no repouso; a receita lê do modelo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-foot-offset"
        },
        {
          "id": "max_correction",
          "name": "Correção máxima",
          "kind": "número",
          "group": "Apoio",
          "unit": "m",
          "help": "",
          "default": "0.4",
          "domain": "0 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto a perna pode subir ou descer, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-max-correction"
        },
        {
          "id": "lock_height",
          "name": "Altura de contato",
          "kind": "número",
          "group": "Trava",
          "unit": "m",
          "help": "",
          "default": "0.05",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Abaixo desta altura o pé travado fica parado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-lock-height"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-enabled"
        },
        {
          "id": "align_to_surface",
          "name": "Alinhar à superfície",
          "kind": "booleano",
          "group": "Apoio",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclina o pé com a superfície.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-align-to-surface"
        },
        {
          "id": "lock_foot",
          "name": "Travar pé no apoio",
          "kind": "booleano",
          "group": "Trava",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mantém o pé apoiado parado enquanto o outro passa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-foot-grounding/#field-lock-foot"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Criar → Personagem → **Pés no chão** adiciona ao pé de cada perna (e o Grounder do corpo ao personagem). Ajuste o Desvio do pé se a sola flutuar ou afundar.",
        "example": "Kyle sobre uma rampa de 15°: com Alinhar à superfície, o pé inclina com a rampa; com Travar o pé, ele fica parado enquanto o outro passa, até a Altura de trava.",
        "next": "Presente na 0.3.1. Sem detecção de borda nem previsão de passo. Sem data prometida.",
        "purpose": "Apoia um pé no chão real da cena: um raio desce a partir do pé e a perna se ajusta à altura e à inclinação da superfície.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Apoio do pé**.",
        "extra": "Altura do raio e Distância do raio delimitam onde o chão é procurado; Correção máxima limita quanto a perna pode esticar ou encolher. O Desvio do pé nasce da altura do osso do pé no repouso.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.look_at",
      "name": "Look At IK",
      "description": "Coluna e cabeça olham para o alvo com pesos e ângulo máximo",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "LookAtIk",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/MultiAimConstraint.html",
      "aliases": "Look At Olhar Cabeça Coluna",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-weight"
        },
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ordem entre solvers do mesmo osso: o maior roda por último e vence.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-priority"
        },
        {
          "id": "body_weight",
          "name": "Peso do corpo",
          "kind": "número",
          "group": "Distribuição",
          "unit": "",
          "help": "",
          "default": "0.4",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto a coluna participa do olhar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-body-weight"
        },
        {
          "id": "head_weight",
          "name": "Peso da cabeça",
          "kind": "número",
          "group": "Distribuição",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto a cabeça participa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-head-weight"
        },
        {
          "id": "chain_length",
          "name": "Ossos na cadeia",
          "kind": "número",
          "group": "Distribuição",
          "unit": "ossos",
          "help": "",
          "default": "3",
          "domain": "1 … 16",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantos ossos acima deste participam.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-chain-length"
        },
        {
          "id": "clamp_angle",
          "name": "Ângulo máximo",
          "kind": "número",
          "group": "Limite",
          "unit": "graus",
          "help": "",
          "default": "90",
          "domain": "0 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ângulo máximo do olhar em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-clamp-angle"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-enabled"
        },
        {
          "id": "axis",
          "name": "Eixo frontal",
          "kind": "enumeração",
          "group": "Distribuição",
          "unit": "",
          "help": "",
          "default": "+Z",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-axis"
        },
        {
          "id": "target",
          "name": "Alvo",
          "kind": "referência",
          "group": "Alvo",
          "unit": "",
          "help": "",
          "default": "Escolher alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto da cena que o solver alcança; as receitas criam um alvo nomeado ao lado do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-look-at/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Criar → Personagem → **Olhar para alvo** adiciona ao osso da cabeça com um alvo 2 m à frente do personagem e escolhe o eixo frontal do osso. Mova o alvo e dê Play.",
        "example": "Com o alvo à frente, o Kyle olha reto; arraste-o 1 m para a esquerda e a cabeça gira dentro do Ângulo máximo, com a coluna acompanhando conforme o Peso do corpo.",
        "next": "Presente na 0.3.1. Sem olhos independentes nem suavização por velocidade neste componente (o Sistema de interação tem o olhar com velocidade). Sem data prometida.",
        "purpose": "Cabeça e coluna olham para um alvo, com o peso do corpo distribuído pela cadeia e um ângulo máximo.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Look At IK**.",
        "extra": "Comprimento da cadeia conta quantos ossos acima da cabeça participam. Eixo frontal é o eixo local do osso que aponta para o alvo; os eixos de osso variam por modelo, e a receita escolhe o que melhor se alinha com a frente do personagem.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.aim",
      "name": "Aim IK",
      "description": "Cadeia gira para o eixo da ponta mirar o alvo",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "AimIk",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/MultiAimConstraint.html",
      "aliases": "Aim Mira Arma Apontar",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-weight"
        },
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ordem entre solvers do mesmo osso: o maior roda por último e vence.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-priority"
        },
        {
          "id": "chain_length",
          "name": "Ossos na cadeia",
          "kind": "número",
          "group": "Cadeia",
          "unit": "ossos",
          "help": "",
          "default": "2",
          "domain": "1 … 16",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantos ossos acima deste participam.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-chain-length"
        },
        {
          "id": "iterations",
          "name": "Iterações",
          "kind": "número",
          "group": "Cadeia",
          "unit": "",
          "help": "",
          "default": "4",
          "domain": "1 … 32",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais iterações, mais precisão e mais custo por quadro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-iterations"
        },
        {
          "id": "falloff",
          "name": "Queda do peso para a base",
          "kind": "número",
          "group": "Cadeia",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Como a rotação cai do osso que mira para a base da cadeia.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-falloff"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-enabled"
        },
        {
          "id": "axis",
          "name": "Eixo de mira",
          "kind": "enumeração",
          "group": "Cadeia",
          "unit": "",
          "help": "",
          "default": "+Z",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-axis"
        },
        {
          "id": "target",
          "name": "Alvo",
          "kind": "referência",
          "group": "Alvo",
          "unit": "",
          "help": "",
          "default": "Escolher alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto da cena que o solver alcança; as receitas criam um alvo nomeado ao lado do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-aim/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Criar → Personagem → **Mirar com as mãos** adiciona a cada mão com um alvo 1,5 m à frente. Ajuste Comprimento da cadeia (2 = antebraço e braço) e Iterações.",
        "example": "Mire o alvo \"Mira · Right_Wrist_Joint_01\" numa caixa no chão: a mão aponta para baixo e o braço acompanha; com Queda .5 o ombro gira metade do antebraço.",
        "next": "Presente na 0.3.1. Sem limites por osso dentro do Aim; use Limite de rotação. Sem data prometida.",
        "purpose": "Um osso (mão, cano, ferramenta) aponta o eixo escolhido para o alvo, girando os ossos acima com peso decrescente.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Aim IK**.",
        "extra": "Queda distribui a rotação do topo para a base. Eixo frontal é o eixo local do osso que deve apontar; a receita escolhe o alinhado com a frente do personagem.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.rotation_limit",
      "name": "Limite de rotação",
      "description": "Dobradiça ou cone aplicados ao osso depois do IK",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "RotationLimit",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html",
      "aliases": "Rotation Limit Hinge Joint Limite",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "minimum",
          "name": "Mínimo",
          "kind": "número",
          "group": "Limite",
          "unit": "graus",
          "help": "",
          "default": "-90",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior em graus (dobradiça).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-rotation-limit/#field-minimum"
        },
        {
          "id": "maximum",
          "name": "Máximo",
          "kind": "número",
          "group": "Limite",
          "unit": "graus",
          "help": "",
          "default": "90",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite superior em graus (dobradiça e ângulo).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-rotation-limit/#field-maximum"
        },
        {
          "id": "cone",
          "name": "Cone",
          "kind": "número",
          "group": "Limite",
          "unit": "graus",
          "help": "",
          "default": "45",
          "domain": "0 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Abertura do cone em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-rotation-limit/#field-cone"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Limite",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-rotation-limit/#field-enabled"
        },
        {
          "id": "kind",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "Limite",
          "unit": "",
          "help": "",
          "default": "Dobradiça",
          "domain": "Livre | Dobradiça | Cone e torção",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Dobradiça (um eixo), Ângulo (qualquer direção) ou Cone.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-rotation-limit/#field-kind"
        },
        {
          "id": "axis",
          "name": "Eixo",
          "kind": "enumeração",
          "group": "Limite",
          "unit": "",
          "help": "",
          "default": "X",
          "domain": "X | Y | Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-rotation-limit/#field-axis"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso e escolha o Tipo: Dobradiça (um eixo entre Mínimo e Máximo), Ângulo (qualquer direção até o máximo) ou Cone (abertura em graus).",
        "example": "Cotovelo: Dobradiça no eixo X, mínimo 0°, máximo 140°. Com IK de dois ossos, o alvo atrás das costas não vira o cotovelo ao contrário.",
        "next": "Presente na 0.3.1. Sem limite poligonal (Final IK RotationLimitPolygon). Sem data prometida.",
        "purpose": "Limita a rotação de um osso no runtime, como dobradiça, ângulo ou cone, respeitado pelos solvers de IK.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Limite de rotação**.",
        "extra": "O rig do estúdio também mostra esses limites ao posar. O limite age depois dos solvers do mesmo osso.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/)"
      }
    },
    {
      "typeId": "astra.ik.grounder",
      "name": "Grounder do corpo",
      "description": "Desce a pelve para os pés alcançarem o chão (bípede ou quadrúpede)",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "GrounderBody",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_skeletonmodifier3d.html",
      "aliases": "Grounder Pelvis Quadruped Chão",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-grounder/#field-weight"
        },
        {
          "id": "max_pelvis_offset",
          "name": "Descida máxima da pelve",
          "kind": "número",
          "group": "Pelve",
          "unit": "m",
          "help": "",
          "default": "0.4",
          "domain": "0 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto a pelve pode descer para os pés alcançarem o chão.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-grounder/#field-max-pelvis-offset"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-grounder/#field-enabled"
        },
        {
          "id": "pelvis",
          "name": "Pelve",
          "kind": "referência",
          "group": "Pelve",
          "unit": "",
          "help": "",
          "default": "Escolher pelve",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da pelve; preenchido pelo nome quando reconhecido.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-grounder/#field-pelvis"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Criar → Personagem → **Pés no chão** adiciona ao personagem junto do Apoio do pé. Informe a Pelve se o nome não for reconhecido.",
        "example": "Um pé sobre um bloco de 20 cm e outro no chão: a pelve desce até o Deslocamento máximo da pelve e os dois pés ficam apoiados.",
        "next": "Presente na 0.3.1. Sem rotação da pelve pela inclinação média. Sem data prometida.",
        "purpose": "Ajusta a pelve quando vários pés estão apoiados em alturas diferentes, para as pernas não esticarem além do possível.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Grounder do corpo**.",
        "extra": "Bípedes e quadrúpedes usam o mesmo componente; o modelo de cena **Quadrúpede com grounder** mostra quatro patas numa rampa.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.finger_curl",
      "name": "Curvatura de dedo",
      "description": "Fecha ou abre a cadeia do dedo no eixo local",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "FingerCurl",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/ChainIKConstraint.html",
      "aliases": "Finger Curl Dedo Mão Grip",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-finger-curl/#field-weight"
        },
        {
          "id": "curl",
          "name": "Fechamento",
          "kind": "número",
          "group": "Dedo",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 aberto, 1 fechado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-finger-curl/#field-curl"
        },
        {
          "id": "max_angle",
          "name": "Ângulo por osso",
          "kind": "número",
          "group": "Dedo",
          "unit": "graus",
          "help": "",
          "default": "80",
          "domain": "0 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação de cada falange quando fechado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-finger-curl/#field-max-angle"
        },
        {
          "id": "chain_length",
          "name": "Ossos no dedo",
          "kind": "número",
          "group": "Dedo",
          "unit": "ossos",
          "help": "",
          "default": "3",
          "domain": "1 … 6",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantos ossos acima deste participam.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-finger-curl/#field-chain-length"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-finger-curl/#field-enabled"
        },
        {
          "id": "axis",
          "name": "Eixo de dobra",
          "kind": "enumeração",
          "group": "Dedo",
          "unit": "",
          "help": "",
          "default": "+X",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-finger-curl/#field-axis"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao primeiro osso de cada dedo, escolha o Comprimento da cadeia (3 falanges) e anime Curvatura de 0 (aberto) a 1 (fechado) por chave ou script.",
        "example": "Mão do Kyle: Curvatura .8 e Ângulo máximo 80° fecha o punho; .2 segura uma caixa sem atravessá-la.",
        "next": "Presente na 0.3.1. Sem detecção de contato por dedo. Sem data prometida.",
        "purpose": "Fecha ou abre os dedos a partir de um valor de curvatura, girando a cadeia de falanges.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Curvatura de dedo**.",
        "extra": "Eixo é o eixo local em torno do qual as falanges giram.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.offset",
      "name": "Offset de efetor",
      "description": "Desloca o alvo do IK desta ponta",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "IkOffset",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html",
      "aliases": "Effector Offset IK Offset",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "offset_x",
          "name": "Offset X",
          "kind": "número",
          "group": "Offset",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-offset/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Offset Y",
          "kind": "número",
          "group": "Offset",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-offset/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Offset Z",
          "kind": "número",
          "group": "Offset",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do deslocamento em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-offset/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Offset",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-offset/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso e anime os três deslocamentos; útil para balançar uma cabeça ou corrigir um alvo sem editar o clipe.",
        "example": "Offset Y de .05 m no osso do peito faz o personagem respirar quando animado por tween.",
        "next": "Presente na 0.3.1. Sem rotação de offset neste componente. Sem data prometida.",
        "purpose": "Desloca a pose final de um osso em metros depois dos solvers, sem mexer na animação.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Offset de efetor**.",
        "extra": "O deslocamento é aplicado no espaço do osso, após IK e antes dos encaixes.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.twist_relaxer",
      "name": "Relaxar torção",
      "description": "Divide a torção do filho com este osso",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "TwistRelaxer",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwistCorrection.html",
      "aliases": "Twist Relaxer Antebraço Torção",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Parte da torção",
          "kind": "número",
          "group": "Torção",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-twist-relaxer/#field-weight"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Torção",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-twist-relaxer/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso de torção (forearm twist) e ajuste o Peso.",
        "example": "Com a mão girada 90° por IK, Peso 1 reparte a torção entre o antebraço e o osso de torção; sem ele, a malha do pulso afina.",
        "next": "Presente na 0.3.1. Sem múltiplos ossos de torção por componente. Sem data prometida.",
        "purpose": "Distribui a torção de uma ponta (mão) pelos ossos de torção do antebraço, para o pulso não dobrar a malha.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Relaxar torção**.",
        "extra": "Age depois dos solvers do membro.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.hit_reaction",
      "name": "Reação a impacto",
      "description": "Gira a cadeia para longe do golpe e volta",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "HitReaction",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/MultiRotationConstraint.html",
      "aliases": "Hit Reaction Impacto Golpe Dano",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hit-reaction/#field-weight"
        },
        {
          "id": "strength",
          "name": "Força do golpe",
          "kind": "número",
          "group": "Golpe",
          "unit": "graus",
          "help": "",
          "default": "25",
          "domain": "0 … 90",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Intensidade da reação.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hit-reaction/#field-strength"
        },
        {
          "id": "duration",
          "name": "Recuperação",
          "kind": "número",
          "group": "Golpe",
          "unit": "s",
          "help": "",
          "default": "0.4",
          "domain": "0.05 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tempo para voltar à pose.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hit-reaction/#field-duration"
        },
        {
          "id": "chain_length",
          "name": "Ossos que reagem",
          "kind": "número",
          "group": "Golpe",
          "unit": "ossos",
          "help": "",
          "default": "3",
          "domain": "1 … 8",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quantos ossos acima deste participam.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hit-reaction/#field-chain-length"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hit-reaction/#field-enabled"
        },
        {
          "id": "react_to_collisions",
          "name": "Reagir a colisões",
          "kind": "booleano",
          "group": "Golpe",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Qualquer contato físico dispara a reação.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hit-reaction/#field-react-to-collisions"
        },
        {
          "id": "axis",
          "name": "Frente do osso",
          "kind": "enumeração",
          "group": "Golpe",
          "unit": "",
          "help": "",
          "default": "+Z",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hit-reaction/#field-axis"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "hit",
          "name": "Golpear",
          "help": "Gira a cadeia para longe da direção; força 1 usa a força autorada",
          "result": "nada",
          "parameters": [
            {
              "id": "direction",
              "name": "Direção do golpe",
              "kind": "vetor",
              "unit": ""
            },
            {
              "id": "force",
              "name": "Força",
              "kind": "número",
              "unit": ""
            }
          ]
        },
        {
          "id": "hit_front",
          "name": "Golpear de frente",
          "help": "Golpe contra a Frente do osso (empurra para trás); usado pelas Conexões de evento",
          "result": "nada",
          "parameters": [
            {
              "id": "force",
              "name": "Força",
              "kind": "número",
              "unit": ""
            }
          ]
        }
      ],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso atingido, defina Força, Duração e Comprimento da cadeia; com Reagir a colisões, qualquer contato físico dispara a reação. Por script, chame a reação com direção e intensidade.",
        "example": "Peito com Força 25 e Duração .4 s: uma caixa lançada contra o Kyle faz o tronco recuar e retornar.",
        "next": "Presente na 0.3.1. Sem ragdoll parcial. Sem data prometida.",
        "purpose": "Reage a um impacto: a cadeia acima do osso atingido se inclina na direção da força e volta no tempo escolhido.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Reação a impacto**.",
        "extra": "Eixo escolhe em torno de qual eixo local a cadeia dobra.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.recoil",
      "name": "Recuo",
      "description": "Levanta e recua a cadeia a cada disparo",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "Recoil",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/MultiAimConstraint.html",
      "aliases": "Recoil Recuo Arma Disparo Tiro",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-recoil/#field-weight"
        },
        {
          "id": "kick_angle",
          "name": "Levantar",
          "kind": "número",
          "group": "Recuo",
          "unit": "graus",
          "help": "",
          "default": "8",
          "domain": "0 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Levantada do cano em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-recoil/#field-kick-angle"
        },
        {
          "id": "kick_back",
          "name": "Recuar",
          "kind": "número",
          "group": "Recuo",
          "unit": "m",
          "help": "",
          "default": "0.05",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Recuo da mão em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-recoil/#field-kick-back"
        },
        {
          "id": "duration",
          "name": "Recuperação",
          "kind": "número",
          "group": "Recuo",
          "unit": "s",
          "help": "",
          "default": "0.25",
          "domain": "0.02 … 3",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tempo para voltar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-recoil/#field-duration"
        },
        {
          "id": "chain_length",
          "name": "Ossos no recuo",
          "kind": "número",
          "group": "Cadeia",
          "unit": "ossos",
          "help": "",
          "default": "2",
          "domain": "1 … 8",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quantos ossos acima deste participam.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-recoil/#field-chain-length"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-recoil/#field-enabled"
        },
        {
          "id": "axis",
          "name": "Eixo do cano",
          "kind": "enumeração",
          "group": "Cadeia",
          "unit": "",
          "help": "",
          "default": "+Z",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-recoil/#field-axis"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "fire",
          "name": "Disparar",
          "help": "Aplica um recuo; intensidade 1 usa os valores autorados",
          "result": "nada",
          "parameters": [
            {
              "id": "magnitude",
              "name": "Intensidade",
              "kind": "número",
              "unit": ""
            }
          ]
        }
      ],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione à mão que segura a arma, ajuste Ângulo de coice, Recuo e Duração; dispare por script.",
        "example": "Ângulo 8°, Recuo .05 m, Duração .25 s: cada tiro levanta o cano e empurra a mão para trás.",
        "next": "Presente na 0.3.1. Sem padrão de dispersão. Sem data prometida.",
        "purpose": "Recuo de disparo: a cadeia das mãos gira o Ângulo de coice e recua a distância escolhida, voltando em Duração.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Recuo**.",
        "extra": "Comprimento da cadeia decide quantos ossos acima da mão participam.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.inertia",
      "name": "Inércia",
      "description": "A ponta do osso segue a pose por uma mola",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "Inertia",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/DampedTransform.html",
      "aliases": "Inertia Inércia Damped Cauda Orelha Jiggle",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-inertia/#field-weight"
        },
        {
          "id": "stiffness",
          "name": "Rigidez",
          "kind": "número",
          "group": "Mola",
          "unit": "",
          "help": "",
          "default": "40",
          "domain": "1 … 400",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Força de retorno da mola.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-inertia/#field-stiffness"
        },
        {
          "id": "damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Mola",
          "unit": "",
          "help": "",
          "default": "0.35",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto a oscilação morre.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-inertia/#field-damping"
        },
        {
          "id": "max_angle",
          "name": "Desvio máximo",
          "kind": "número",
          "group": "Mola",
          "unit": "graus",
          "help": "",
          "default": "35",
          "domain": "0 … 120",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Dobra máxima em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-inertia/#field-max-angle"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-inertia/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso e ajuste Rigidez e Amortecimento; Ângulo máximo evita dobras exageradas.",
        "example": "Cauda da raposa do modelo Quadrúpede: Rigidez 40, Amortecimento .35, Ângulo máximo 35°.",
        "next": "Presente na 0.3.1. Sem colisão da cadeia com o corpo. Sem data prometida.",
        "purpose": "Um osso solto (cauda, orelha, antena) segue o movimento do pai com atraso elástico.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Inércia**.",
        "extra": "A mola age no espaço do pai, sobre a pose animada.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.amplifier",
      "name": "Amplificador",
      "description": "Exagera a rotação animada do osso",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "Amplifier",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/MultiRotationConstraint.html",
      "aliases": "Amplifier Amplificador Exagero Cartoon",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-amplifier/#field-weight"
        },
        {
          "id": "amount",
          "name": "Exagero",
          "kind": "número",
          "group": "Amplificar",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 3",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "1 mantém, abaixo atenua, acima exagera.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-amplifier/#field-amount"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-amplifier/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso; Quantidade .5 reduz à metade, 2 dobra.",
        "example": "Amplificador na cabeça com Quantidade 1.5 exagera um aceno gravado no estúdio sem reeditar as chaves.",
        "next": "Presente na 0.3.1. Sem amplificação por eixo. Sem data prometida.",
        "purpose": "Amplifica ou atenua o movimento animado de um osso em relação ao pai.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Amplificador**.",
        "extra": "Age sobre a rotação local do osso antes dos solvers.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.body_tilt",
      "name": "Inclinação do corpo",
      "description": "Inclina o osso para dentro da curva",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "BodyTilt",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/OverrideTransform.html",
      "aliases": "Body Tilt Inclinação Curva Lean",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-tilt/#field-weight"
        },
        {
          "id": "tilt_per_turn",
          "name": "Inclinação por giro",
          "kind": "número",
          "group": "Inclinação",
          "unit": "graus por grau/s",
          "help": "",
          "default": "0.2",
          "domain": "0 … 2",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Inclinação por velocidade de giro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-tilt/#field-tilt-per-turn"
        },
        {
          "id": "max_angle",
          "name": "Inclinação máxima",
          "kind": "número",
          "group": "Inclinação",
          "unit": "graus",
          "help": "",
          "default": "20",
          "domain": "0 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Inclinação máxima em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-tilt/#field-max-angle"
        },
        {
          "id": "smoothing",
          "name": "Suavização",
          "kind": "número",
          "group": "Inclinação",
          "unit": "s",
          "help": "",
          "default": "0.15",
          "domain": "0 … 2",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tempo de suavização.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-tilt/#field-smoothing"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-tilt/#field-enabled"
        },
        {
          "id": "axis",
          "name": "Eixo frontal do personagem",
          "kind": "enumeração",
          "group": "Inclinação",
          "unit": "",
          "help": "",
          "default": "+Z",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-tilt/#field-axis"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso da coluna, ajuste Inclinação por giro e Ângulo máximo; Suavização evita trancos.",
        "example": "Personagem correndo em círculo com Inclinação .2 e máximo 20°: o tronco pende para dentro da curva.",
        "next": "Presente na 0.3.1. Sem inclinação por aceleração linear. Sem data prometida.",
        "purpose": "Inclina o corpo ao fazer curvas, proporcional à velocidade angular do personagem.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Inclinação do corpo**.",
        "extra": "Eixo escolhe o eixo local da inclinação.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.hand_poser",
      "name": "Poser de mão",
      "description": "Copia a pose de uma hierarquia de referência",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "HandPoser",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/OverrideTransform.html",
      "aliases": "Hand Poser Generic Poser Pose Mão Garra",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hand-poser/#field-weight"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hand-poser/#field-enabled"
        },
        {
          "id": "include_self",
          "name": "Incluir este osso",
          "kind": "booleano",
          "group": "Pose",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Copia também a rotação do pulso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hand-poser/#field-include-self"
        },
        {
          "id": "reference",
          "name": "Pose de referência",
          "kind": "referência",
          "group": "Pose",
          "unit": "",
          "help": "",
          "default": "Escolher pose",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Hierarquia de mão posada a copiar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-hand-poser/#field-reference"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione à mão, aponte a Referência (uma hierarquia de mão posada, por exemplo a pegada de um objeto) e ajuste o Peso.",
        "example": "Objeto interagível com Pose da mão apontando para uma mão fechada: ao pegar, os dedos assumem a pegada.",
        "next": "Presente na 0.3.1. Sem mistura entre duas referências. Sem data prometida.",
        "purpose": "Copia a pose de uma mão de referência (dedos e pulso) para a mão do personagem, com peso.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Poser de mão**.",
        "extra": "Incluir o próprio osso copia também a rotação do pulso.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.penetration_avoidance",
      "name": "Evitar penetração",
      "description": "Para o alvo do IK na superfície do colisor",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "PenetrationAvoidance",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_skeletonmodifier3d.html",
      "aliases": "Penetration Avoidance Colisão Parede IK",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "radius",
          "name": "Folga da superfície",
          "kind": "número",
          "group": "Colisão",
          "unit": "m",
          "help": "",
          "default": "0.05",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Raio ao redor do osso que não pode entrar em colisores.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-penetration-avoidance/#field-radius"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Colisão",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-penetration-avoidance/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso que atravessa geometria (mão, cotovelo) e ajuste o Raio.",
        "example": "Mão com Raio .05 m deixa de atravessar a mesa ao alcançar a caixa.",
        "next": "Presente na 0.3.1. Sem resposta de rotação. Sem data prometida.",
        "purpose": "Empurra o osso para fora de colisores próximos, dentro de um raio.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Evitar penetração**.",
        "extra": "Consulta os colisores físicos da cena a cada quadro.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.interaction_object",
      "name": "Objeto interagível",
      "description": "Ponto de pegada, pose da mão e tempos",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "InteractionObject",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html",
      "aliases": "Interaction Object Interagível Pegar Prop",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "reach_time",
          "name": "Tempo para alcançar",
          "kind": "número",
          "group": "Tempo",
          "unit": "s",
          "help": "",
          "default": "0.5",
          "domain": "0.05 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tempo para a mão chegar à pegada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-reach-time"
        },
        {
          "id": "release_time",
          "name": "Tempo para soltar",
          "kind": "número",
          "group": "Tempo",
          "unit": "s",
          "help": "",
          "default": "0.35",
          "domain": "0.05 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tempo para soltar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-release-time"
        },
        {
          "id": "lift_time",
          "name": "Tempo para levantar",
          "kind": "número",
          "group": "Carregar",
          "unit": "s",
          "help": "",
          "default": "0.4",
          "domain": "0.05 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tempo para erguer até o ponto de carregar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-lift-time"
        },
        {
          "id": "pick_up",
          "name": "Pegar ao alcançar",
          "kind": "booleano",
          "group": "Pegada",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O objeto passa para a mão ao ser alcançado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-pick-up"
        },
        {
          "id": "grip",
          "name": "Ponto de pegada",
          "kind": "referência",
          "group": "Pegada",
          "unit": "",
          "help": "",
          "default": "O próprio objeto",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Filho do objeto onde a mão vai.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-grip"
        },
        {
          "id": "second_grip",
          "name": "Pegada da 2ª mão",
          "kind": "referência",
          "group": "Pegada",
          "unit": "",
          "help": "",
          "default": "Mesma pegada",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Pegada da segunda mão.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-second-grip"
        },
        {
          "id": "hand_pose",
          "name": "Pose da mão",
          "kind": "referência",
          "group": "Pegada",
          "unit": "",
          "help": "",
          "default": "Sem pose",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Poser de mão aplicado ao pegar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-hand-pose"
        },
        {
          "id": "hold_point",
          "name": "Ponto de carregar",
          "kind": "referência",
          "group": "Carregar",
          "unit": "",
          "help": "",
          "default": "Fica na mão",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ponto do personagem onde o objeto fica ao carregar com as duas mãos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-object/#field-hold-point"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Criar → Personagem → **Carregar caixa** monta mesa, caixa com duas pegadas e ponto de carregar. Para um objeto seu, adicione o componente e aponte Pegada (um filho onde a mão vai) e, se for pegar, marque Pegar.",
        "example": "Caixa com Pegada e Segunda pegada nas laterais e Ponto de carregar no peito do personagem: em Play ele agacha, segura e levanta a caixa junto ao corpo.",
        "next": "Presente na 0.3.1. Sem múltiplos pontos de pegada por mão. Sem data prometida.",
        "purpose": "Objeto que uma mão pode alcançar, pegar e carregar: ponto de pegada, pose da mão, tempos e, com duas mãos, ponto de carregar.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Objeto interagível**.",
        "extra": "Tempo de alcance, de soltar e de erguer controlam a animação procedural. Pose da mão usa um Poser de mão.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.interaction_system",
      "name": "Sistema de interação",
      "description": "Leva a mão até objetos interagíveis",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "InteractionSystem",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html",
      "aliases": "Interaction System Interação Pegar Alcançar",
      "schemaVersion": 5,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "speed",
          "name": "Velocidade",
          "kind": "número",
          "group": "Interação",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.1 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Escala os tempos do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-speed"
        },
        {
          "id": "limb_bones",
          "name": "Ossos do braço",
          "kind": "número",
          "group": "Interação",
          "unit": "ossos",
          "help": "",
          "default": "2",
          "domain": "2 … 8",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ossos que a mão arrasta ao alcançar (2 = antebraço e braço).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-limb-bones"
        },
        {
          "id": "crouch",
          "name": "Agachar até",
          "kind": "número",
          "group": "Corpo",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0 … 2",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto o corpo agacha para alcançar baixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-crouch"
        },
        {
          "id": "lean",
          "name": "Inclinar o tronco",
          "kind": "número",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto o corpo se inclina para alcançar longe.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-lean"
        },
        {
          "id": "look_speed",
          "name": "Entrada do olhar",
          "kind": "número",
          "group": "Olhar",
          "unit": "/s",
          "help": "",
          "default": "2",
          "domain": "0.1 … 20",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Velocidade do olhar para o objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-look-speed"
        },
        {
          "id": "look_turn",
          "name": "Giro do olhar",
          "kind": "número",
          "group": "Olhar",
          "unit": "/s",
          "help": "",
          "default": "6",
          "domain": "0.5 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Giro máximo do olhar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-look-turn"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Interação",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-enabled"
        },
        {
          "id": "auto_effector",
          "name": "Mão ao iniciar",
          "kind": "referência",
          "group": "Início sem script",
          "unit": "",
          "help": "",
          "default": "Sem início automático",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mão usada pelos gatilhos automáticos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-auto-effector"
        },
        {
          "id": "auto_object",
          "name": "Objeto ao iniciar",
          "kind": "referência",
          "group": "Início sem script",
          "unit": "",
          "help": "",
          "default": "Sem objeto",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto padrão para iniciar por script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-auto-object"
        },
        {
          "id": "auto_second",
          "name": "Segunda mão ao iniciar",
          "kind": "referência",
          "group": "Início sem script",
          "unit": "",
          "help": "",
          "default": "Uma mão",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Segunda mão.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-auto-second"
        },
        {
          "id": "pelvis",
          "name": "Pelve",
          "kind": "referência",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Sem agachar",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da pelve (agachar).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-pelvis"
        },
        {
          "id": "chest",
          "name": "Peito",
          "kind": "referência",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Sem inclinar",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso do peito (inclinar).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-chest"
        },
        {
          "id": "look_at",
          "name": "Olhar com",
          "kind": "referência",
          "group": "Olhar",
          "unit": "",
          "help": "",
          "default": "Sem olhar",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso que olha para o objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-system/#field-look-at"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "start",
          "name": "Interagir",
          "help": "Leva a mão até o Objeto interagível; falso se a mão ou o objeto não servem",
          "result": "booleano",
          "parameters": [
            {
              "id": "effector",
              "name": "Mão",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "object",
              "name": "Objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "stop",
          "name": "Soltar",
          "help": "Devolve a mão à animação e larga o objeto pego",
          "result": "nada",
          "parameters": [
            {
              "id": "effector",
              "name": "Mão",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "trigger",
          "name": "Interagir pelo gatilho",
          "help": "Começa a interação do Gatilho de interação mais próximo em que o personagem está; falso se não há nenhum",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "reached",
          "name": "Alcançou",
          "help": "A mão chegou ao ponto de pegada",
          "payload": [
            {
              "id": "effector",
              "name": "Mão",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "object",
              "name": "Objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "picked",
          "name": "Levantou",
          "help": "A última mão chegou e o objeto sobe ao ponto de carregar",
          "payload": [
            {
              "id": "effector",
              "name": "Mão",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "object",
              "name": "Objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "released",
          "name": "Soltou",
          "help": "A mão voltou à animação",
          "payload": [
            {
              "id": "effector",
              "name": "Mão",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "object",
              "name": "Objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "entered",
          "name": "Entrou no gatilho",
          "help": "O personagem entrou na faixa de um Gatilho de interação (Objeto = o gatilho)",
          "payload": [
            {
              "id": "effector",
              "name": "Mão",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "object",
              "name": "Objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "left",
          "name": "Saiu do gatilho",
          "help": "O personagem saiu da faixa do gatilho",
          "payload": [
            {
              "id": "effector",
              "name": "Mão",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "object",
              "name": "Objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicionado pelo **Carregar caixa** ou pelo Inspector (pelve, peito e mãos preenchidos pelo nome dos ossos). Por script, inicie a interação com um efetor e um objeto, ou deixe um Gatilho de interação automático começar.",
        "example": "Com o Kyle dentro do gatilho da caixa, a interação começa sozinha: as mãos vão às pegadas, o corpo agacha conforme Agachar e Inclinar, a caixa sobe ao ponto de carregar.",
        "next": "Presente na 0.3.1. Sem interação com os pés nem com dois objetos ao mesmo tempo. Sem data prometida.",
        "purpose": "Faz o personagem interagir com objetos interagíveis: alcança com as mãos, agacha e se inclina, olha para o objeto e carrega.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Sistema de interação**.",
        "extra": "Velocidade escala os tempos do objeto; Ossos do membro é quantos ossos a mão arrasta; Olhar com Velocidade e Giro do olhar aponta a cabeça para o objeto enquanto alcança. Eventos `reached`, `released`, `entered` e `left` chegam aos scripts e às conexões.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.interaction_grip",
      "name": "Pivô de pegada",
      "description": "Gira o objeto sobre este pivô para a pegada encarar a mão",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "InteractionGrip",
      "reference": "https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/manual/xr-grab-interactable.html",
      "aliases": "Interaction Target Pivô Pegada Torção Girar Mão",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "twist_weight",
          "name": "Peso da torção",
          "kind": "número",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Peso da torção em torno do eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-twist-weight"
        },
        {
          "id": "swing_weight",
          "name": "Peso do balanço",
          "kind": "número",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Peso do balanço.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-swing-weight"
        },
        {
          "id": "full_weight",
          "name": "Peso da rotação",
          "kind": "número",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Peso da orientação completa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-full-weight"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-enabled"
        },
        {
          "id": "rotate_once",
          "name": "Girar uma vez",
          "kind": "booleano",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fixa a orientação no primeiro contato.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-rotate-once"
        },
        {
          "id": "mode",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "Torção e balanço",
          "domain": "Torção e balanço | Rotação completa",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Torção, balanço ou completo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-mode"
        },
        {
          "id": "axis",
          "name": "Eixo da torção",
          "kind": "enumeração",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "+Y",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso usado pelo efeito; os eixos variam por modelo (no Robot Kyle, o +Z da cabeça aponta para o lado). As receitas escolhem o eixo alinhado com a frente do personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-axis"
        },
        {
          "id": "grip",
          "name": "Pegada",
          "kind": "referência",
          "group": "Giro",
          "unit": "",
          "help": "",
          "default": "A pegada do Objeto interagível",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Pegada que gira.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-grip/#field-grip"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao objeto interagível e aponte a Pegada; escolha o Modo e o Eixo em torno do qual a pegada pode girar.",
        "example": "Alça de uma caneca: Modo torção no eixo Y faz a alça virar para a mão venha de onde vier.",
        "next": "Presente na 0.3.1. Sem pegada deslizante ao longo de uma barra. Sem data prometida.",
        "purpose": "Pivô de pegada: gira a pegada do objeto para encarar a mão que chega, por torção, balanço ou os dois.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Pivô de pegada**.",
        "extra": "Girar uma vez fixa a orientação no primeiro contato; os pesos de torção, balanço e completo dosam cada componente.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.interaction_trigger",
      "name": "Gatilho de interação",
      "description": "Faixa à frente do objeto: o personagem dentro dela interage",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "InteractionTrigger",
      "reference": "https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/manual/xr-direct-interactor.html",
      "aliases": "Interaction Trigger Gatilho Faixa Alcance Automático",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Faixa",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.05 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Raio da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-radius"
        },
        {
          "id": "max_angle",
          "name": "Ângulo máximo",
          "kind": "número",
          "group": "Faixa",
          "unit": "graus",
          "help": "",
          "default": "45",
          "domain": "1 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ângulo máximo entre a frente do personagem e o objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-max-angle"
        },
        {
          "id": "offset_x",
          "name": "Deslocamento lateral",
          "kind": "número",
          "group": "Faixa",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-5 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Deslocamento lateral da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-offset-x"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento à frente",
          "kind": "número",
          "group": "Faixa",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-5 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Deslocamento à frente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-offset-z"
        },
        {
          "id": "angle_offset",
          "name": "Giro da direção",
          "kind": "número",
          "group": "Faixa",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Giro da direção da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-angle-offset"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Gatilho",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-enabled"
        },
        {
          "id": "automatic",
          "name": "Automático",
          "kind": "booleano",
          "group": "Gatilho",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa a interação ao entrar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-automatic"
        },
        {
          "id": "orbit",
          "name": "Em volta do objeto",
          "kind": "booleano",
          "group": "Faixa",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceita qualquer direção em volta do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-orbit"
        },
        {
          "id": "fix_up",
          "name": "Cima fixo",
          "kind": "booleano",
          "group": "Faixa",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ignora a inclinação do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-fix-up"
        },
        {
          "id": "hands",
          "name": "Mãos",
          "kind": "enumeração",
          "group": "Gatilho",
          "unit": "",
          "help": "",
          "default": "Mão ao iniciar",
          "domain": "Mão ao iniciar | Segunda mão ao iniciar | As duas",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mão esquerda, direita ou as duas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-hands"
        },
        {
          "id": "interactable",
          "name": "Objeto interagível",
          "kind": "referência",
          "group": "Gatilho",
          "unit": "",
          "help": "",
          "default": "Este objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto interagível alvo; vazio usa o próprio objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-interaction-trigger/#field-interactable"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao objeto (ou a um filho posicionado) e aponte o Objeto interagível; ajuste Raio, Ângulo máximo e os deslocamentos para definir de onde o personagem pode pegar.",
        "example": "Gatilho com Raio .5 m e Automático: ao andar até a caixa, o Kyle pega sem script; ao sair, `left`.",
        "next": "Presente na 0.3.1. Sem fila de gatilhos nem prioridade entre objetos próximos além da distância. Sem data prometida.",
        "purpose": "Faixa à frente de um objeto: quando um personagem com Sistema de interação entra nela, gera `entered` e, se Automático, começa a interação.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Gatilho de interação**.",
        "extra": "Em volta do objeto aceita qualquer direção; Cima fixo ignora a inclinação do objeto; Mãos escolhe a mão (ou as duas) que a interação usa.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.ik.full_body",
      "name": "IK de corpo inteiro",
      "description": "Puxa a pelve para alcançar alvos e resolve os membros",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "FullBodyIk",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_skeletonmodifier3d.html",
      "aliases": "Full Body Biped IK FABRIK Root Corpo Inteiro",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-weight"
        },
        {
          "id": "body_pull",
          "name": "Puxar o corpo",
          "kind": "número",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "0.6",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto a pelve segue os membros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-body-pull"
        },
        {
          "id": "max_body_offset",
          "name": "Deslocamento máximo da pelve",
          "kind": "número",
          "group": "Corpo",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0 … 3",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Deslocamento máximo da pelve.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-max-body-offset"
        },
        {
          "id": "spine_bend",
          "name": "Curvar o tronco",
          "kind": "número",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto a coluna dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-spine-bend"
        },
        {
          "id": "limb_bones",
          "name": "Ossos por membro",
          "kind": "número",
          "group": "Corpo",
          "unit": "ossos",
          "help": "",
          "default": "2",
          "domain": "2 … 8",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tamanho de cada cadeia.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-limb-bones"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-enabled"
        },
        {
          "id": "pelvis",
          "name": "Pelve",
          "kind": "referência",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Escolher pelve",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da pelve.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-pelvis"
        },
        {
          "id": "chest",
          "name": "Peito",
          "kind": "referência",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Sem tronco",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso do peito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-chest"
        },
        {
          "id": "tip_1",
          "name": "Ponta 1 (mão esq.)",
          "kind": "referência",
          "group": "Ponta 1",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-tip-1"
        },
        {
          "id": "target_1",
          "name": "Alvo 1",
          "kind": "referência",
          "group": "Ponta 1",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-target-1"
        },
        {
          "id": "tip_2",
          "name": "Ponta 2 (mão dir.)",
          "kind": "referência",
          "group": "Ponta 2",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-tip-2"
        },
        {
          "id": "target_2",
          "name": "Alvo 2",
          "kind": "referência",
          "group": "Ponta 2",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-target-2"
        },
        {
          "id": "tip_3",
          "name": "Ponta 3 (pé esq.)",
          "kind": "referência",
          "group": "Ponta 3",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-tip-3"
        },
        {
          "id": "target_3",
          "name": "Alvo 3",
          "kind": "referência",
          "group": "Ponta 3",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-target-3"
        },
        {
          "id": "tip_4",
          "name": "Ponta 4 (pé dir.)",
          "kind": "referência",
          "group": "Ponta 4",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-tip-4"
        },
        {
          "id": "target_4",
          "name": "Alvo 4",
          "kind": "referência",
          "group": "Ponta 4",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-full-body/#field-target-4"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Criar → Personagem → **Corpo inteiro** liga pelve, peito e pontas pelo nome e cria um alvo por ponta onde ela está. Mova os alvos e dê Play.",
        "example": "Puxe o alvo da mão direita 40 cm para a frente: a mão vai, a coluna dobra conforme Dobra da coluna e a pelve avança até o Deslocamento máximo do corpo.",
        "next": "Presente na 0.3.1. Sem efetores de ombro e coxa nem mapeamento automático de pés como pontas 3 e 4 fora dos nomes conhecidos. Sem data prometida.",
        "purpose": "IK de corpo inteiro: pelve, peito e até quatro pontas com alvos, puxando o corpo na direção do alcance.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **IK de corpo inteiro**.",
        "extra": "Puxão do corpo dosa quanto a pelve segue os membros; Ossos do membro é o tamanho de cada cadeia.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem)"
      }
    },
    {
      "typeId": "astra.ik.fabrik_root",
      "name": "FABRIK em árvore",
      "description": "Várias cadeias com raiz comum resolvidas juntas",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "FabrikRoot",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_skeletonmodifier3d.html",
      "aliases": "FABRIK Root Árvore Tentáculo Garra Aranha Multi Chain",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-weight"
        },
        {
          "id": "root_pin",
          "name": "Fixar raiz",
          "kind": "número",
          "group": "Raiz",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 solta a raiz, 1 a mantém no lugar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-root-pin"
        },
        {
          "id": "iterations",
          "name": "Iterações",
          "kind": "número",
          "group": "Raiz",
          "unit": "",
          "help": "",
          "default": "8",
          "domain": "1 … 64",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Mais iterações, mais precisão e mais custo por quadro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-iterations"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-enabled"
        },
        {
          "id": "tip_1",
          "name": "Ponta 1",
          "kind": "referência",
          "group": "Cadeia 1",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-tip-1"
        },
        {
          "id": "target_1",
          "name": "Alvo 1",
          "kind": "referência",
          "group": "Cadeia 1",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-target-1"
        },
        {
          "id": "tip_2",
          "name": "Ponta 2",
          "kind": "referência",
          "group": "Cadeia 2",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-tip-2"
        },
        {
          "id": "target_2",
          "name": "Alvo 2",
          "kind": "referência",
          "group": "Cadeia 2",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-target-2"
        },
        {
          "id": "tip_3",
          "name": "Ponta 3",
          "kind": "referência",
          "group": "Cadeia 3",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-tip-3"
        },
        {
          "id": "target_3",
          "name": "Alvo 3",
          "kind": "referência",
          "group": "Cadeia 3",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-target-3"
        },
        {
          "id": "tip_4",
          "name": "Ponta 4",
          "kind": "referência",
          "group": "Cadeia 4",
          "unit": "",
          "help": "",
          "default": "Sem ponta",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da ponta desta cadeia (mão, pé, garra).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-tip-4"
        },
        {
          "id": "target_4",
          "name": "Alvo 4",
          "kind": "referência",
          "group": "Cadeia 4",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo que esta ponta alcança.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-fabrik-root/#field-target-4"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao osso raiz comum e preencha até quatro pares ponta/alvo.",
        "example": "Raiz no pulso com três dedos como pontas: aproximar os três alvos fecha a mão de forma coerente.",
        "next": "Presente na 0.3.1. Até quatro cadeias por componente. Sem data prometida.",
        "purpose": "FABRIK em árvore: várias cadeias que partem de uma raiz comum (mão com dedos, árvore de tentáculos) resolvidas juntas.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **FABRIK em árvore**.",
        "extra": "Fixar a raiz dosa quanto a raiz pode ser puxada; Iterações troca precisão por custo.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/)"
      }
    },
    {
      "typeId": "astra.ik.body_by_targets",
      "name": "Corpo por alvos (VRIK)",
      "description": "Cabeça e mãos seguem alvos; pelve e tronco acompanham",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "BodyByTargets",
      "reference": "https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html",
      "aliases": "VRIK VR IK Corpo Alvos Cabeça Mãos Avatar Tracking",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-weight"
        },
        {
          "id": "body_follow",
          "name": "Corpo segue a cabeça",
          "kind": "número",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto a pelve acompanha a cabeça.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-body-follow"
        },
        {
          "id": "spine_bend",
          "name": "Curvar o tronco",
          "kind": "número",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "0.6",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto a coluna dobra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-spine-bend"
        },
        {
          "id": "max_body_offset",
          "name": "Deslocamento máximo da pelve",
          "kind": "número",
          "group": "Corpo",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0 … 5",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Deslocamento máximo do corpo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-max-body-offset"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Influência",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-enabled"
        },
        {
          "id": "head_rotation",
          "name": "Cabeça copia a rotação do alvo",
          "kind": "booleano",
          "group": "Cabeça",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Copia a rotação do alvo da cabeça.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-head-rotation"
        },
        {
          "id": "pelvis",
          "name": "Pelve",
          "kind": "referência",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Escolher pelve",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da pelve.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-pelvis"
        },
        {
          "id": "chest",
          "name": "Peito",
          "kind": "referência",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Sem tronco",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso do peito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-chest"
        },
        {
          "id": "head",
          "name": "Cabeça",
          "kind": "referência",
          "group": "Cabeça",
          "unit": "",
          "help": "",
          "default": "Escolher cabeça",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso da cabeça.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-head"
        },
        {
          "id": "head_target",
          "name": "Alvo da cabeça",
          "kind": "referência",
          "group": "Cabeça",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo da cabeça.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-head-target"
        },
        {
          "id": "left_hand",
          "name": "Mão esquerda",
          "kind": "referência",
          "group": "Mãos",
          "unit": "",
          "help": "",
          "default": "Sem mão",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mão esquerda.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-left-hand"
        },
        {
          "id": "left_target",
          "name": "Alvo esquerdo",
          "kind": "referência",
          "group": "Mãos",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo da mão esquerda.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-left-target"
        },
        {
          "id": "right_hand",
          "name": "Mão direita",
          "kind": "referência",
          "group": "Mãos",
          "unit": "",
          "help": "",
          "default": "Sem mão",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mão direita.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-right-hand"
        },
        {
          "id": "right_target",
          "name": "Alvo direito",
          "kind": "referência",
          "group": "Mãos",
          "unit": "",
          "help": "",
          "default": "Sem alvo",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alvo da mão direita.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-body-by-targets/#field-right-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao personagem, aponte pelve, peito, cabeça e mãos (preenchidos pelo nome quando possível) e os três alvos.",
        "example": "Mova o alvo da cabeça para baixo: o personagem agacha com a coluna dobrando conforme Dobra da coluna, até o Deslocamento máximo do corpo.",
        "next": "Presente na 0.3.1. Sem rastreamento de pés nem entrada de XR real; os alvos vêm da cena ou de scripts. Sem data prometida.",
        "purpose": "Corpo guiado por três alvos (cabeça, mão esquerda, mão direita), no jeito do VRIK: a coluna segue a cabeça e as mãos alcançam os alvos.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Corpo por alvos (VRIK)**.",
        "extra": "Seguir o corpo dosa quanto a pelve acompanha a cabeça; Rotação da cabeça copia a rotação do alvo.",
        "related": "[IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/)"
      }
    },
    {
      "typeId": "astra.ik.socket",
      "name": "Encaixe",
      "description": "Acessório preso a um osso com deslocamento; segue a pose final",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "Socket",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_boneattachment3d.html",
      "aliases": "Socket Encaixe Acessório Arma Attachment BoneAttachment Chapéu Mochila",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "position_x",
          "name": "Posição X",
          "kind": "número",
          "group": "Deslocamento",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente da posição local do encaixe em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-position-x"
        },
        {
          "id": "position_y",
          "name": "Posição Y",
          "kind": "número",
          "group": "Deslocamento",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente da posição local do encaixe em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-position-y"
        },
        {
          "id": "position_z",
          "name": "Posição Z",
          "kind": "número",
          "group": "Deslocamento",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente da posição local do encaixe em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-position-z"
        },
        {
          "id": "rotation_x",
          "name": "Rotação X",
          "kind": "número",
          "group": "Deslocamento",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente da rotação local do encaixe em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-rotation-x"
        },
        {
          "id": "rotation_y",
          "name": "Rotação Y",
          "kind": "número",
          "group": "Deslocamento",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente da rotação local do encaixe em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-rotation-y"
        },
        {
          "id": "rotation_z",
          "name": "Rotação Z",
          "kind": "número",
          "group": "Deslocamento",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente da rotação local do encaixe em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-rotation-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Encaixe",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-enabled"
        },
        {
          "id": "follow_scale",
          "name": "Seguir escala do osso",
          "kind": "booleano",
          "group": "Encaixe",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acompanha a escala do osso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-follow-scale"
        },
        {
          "id": "bone",
          "name": "Osso",
          "kind": "referência",
          "group": "Encaixe",
          "unit": "",
          "help": "",
          "default": "Escolher osso",
          "domain": "qualquer objeto · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso ao qual o acessório se prende.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ik-socket/#field-bone"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao objeto do acessório, aponte o Osso e ajuste posição e rotação locais; Seguir escala do osso acompanha a escala.",
        "example": "Espada presa ao osso da mão direita com rotação X de 90°: segue a mão em Play e nas poses do estúdio.",
        "next": "Presente na 0.3.1. Sem troca animada de encaixe; use Filho de para trocar o pai durante um clipe. Sem data prometida.",
        "purpose": "Prende um acessório (arma, chapéu, mochila) a um osso com um deslocamento, seguindo a pose final depois dos solvers.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Encaixe**.",
        "extra": "Diferente de tornar o objeto filho do osso: o encaixe recebe a pose depois de IK e interação.",
        "related": "[Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/)"
      }
    },
    {
      "typeId": "astra.constraint.child_of",
      "name": "Filho de",
      "description": "Troca o pai do objeto durante a animação; os canais locais valem no espaço do pai escolhido",
      "family": "Lógica",
      "subfamily": "IK",
      "api": "ChildOf",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-ParentConstraint.html",
      "aliases": "Child-Of ChildOf Filho de Pai animável Pegar Soltar Pinning Fixar UMotion",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Filho de",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-child-of/#field-enabled"
        },
        {
          "id": "pinned",
          "name": "Fixo no personagem",
          "kind": "booleano",
          "group": "Filho de",
          "unit": "",
          "help": "Os canais valem no espaço da raiz do personagem (IK pinning).",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mantém o objeto preso ao personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-child-of/#field-pinned"
        },
        {
          "id": "parent",
          "name": "Pai",
          "kind": "referência",
          "group": "Filho de",
          "unit": "",
          "help": "Os canais locais do objeto valem no espaço deste pai; troque com uma chave.",
          "default": "Hierarquia normal",
          "domain": "qualquer objeto · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Pai durante a animação.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-constraint-child-of/#field-parent"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Restrições e molas",
        "route": "roadmap/restricoes-e-molas",
        "use": "No estúdio, **Seguir** (menu da ferramenta de pose) grava a troca de pai num intervalo; pelo Inspector, aponte o Pai e marque Fixo para manter o objeto no personagem.",
        "example": "Caixa segue a mão esquerda de 0,8 s a 2 s: o objeto sobe com a mão e depois volta ao espaço da cena.",
        "next": "Presente na 0.3.1. Sem transição suave entre pais. Sem data prometida.",
        "purpose": "Troca o pai do objeto durante a animação sem reparentar na hierarquia; os canais locais valem no espaço do pai escolhido.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Filho de**.",
        "extra": "É a correspondência do Child-Of do UMotion; o importador de projetos UMotion cria este componente.",
        "related": "[Estúdio v2](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#estúdio-de-animação-v2) · [IK e constraints](/pt-br/desenvolvimento/2026-10-11/ik-e-constraints/)"
      }
    },
    {
      "typeId": "astra.ui.canvas",
      "name": "Canvas UI",
      "description": "Instância independente de documento de UI, na tela ou no objeto",
      "family": "Renderização",
      "subfamily": "Interface",
      "api": "UiCanvas",
      "reference": "https://docs.unity3d.com/Packages/com.unity.ugui@2.0/manual/class-Canvas.html",
      "aliases": "Canvas UI HUD interface WorldCanvas",
      "schemaVersion": 2,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "offset_x",
          "name": "Posição X",
          "kind": "número",
          "group": "Apresentação",
          "unit": "m",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Posição Y",
          "kind": "número",
          "group": "Apresentação",
          "unit": "m",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Posição Z",
          "kind": "número",
          "group": "Apresentação",
          "unit": "m",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-offset-z"
        },
        {
          "id": "rotation_x",
          "name": "Rotação X",
          "kind": "número",
          "group": "Apresentação",
          "unit": "°",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-rotation-x"
        },
        {
          "id": "rotation_y",
          "name": "Rotação Y",
          "kind": "número",
          "group": "Apresentação",
          "unit": "°",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-rotation-y"
        },
        {
          "id": "rotation_z",
          "name": "Rotação Z",
          "kind": "número",
          "group": "Apresentação",
          "unit": "°",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-rotation-z"
        },
        {
          "id": "width",
          "name": "Largura",
          "kind": "número",
          "group": "Canvas",
          "unit": "px",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "800",
          "domain": "1 … 16384",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Abertura estéreo da cauda. Não muda a posição 3D da fonte.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-width"
        },
        {
          "id": "height",
          "name": "Altura",
          "kind": "número",
          "group": "Canvas",
          "unit": "px",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "600",
          "domain": "1 … 16384",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-height"
        },
        {
          "id": "units_per_pixel",
          "name": "Unidades por pixel",
          "kind": "número",
          "group": "Canvas",
          "unit": "m/px",
          "help": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "default": "0.005",
          "domain": "0.00001 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica-se ao Canvas no mundo; Tela usa o viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-units-per-pixel"
        },
        {
          "id": "order",
          "name": "Ordem",
          "kind": "número",
          "group": "Canvas",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ordena apresentação dos Canvas; compare sobreposição e entrada com o modo efetivo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-order"
        },
        {
          "id": "enabled",
          "name": "Habilitado",
          "kind": "booleano",
          "group": "Canvas",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-enabled"
        },
        {
          "id": "occlusion",
          "name": "Oclusão no mundo",
          "kind": "booleano",
          "group": "Canvas",
          "unit": "",
          "help": "Depth e hit de Canvas no mundo.",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Depth e hit de Canvas no mundo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-occlusion"
        },
        {
          "id": "mode",
          "name": "Apresentação",
          "kind": "enumeração",
          "group": "Canvas",
          "unit": "",
          "help": "",
          "default": "Tela",
          "domain": "Tela | Mundo / objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona o modo do componente no domínio indicado; revise os campos que aparecem após trocar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-mode"
        },
        {
          "id": "movement_space",
          "name": "Espaço do movimento",
          "kind": "enumeração",
          "group": "Entrada",
          "unit": "",
          "help": "",
          "default": "Mundo",
          "domain": "Mundo | Local do jogador | Camera de entrada",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe espaço do vetor de movimento: mundo, jogador ou câmera de entrada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-movement-space"
        },
        {
          "id": "input_receiver",
          "name": "Jogador / receptor",
          "kind": "referência",
          "group": "Entrada",
          "unit": "",
          "help": "Character ou motor de corpo dinâmico ativo.",
          "default": "Acoes globais",
          "domain": "objeto compatível com o receptor",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Character ou motor de corpo dinâmico ativo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-input-receiver"
        },
        {
          "id": "input_camera",
          "name": "Camera de entrada",
          "kind": "referência",
          "group": "Entrada",
          "unit": "",
          "help": "",
          "default": "Nenhuma",
          "domain": "astra.camera",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Câmera usada para o espaço de movimento/olhar dos controles do Canvas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-ui-canvas/#field-input-camera"
        }
      ],
      "resources": [
        {
          "id": "document",
          "name": "Documento UI",
          "kind": "ui_document",
          "group": "Canvas",
          "help": "",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Canvas e UI de jogo",
        "route": "ui/roadmap",
        "use": "Salve um documento .aeui, atribua Documento UI e escolha Tela para HUD ou Mundo para plano na cena. Elementos Image/Text/Button são criados dentro desse documento.",
        "example": "Siga o tutorial HUD de corações: três Images cheias sobre três vazias e HeartHud ligado a PlayerHealth.",
        "next": "R0–R12: imagem/skins, autoria, foco/input, controles, layout, texto, bindings, inventário, apresentações, animação, templates e acesso. Consulte estados e critérios por função na página dedicada.",
        "purpose": "Instância independente de documento de UI, na tela ou no objeto",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Renderização** / **Interface** → **Canvas UI**.",
        "extra": "O recurso Documento UI não entra na tabela numérica abaixo. Ele é escolhido por recurso registrado; em C#, use GetDocument/SetDocument. Image está dentro do .aeui, não neste componente."
      }
    },
    {
      "typeId": "astra.render.mesh",
      "name": "Malha",
      "description": "Geometria e material",
      "family": "Renderização",
      "subfamily": "Geometria",
      "api": "MeshRenderer",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-MeshRenderer.html",
      "aliases": "MeshFilter MeshRenderer MeshInstance3D",
      "schemaVersion": 12,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "base_color.r",
          "name": "Cor R",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal R da cor base_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-base-color-r"
        },
        {
          "id": "base_color.g",
          "name": "Cor G",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal G da cor base_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-base-color-g"
        },
        {
          "id": "base_color.b",
          "name": "Cor B",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal B da cor base_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-base-color-b"
        },
        {
          "id": "roughness",
          "name": "Rugosidade",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rugosidade PBR: menor valor produz reflexão mais concentrada; maior torna a superfície mais áspera.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-roughness"
        },
        {
          "id": "metallic",
          "name": "Metálico",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Participação metálica no material PBR; altera resposta difusa/especular.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-metallic"
        },
        {
          "id": "normal_scale",
          "name": "Intensidade da normal",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 16",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensidade do normal map; exige textura e canal compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-normal-scale"
        },
        {
          "id": "specular",
          "name": "Especular",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ajuste especular do material dentro do contrato do renderer.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-specular"
        },
        {
          "id": "emission.r",
          "name": "Emissão R",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal R da cor emission no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-emission-r"
        },
        {
          "id": "emission.g",
          "name": "Emissão G",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal G da cor emission no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-emission-g"
        },
        {
          "id": "emission.b",
          "name": "Emissão B",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal B da cor emission no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-emission-b"
        },
        {
          "id": "emission_strength",
          "name": "Potência de emissão",
          "kind": "número",
          "group": "",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a emissão do material; não adiciona uma luz iluminando objetos vizinhos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-emission-strength"
        },
        {
          "id": "enabled",
          "name": "Renderizar",
          "kind": "booleano",
          "group": "",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-enabled"
        },
        {
          "id": "receive_shadows",
          "name": "Receber sombras",
          "kind": "booleano",
          "group": "Iluminação",
          "unit": "",
          "help": "Sombras do sol e das luzes locais escurecem esta malha",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "render.shadow.renderer",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sombras do sol e das luzes locais escurecem esta malha",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-receive-shadows"
        },
        {
          "id": "contribute_gi",
          "name": "Contribuir para iluminação global",
          "kind": "booleano",
          "group": "Iluminação",
          "unit": "",
          "help": "Com o objeto Static, entra no Gerar iluminação: bloqueia, rebate e pode receber lightmap",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "desenho, material, sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Com o objeto Static, entra no Gerar iluminação: bloqueia, rebate e pode receber lightmap",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-contribute-gi"
        },
        {
          "id": "cast_shadows",
          "name": "Projetar sombras",
          "kind": "enumeração",
          "group": "Iluminação",
          "unit": "",
          "help": "Ligado respeita a face do material; Dupla face projeta pelas duas; Só sombra some da câmera",
          "default": "Ligado",
          "domain": "Desligado | Ligado | Dupla face | Só sombra",
          "limitation": "",
          "capability": "render.shadow.renderer",
          "invalidation": "desenho, material, mapa de sombra",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ligado respeita a face do material; Dupla face projeta pelas duas; Só sombra some da câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-cast-shadows"
        },
        {
          "id": "receive_gi",
          "name": "Receber iluminação global",
          "kind": "enumeração",
          "group": "Iluminação",
          "unit": "",
          "help": "Lightmaps recebe a luz assada na UV2; Sondas de luz usa as sondas em volta, como um objeto que se move",
          "default": "Lightmaps",
          "domain": "Lightmaps | Sondas de luz",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "desenho, material, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lightmaps recebe a luz assada na UV2; Sondas de luz usa as sondas em volta, como um objeto que se move",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-receive-gi"
        },
        {
          "id": "light_probes",
          "name": "Sondas de luz",
          "kind": "enumeração",
          "group": "Sondas",
          "unit": "",
          "help": "Misturar sondas troca o ambiente do céu pela luz das sondas de luz em volta do objeto",
          "default": "Misturar sondas",
          "domain": "Desligado | Misturar sondas",
          "limitation": "Bake por captura no aparelho: sol, céu e um rebate; luzes de tempo real não entram no SH, como na Unity. Sem Anchor Override nem LPPV",
          "capability": "render.probe.irradiance",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Misturar sondas troca o ambiente do céu pela luz das sondas de luz em volta do objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-light-probes"
        },
        {
          "id": "reflection_probes",
          "name": "Sondas de reflexo",
          "kind": "enumeração",
          "group": "Sondas",
          "unit": "",
          "help": "Misturar usa as duas sondas mais importantes em volta; \"e céu\" mistura também o céu; Simples usa só a principal",
          "default": "Misturar sondas",
          "domain": "Desligado | Misturar sondas | Misturar sondas e céu | Simples",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Misturar usa as duas sondas mais importantes em volta; \"e céu\" mistura também o céu; Simples usa só a principal",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-reflection-probes"
        },
        {
          "id": "rendering_layer_mask",
          "name": "Camadas de renderização",
          "kind": "enumeração",
          "group": "Configurações adicionais",
          "unit": "",
          "help": "Só luzes com uma camada de renderização em comum iluminam esta malha",
          "default": "Padrão",
          "domain": "máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7",
          "limitation": "",
          "capability": "render.light.layers",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Só luzes com uma camada de renderização em comum iluminam esta malha",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-rendering-layer-mask"
        },
        {
          "id": "lightmap.scale_u",
          "name": "Escala U",
          "kind": "número",
          "group": "Lightmap",
          "unit": "",
          "help": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "default": "1",
          "domain": "0.00001 … 1",
          "limitation": "RGB linear de irradiância; UV1 autoral; exige bindless. Sem bake, unwrap ou probes",
          "capability": "render.gi.lightmap",
          "invalidation": "desenho, material, residência de textura",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-lightmap-scale-u"
        },
        {
          "id": "lightmap.scale_v",
          "name": "Escala V",
          "kind": "número",
          "group": "Lightmap",
          "unit": "",
          "help": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "default": "1",
          "domain": "0.00001 … 1",
          "limitation": "RGB linear de irradiância; UV1 autoral; exige bindless. Sem bake, unwrap ou probes",
          "capability": "render.gi.lightmap",
          "invalidation": "desenho, material, residência de textura",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-lightmap-scale-v"
        },
        {
          "id": "lightmap.offset_u",
          "name": "Deslocamento U",
          "kind": "número",
          "group": "Lightmap",
          "unit": "",
          "help": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "RGB linear de irradiância; UV1 autoral; exige bindless. Sem bake, unwrap ou probes",
          "capability": "render.gi.lightmap",
          "invalidation": "desenho, material, residência de textura",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-lightmap-offset-u"
        },
        {
          "id": "lightmap.offset_v",
          "name": "Deslocamento V",
          "kind": "número",
          "group": "Lightmap",
          "unit": "",
          "help": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "RGB linear de irradiância; UV1 autoral; exige bindless. Sem bake, unwrap ou probes",
          "capability": "render.gi.lightmap",
          "invalidation": "desenho, material, residência de textura",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-lightmap-offset-v"
        },
        {
          "id": "lightmap.intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Lightmap",
          "unit": "",
          "help": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "RGB linear de irradiância; UV1 autoral; exige bindless. Sem bake, unwrap ou probes",
          "capability": "render.gi.lightmap",
          "invalidation": "desenho, material, residência de textura",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-lightmap-intensity"
        },
        {
          "id": "surface.alpha_cutoff",
          "name": "Corte do alfa",
          "kind": "número",
          "group": "Superfície",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Limiar de corte de alpha no modo máscara; não cria transparência blend.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-surface-alpha-cutoff"
        },
        {
          "id": "channels.occlusion_strength",
          "name": "Força da oclusão",
          "kind": "número",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "-1",
          "domain": "-1 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Intensidade da oclusão do material, se a origem/canal tiver recurso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-occlusion-strength"
        },
        {
          "id": "sampling.offset_u",
          "name": "Deslocamento U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-offset-u"
        },
        {
          "id": "sampling.offset_v",
          "name": "Deslocamento V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-offset-v"
        },
        {
          "id": "sampling.scale_u",
          "name": "Escala U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-scale-u"
        },
        {
          "id": "sampling.scale_v",
          "name": "Escala V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-scale-v"
        },
        {
          "id": "sampling.rotation",
          "name": "Rotação da UV",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Gira as coordenadas UV da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-rotation"
        },
        {
          "id": "sampling.base_color.offset_u",
          "name": "Cor base / Deslocamento U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-offset-u"
        },
        {
          "id": "sampling.base_color.offset_v",
          "name": "Cor base / Deslocamento V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-offset-v"
        },
        {
          "id": "sampling.base_color.scale_u",
          "name": "Cor base / Escala U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-scale-u"
        },
        {
          "id": "sampling.base_color.scale_v",
          "name": "Cor base / Escala V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-scale-v"
        },
        {
          "id": "sampling.base_color.rotation",
          "name": "Cor base / Rotação",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Gira as coordenadas UV da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-rotation"
        },
        {
          "id": "sampling.normal.offset_u",
          "name": "Normal / Deslocamento U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-offset-u"
        },
        {
          "id": "sampling.normal.offset_v",
          "name": "Normal / Deslocamento V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-offset-v"
        },
        {
          "id": "sampling.normal.scale_u",
          "name": "Normal / Escala U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-scale-u"
        },
        {
          "id": "sampling.normal.scale_v",
          "name": "Normal / Escala V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-scale-v"
        },
        {
          "id": "sampling.normal.rotation",
          "name": "Normal / Rotação",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Gira as coordenadas UV da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-rotation"
        },
        {
          "id": "sampling.metallic_roughness.offset_u",
          "name": "Metal / rugosidade / Deslocamento U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-offset-u"
        },
        {
          "id": "sampling.metallic_roughness.offset_v",
          "name": "Metal / rugosidade / Deslocamento V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-offset-v"
        },
        {
          "id": "sampling.metallic_roughness.scale_u",
          "name": "Metal / rugosidade / Escala U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-scale-u"
        },
        {
          "id": "sampling.metallic_roughness.scale_v",
          "name": "Metal / rugosidade / Escala V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-scale-v"
        },
        {
          "id": "sampling.metallic_roughness.rotation",
          "name": "Metal / rugosidade / Rotação",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Gira as coordenadas UV da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-rotation"
        },
        {
          "id": "sampling.emissive.offset_u",
          "name": "Emissão / Deslocamento U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-offset-u"
        },
        {
          "id": "sampling.emissive.offset_v",
          "name": "Emissão / Deslocamento V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Desloca a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-offset-v"
        },
        {
          "id": "sampling.emissive.scale_u",
          "name": "Emissão / Escala U",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada U da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-scale-u"
        },
        {
          "id": "sampling.emissive.scale_v",
          "name": "Emissão / Escala V",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Multiplica a coordenada V da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-scale-v"
        },
        {
          "id": "sampling.emissive.rotation",
          "name": "Emissão / Rotação",
          "kind": "número",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Gira as coordenadas UV da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-rotation"
        },
        {
          "id": "material.base_color.r",
          "name": "Cor R",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Canal R da cor material.base_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-base-color-r"
        },
        {
          "id": "material.base_color.g",
          "name": "Cor G",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Canal G da cor material.base_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-base-color-g"
        },
        {
          "id": "material.base_color.b",
          "name": "Cor B",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Canal B da cor material.base_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-base-color-b"
        },
        {
          "id": "material.roughness",
          "name": "Rugosidade",
          "kind": "número",
          "group": "Superfície",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Valor do slot quando o override de material estiver ativo. Rugosidade PBR: menor valor produz reflexão mais concentrada; maior torna a superfície mais áspera.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-roughness"
        },
        {
          "id": "material.metallic",
          "name": "Metálico",
          "kind": "número",
          "group": "Superfície",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Valor do slot quando o override de material estiver ativo. Participação metálica no material PBR; altera resposta difusa/especular.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-metallic"
        },
        {
          "id": "material.normal_scale",
          "name": "Intensidade da normal",
          "kind": "número",
          "group": "Superfície",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 16",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Valor do slot quando o override de material estiver ativo. Intensidade do normal map; exige textura e canal compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-normal-scale"
        },
        {
          "id": "material.specular",
          "name": "Especular",
          "kind": "número",
          "group": "Superfície",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Valor do slot quando o override de material estiver ativo. Ajuste especular do material dentro do contrato do renderer.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-specular"
        },
        {
          "id": "material.emission.r",
          "name": "Emissão R",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Canal R da cor material.emission no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-emission-r"
        },
        {
          "id": "material.emission.g",
          "name": "Emissão G",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Canal G da cor material.emission no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-emission-g"
        },
        {
          "id": "material.emission.b",
          "name": "Emissão B",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Canal B da cor material.emission no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-emission-b"
        },
        {
          "id": "material.emission_strength",
          "name": "Potência de emissão",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Valor do slot quando o override de material estiver ativo. Multiplica a emissão do material; não adiciona uma luz iluminando objetos vizinhos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-emission-strength"
        },
        {
          "id": "material.override",
          "name": "Material",
          "kind": "enumeração",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "Herdado da fonte",
          "domain": "Herdado da fonte | Substituído nesta instância",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Habilita os valores de material autorados no override do slot.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-material-override"
        },
        {
          "id": "lightmap.enabled",
          "name": "Receber lightmap indireto",
          "kind": "enumeração",
          "group": "Lightmap",
          "unit": "",
          "help": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "default": "Desativado",
          "domain": "Desativado | Lightmap indireto externo",
          "limitation": "RGB linear de irradiância; UV1 autoral; exige bindless. Sem bake, unwrap ou probes",
          "capability": "render.gi.lightmap",
          "invalidation": "desenho, material, residência de textura",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-lightmap-enabled"
        },
        {
          "id": "surface.alpha_mode",
          "name": "Tipo de superfície",
          "kind": "enumeração",
          "group": "Superfície",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Opaco | Recorte | Mistura",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe tratamento opaco/máscara/blend no domínio do contrato.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-surface-alpha-mode"
        },
        {
          "id": "surface.sides",
          "name": "Faces",
          "kind": "enumeração",
          "group": "Superfície",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Face única | Face dupla | Só a face de trás",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Define tratamento de faces/lados do material.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-surface-sides"
        },
        {
          "id": "channels.roughness",
          "name": "Canal da rugosidade",
          "kind": "enumeração",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | R | G | B | A",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Seleciona qual canal da textura fornece o sinal indicado; confira a organização real da imagem importada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-roughness"
        },
        {
          "id": "channels.metallic",
          "name": "Canal do metálico",
          "kind": "enumeração",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | R | G | B | A",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Seleciona qual canal da textura fornece o sinal indicado; confira a organização real da imagem importada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-metallic"
        },
        {
          "id": "channels.occlusion",
          "name": "Canal da oclusão",
          "kind": "enumeração",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | R | G | B | A",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Seleciona qual canal da textura fornece o sinal indicado; confira a organização real da imagem importada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-occlusion"
        },
        {
          "id": "channels.occlusion_source",
          "name": "Origem da oclusão",
          "kind": "enumeração",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Sem oclusão | No mapa metal/rugosidade | Textura própria",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Seleciona a origem de oclusão do material, separada do AO global.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-occlusion-source"
        },
        {
          "id": "channels.normal_flip_y",
          "name": "Inverter Y da normal",
          "kind": "enumeração",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Não | Sim",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Inverte o eixo Y do normal map para ajustar convenção da textura.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-normal-flip-y"
        },
        {
          "id": "channels.alpha_source",
          "name": "Origem do alfa",
          "kind": "enumeração",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Alfa da cor base | Sempre opaco | Luminância da cor base",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe a origem usada para alpha da superfície.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-alpha-source"
        },
        {
          "id": "channels.roughness_source",
          "name": "Origem da rugosidade",
          "kind": "enumeração",
          "group": "Canais",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Rugosidade no canal | Suavidade no canal (1 - canal) | Suavidade no alfa da cor base",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "De onde sai a rugosidade: canal da textura, suavidade (1 − canal) ou suavidade no alfa da cor base, como a Smoothness Source da Unity. Herdar mantém a do material.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-channels-roughness-source"
        },
        {
          "id": "sampling.uv_set",
          "name": "Conjunto de UV",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | UV 0 | UV 1 | Mundo (triplanar)",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe o conjunto UV existente na geometria da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-uv-set"
        },
        {
          "id": "sampling.wrap",
          "name": "Repetição",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Repetir | Fixar na borda | Espelhar",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe repetição/clamp da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-wrap"
        },
        {
          "id": "sampling.filter",
          "name": "Filtro",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Linear | Vizinho mais próximo",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe filtragem da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-filter"
        },
        {
          "id": "sampling.base_color.uv_set",
          "name": "Cor base / UV",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | UV 0 | UV 1 | Mundo (triplanar)",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe o conjunto UV existente na geometria da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-uv-set"
        },
        {
          "id": "sampling.base_color.wrap",
          "name": "Cor base / Repetição",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Repetir | Fixar na borda | Espelhar",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe repetição/clamp da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-wrap"
        },
        {
          "id": "sampling.base_color.filter",
          "name": "Cor base / Filtro",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Linear | Vizinho mais próximo",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe filtragem da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-base-color-filter"
        },
        {
          "id": "sampling.normal.uv_set",
          "name": "Normal / UV",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | UV 0 | UV 1 | Mundo (triplanar)",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe o conjunto UV existente na geometria da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-uv-set"
        },
        {
          "id": "sampling.normal.wrap",
          "name": "Normal / Repetição",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Repetir | Fixar na borda | Espelhar",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe repetição/clamp da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-wrap"
        },
        {
          "id": "sampling.normal.filter",
          "name": "Normal / Filtro",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Linear | Vizinho mais próximo",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe filtragem da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-normal-filter"
        },
        {
          "id": "sampling.metallic_roughness.uv_set",
          "name": "Metal / rugosidade / UV",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | UV 0 | UV 1 | Mundo (triplanar)",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe o conjunto UV existente na geometria da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-uv-set"
        },
        {
          "id": "sampling.metallic_roughness.wrap",
          "name": "Metal / rugosidade / Repetição",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Repetir | Fixar na borda | Espelhar",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe repetição/clamp da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-wrap"
        },
        {
          "id": "sampling.metallic_roughness.filter",
          "name": "Metal / rugosidade / Filtro",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Linear | Vizinho mais próximo",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe filtragem da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-metallic-roughness-filter"
        },
        {
          "id": "sampling.emissive.uv_set",
          "name": "Emissão / UV",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | UV 0 | UV 1 | Mundo (triplanar)",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe o conjunto UV existente na geometria da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-uv-set"
        },
        {
          "id": "sampling.emissive.wrap",
          "name": "Emissão / Repetição",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Repetir | Fixar na borda | Espelhar",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe repetição/clamp da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-wrap"
        },
        {
          "id": "sampling.emissive.filter",
          "name": "Emissão / Filtro",
          "kind": "enumeração",
          "group": "Amostragem",
          "unit": "",
          "help": "",
          "default": "Herdar",
          "domain": "Herdar | Linear | Vizinho mais próximo",
          "limitation": "PK-9. Altura e detalhe exigem bindless; sem ele o material desenha sem esses mapas",
          "capability": "render.material.pbr",
          "invalidation": "desenho, material",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 1,
          "usage": "Escolhe filtragem da amostragem da textura/canal indicado. Não cria UVs ou recurso ausente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-mesh/#field-sampling-emissive-filter"
        }
      ],
      "resources": [
        {
          "id": "mesh",
          "name": "Malha",
          "kind": "mesh",
          "group": "Geometria",
          "help": "",
          "inheritable": false
        },
        {
          "id": "material",
          "name": "Material",
          "kind": "material",
          "group": "Material",
          "help": "",
          "inheritable": true
        },
        {
          "id": "texture.base_color",
          "name": "Cor base",
          "kind": "texture",
          "group": "Material",
          "help": "",
          "inheritable": true
        },
        {
          "id": "texture.normal",
          "name": "Normal",
          "kind": "texture",
          "group": "Material",
          "help": "",
          "inheritable": true
        },
        {
          "id": "texture.metallic_roughness",
          "name": "Metal / rugosidade",
          "kind": "texture",
          "group": "Material",
          "help": "",
          "inheritable": true
        },
        {
          "id": "texture.emissive",
          "name": "Emissão",
          "kind": "texture",
          "group": "Material",
          "help": "",
          "inheritable": true
        },
        {
          "id": "texture.lightmap",
          "name": "Lightmap indireto (RGB linear / UV1)",
          "kind": "texture",
          "group": "Lightmap",
          "help": "Lightmap externo de irradiância RGB linear em UV1; exige bindless. Sem bake interno.",
          "inheritable": false
        },
        {
          "id": "texture.occlusion",
          "name": "Oclusão",
          "kind": "texture",
          "group": "Material",
          "help": "",
          "inheritable": true
        }
      ],
      "methods": [
        {
          "id": "set_shared_material",
          "name": "Trocar material",
          "help": "Renderer.sharedMaterial: o primeiro slot passa a usar outro Material do projeto",
          "result": "nada",
          "parameters": [
            {
              "id": "asset_high",
              "name": "Material (64 bits altos)",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "asset_low",
              "name": "Material (64 bits baixos)",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        }
      ],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Na aba Iluminação: Projetar sombras (Desligado, Ligado, Dupla face, Só sombra), Receber sombras, Contribuir para iluminação global e Receber iluminação global (Lightmaps ou Sondas de luz). Em Sondas: Sondas de luz e Sondas de reflexo.",
        "example": "Uma casa estática com UV2: Contribuir ligado, Receber = Lightmaps. Um personagem: Receber = Sondas de luz e Sondas de luz = Misturar sondas. Uma copa de árvore que só precisa da sombra: Projetar sombras = Só sombra num duplicado.",
        "next": "Presente na 0.4.0.",
        "purpose": "Desenha a malha com os materiais dos slots e decide como ela participa da luz: sombras, sondas, lightmap e camadas de renderização.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Renderização** / **Geometria** → **Malha**.",
        "extra": "Sem UV2, a malha Static recebe pelas sondas; a importação pode gerar UV de lightmap (xatlas). Decalques e vidros recebem o lightmap da superfície embaixo sem bloquear a luz.",
        "related": "[Sondas e luz assada](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#sondas-e-luz-assada)"
      }
    },
    {
      "typeId": "astra.render.skinned_mesh",
      "name": "Malha deformável",
      "description": "Esqueleto e blend shapes da Malha",
      "family": "Renderização",
      "subfamily": "Geometria",
      "api": "SkinnedMesh",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-SkinnedMeshRenderer.html",
      "aliases": "SkinnedMeshRenderer Skeleton3D BlendShape Morph",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.render.mesh",
          "message": "Adicione Malha a este objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "skinned_motion_vectors",
          "name": "Vetor de movimento da deformação",
          "kind": "booleano",
          "group": "Skin",
          "unit": "",
          "help": "A reprojeção temporal usa a pose anterior dos ossos e dos blend shapes, não só a do objeto",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Transparência e água usam as máscaras de reatividade/composição, não vetor próprio",
          "capability": "render.motion_vectors",
          "invalidation": "desenho, mapa de sombra",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A reprojeção temporal usa a pose anterior dos ossos e dos blend shapes, não só a do objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-skinned-mesh/#field-skinned-motion-vectors"
        },
        {
          "id": "quality",
          "name": "Qualidade",
          "kind": "enumeração",
          "group": "Skin",
          "unit": "",
          "help": "Influências por vértice usadas na deformação (Skin Weights)",
          "default": "Automática",
          "domain": "Automática | 1 osso | 2 ossos | 4 ossos",
          "limitation": "Até 4 influências por vértice e 256 juntas por skin; morph targets não são importados",
          "capability": "render.skinning",
          "invalidation": "desenho, mapa de sombra",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Influências por vértice usadas na deformação (Skin Weights)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-skinned-mesh/#field-quality"
        },
        {
          "id": "blend_shape_weight",
          "name": "Peso do blend shape",
          "kind": "número",
          "group": "Blend shapes",
          "unit": "%",
          "help": "0 é a forma base, 100 é o alvo inteiro",
          "default": "",
          "domain": "-1000 … 1000",
          "limitation": "Até 4 influências por vértice e 256 juntas por skin; morph targets não são importados",
          "capability": "render.skinning",
          "invalidation": "desenho, mapa de sombra",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "0 é a forma base, 100 é o alvo inteiro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-skinned-mesh/#field-blend-shape-weight"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Animação e deformação",
        "route": "roadmap/animacao",
        "use": "Atribua clipes/recursos e escolha reprodução. SkinnedMesh precisa dos dados de deformação compatíveis; um nome de clip ou blend shape não cria esse recurso.",
        "example": "Use um recurso com clipe real, compare Speed 0/1 e modos de repetição; confira deformação e bounds antes de usar culling.",
        "next": "Ampliar importação, composição, edição de clipes e aceite de deformação/motion vectors. Timeline de UI é outro sistema e continua parcial. Não pressupõe Animator completo.",
        "purpose": "Esqueleto e blend shapes da Malha",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Renderização** / **Geometria** → **Malha deformável**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.render.lod_group",
      "name": "LOD Group",
      "description": "Nível de detalhe pela altura na tela",
      "family": "Renderização",
      "subfamily": "Desempenho",
      "api": "LodGroup",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-LODGroup.html",
      "aliases": "LODGroup VisibilityRange Detalhe",
      "schemaVersion": 3,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "transition_0",
          "name": "Transição LOD 0",
          "kind": "número",
          "group": "Níveis",
          "unit": "%",
          "help": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "default": "60",
          "domain": "0.1 … 100",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-transition-0"
        },
        {
          "id": "transition_1",
          "name": "Transição LOD 1",
          "kind": "número",
          "group": "Níveis",
          "unit": "%",
          "help": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "default": "30",
          "domain": "0.1 … 100",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-transition-1"
        },
        {
          "id": "transition_2",
          "name": "Transição LOD 2",
          "kind": "número",
          "group": "Níveis",
          "unit": "%",
          "help": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "default": "10",
          "domain": "0.1 … 100",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-transition-2"
        },
        {
          "id": "transition_3",
          "name": "Transição LOD 3",
          "kind": "número",
          "group": "Níveis",
          "unit": "%",
          "help": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "default": "5",
          "domain": "0.1 … 100",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura na tela abaixo da qual este nível deixa de ser usado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-transition-3"
        },
        {
          "id": "size",
          "name": "Tamanho",
          "kind": "número",
          "group": "Limites",
          "unit": "",
          "help": "Maior extensão do nível mais detalhado; Recalcular mede a malha",
          "default": "1",
          "domain": "0.001 … 1000000",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Maior extensão do nível mais detalhado; Recalcular mede a malha",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-size"
        },
        {
          "id": "fade_width_0",
          "name": "Largura do fade LOD 0",
          "kind": "número",
          "group": "Fade",
          "unit": "",
          "help": "Proporção do nível em que ele cruza com o próximo",
          "default": "0.2",
          "domain": "0 … 1",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Proporção do nível em que ele cruza com o próximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-fade-width-0"
        },
        {
          "id": "fade_width_1",
          "name": "Largura do fade LOD 1",
          "kind": "número",
          "group": "Fade",
          "unit": "",
          "help": "Proporção do nível em que ele cruza com o próximo",
          "default": "0.2",
          "domain": "0 … 1",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Proporção do nível em que ele cruza com o próximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-fade-width-1"
        },
        {
          "id": "fade_width_2",
          "name": "Largura do fade LOD 2",
          "kind": "número",
          "group": "Fade",
          "unit": "",
          "help": "Proporção do nível em que ele cruza com o próximo",
          "default": "0.2",
          "domain": "0 … 1",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Proporção do nível em que ele cruza com o próximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-fade-width-2"
        },
        {
          "id": "fade_width_3",
          "name": "Largura do fade LOD 3",
          "kind": "número",
          "group": "Fade",
          "unit": "",
          "help": "Proporção do nível em que ele cruza com o próximo",
          "default": "0.2",
          "domain": "0 … 1",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Proporção do nível em que ele cruza com o próximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-fade-width-3"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Níveis",
          "unit": "",
          "help": "Desligar libera os renderizadores do controle deste grupo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligar libera os renderizadores do controle deste grupo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-enabled"
        },
        {
          "id": "animate_cross_fading",
          "name": "Animate Cross-fading",
          "kind": "booleano",
          "group": "Fade",
          "unit": "",
          "help": "Troca por tempo em vez da faixa de largura",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Troca por tempo em vez da faixa de largura",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-animate-cross-fading"
        },
        {
          "id": "level_count",
          "name": "Níveis",
          "kind": "enumeração",
          "group": "Níveis",
          "unit": "",
          "help": "",
          "default": "3",
          "domain": "1 | 2 | 3 | 4",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantidade de níveis ativos de LOD. Atribua malhas/objetos por nível.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-level-count"
        },
        {
          "id": "fade_mode",
          "name": "Fade Mode",
          "kind": "enumeração",
          "group": "Fade",
          "unit": "",
          "help": "",
          "default": "Nenhum",
          "domain": "Nenhum | Cross Fade",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona a política de transição de LOD, no domínio indicado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-fade-mode"
        },
        {
          "id": "force_level",
          "name": "Forçar nível",
          "kind": "enumeração",
          "group": "Execução",
          "unit": "",
          "help": "Estado de execução: 0 automático, n força o LOD n-1",
          "default": "Automático",
          "domain": "Automático | LOD 0 | LOD 1 | LOD 2 | LOD 3",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Estado de execução: 0 automático, n força o LOD n-1",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-force-level"
        },
        {
          "id": "level_0",
          "name": "Objetos LOD 0",
          "kind": "referência",
          "group": "Níveis",
          "unit": "",
          "help": "",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/recurso de renderização atribuído a este nível de LOD; referência ausente não fabrica geometria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-level-0"
        },
        {
          "id": "level_1",
          "name": "Objetos LOD 1",
          "kind": "referência",
          "group": "Níveis",
          "unit": "",
          "help": "",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/recurso de renderização atribuído a este nível de LOD; referência ausente não fabrica geometria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-level-1"
        },
        {
          "id": "level_2",
          "name": "Objetos LOD 2",
          "kind": "referência",
          "group": "Níveis",
          "unit": "",
          "help": "",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/recurso de renderização atribuído a este nível de LOD; referência ausente não fabrica geometria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-level-2"
        },
        {
          "id": "level_3",
          "name": "Objetos LOD 3",
          "kind": "referência",
          "group": "Níveis",
          "unit": "",
          "help": "",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Níveis são objetos do autor ou da convenção _LOD<n>; simplificação automática de malha ainda não existe",
          "capability": "render.lod.group",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/recurso de renderização atribuído a este nível de LOD; referência ausente não fabrica geometria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lod-group/#field-level-3"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Atribua geometria e recursos compatíveis; altere material/slot, luz ou ambiente e observe o resultado pela câmera. Valores autorais e política gráfica efetiva têm estados distintos.",
        "example": "Uma malha, câmera e luz: compare rugosidade/metalness no mesmo enquadramento, ou alcance/intensidade da luz sobre a malha. Material emissivo sozinho não equivale a uma luz iluminando objetos vizinhos.",
        "next": "Cookies e luz de área, GI/lightmap bake, unwrap/atlas e sondas continuam no registro de capacidades conforme o item. Recursos importados não comprovam consumo. Performance e compatibilidade Vulkan precisam de aceite por aparelho.",
        "purpose": "Nível de detalhe pela altura na tela",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Renderização** / **Desempenho** → **LOD Group**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.render.environment",
      "name": "Ambiente",
      "description": "Céu, atmosfera, neblina e pós globais ou por volume",
      "family": "Renderização",
      "subfamily": "Ambiente",
      "api": "EnvironmentVolume",
      "reference": "https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@17.0/manual/Volumes.html",
      "aliases": "Volume WorldEnvironment Skybox Fog PostProcess",
      "schemaVersion": 20,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Geral",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade entre candidatos do mesmo sistema; compare o consumidor efetivo, não só o número no Inspector.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-priority"
        },
        {
          "id": "sky_zenith.r",
          "name": "Tom do céu R",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal R da cor sky_zenith no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky-zenith-r"
        },
        {
          "id": "sky_zenith.g",
          "name": "Tom do céu G",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal G da cor sky_zenith no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky-zenith-g"
        },
        {
          "id": "sky_zenith.b",
          "name": "Tom do céu B",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal B da cor sky_zenith no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky-zenith-b"
        },
        {
          "id": "sky_horizon.r",
          "name": "Horizonte R",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.46",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal R da cor sky_horizon no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky-horizon-r"
        },
        {
          "id": "sky_horizon.g",
          "name": "Horizonte G",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.66",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal G da cor sky_horizon no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky-horizon-g"
        },
        {
          "id": "sky_horizon.b",
          "name": "Horizonte B",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.82",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal B da cor sky_horizon no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky-horizon-b"
        },
        {
          "id": "ground.r",
          "name": "Chão R",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.369",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal R da cor ground no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ground-r"
        },
        {
          "id": "ground.g",
          "name": "Chão G",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.349",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal G da cor ground no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ground-g"
        },
        {
          "id": "ground.b",
          "name": "Chão B",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.341",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal B da cor ground no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ground-b"
        },
        {
          "id": "atmosphere",
          "name": "Espessura da atmosfera",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 5",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantidade da contribuição atmosférica no modelo de céu selecionado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-atmosphere"
        },
        {
          "id": "sun_disk_degrees",
          "name": "Diâmetro do disco solar",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "°",
          "help": "",
          "default": "0.53",
          "domain": "0.05 … 10",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho angular do disco solar desenhado no céu.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sun-disk-degrees"
        },
        {
          "id": "sun_disk_intensity",
          "name": "Brilho do disco solar",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "",
          "help": "",
          "default": "8",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho do disco solar; não substitui a intensidade de uma luz direcional.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sun-disk-intensity"
        },
        {
          "id": "fog_color.r",
          "name": "Neblina R",
          "kind": "número",
          "group": "Neblina",
          "unit": "",
          "help": "",
          "default": "0.58",
          "domain": "0 … 1",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal R da cor fog_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-color-r"
        },
        {
          "id": "fog_color.g",
          "name": "Neblina G",
          "kind": "número",
          "group": "Neblina",
          "unit": "",
          "help": "",
          "default": "0.67",
          "domain": "0 … 1",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal G da cor fog_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-color-g"
        },
        {
          "id": "fog_color.b",
          "name": "Neblina B",
          "kind": "número",
          "group": "Neblina",
          "unit": "",
          "help": "",
          "default": "0.76",
          "domain": "0 … 1",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal B da cor fog_color no consumidor correspondente. Combine os três canais e intensidade quando existente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-color-b"
        },
        {
          "id": "fog_light_energy",
          "name": "Energia da neblina",
          "kind": "número",
          "group": "Neblina",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Energia de luz na neblina conforme o modelo de fog.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-light-energy"
        },
        {
          "id": "fog_density",
          "name": "Densidade",
          "kind": "número",
          "group": "Neblina",
          "unit": "1/m",
          "help": "",
          "default": "0.008",
          "domain": "0 … 1",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Densidade da neblina; aumentar reduz visibilidade ao longo do percurso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-density"
        },
        {
          "id": "fog_start",
          "name": "Início",
          "kind": "número",
          "group": "Neblina",
          "unit": "m",
          "help": "",
          "default": "8",
          "domain": "0 … 10000",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância a partir da qual a neblina começa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-start"
        },
        {
          "id": "fog_base_height",
          "name": "Altura base",
          "kind": "número",
          "group": "Neblina",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura de referência da neblina de altura.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-base-height"
        },
        {
          "id": "fog_height_falloff",
          "name": "Decaimento por altura",
          "kind": "número",
          "group": "Neblina",
          "unit": "1/m",
          "help": "",
          "default": "0",
          "domain": "0 … 10",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Queda da densidade conforme altura.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-height-falloff"
        },
        {
          "id": "exposure_compensation",
          "name": "Compensação",
          "kind": "número",
          "group": "Exposição",
          "unit": "EV",
          "help": "Soma à exposição medida ou fixa: positivo clareia",
          "default": "0",
          "domain": "-16 … 16",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Soma à exposição medida ou fixa: positivo clareia",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-compensation"
        },
        {
          "id": "bloom_threshold",
          "name": "Limiar do bloom",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 64",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limiar de brilho que participa do bloom.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-threshold"
        },
        {
          "id": "bloom_intensity",
          "name": "Intensidade do bloom",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "Intensity: zero desliga o bloom",
          "default": "0.1",
          "domain": "0 … 2",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensity: zero desliga o bloom",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-intensity"
        },
        {
          "id": "contrast",
          "name": "Contraste",
          "kind": "número",
          "group": "Ajustes de cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0.5 … 2",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Contraste do pós-processamento.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-contrast"
        },
        {
          "id": "saturation",
          "name": "Saturação",
          "kind": "número",
          "group": "Ajustes de cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 2",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Saturação do pós-processamento.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-saturation"
        },
        {
          "id": "vignette_intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Vinheta",
          "unit": "",
          "help": "Intensity: zero desliga a vinheta",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensity: zero desliga a vinheta",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-intensity"
        },
        {
          "id": "film_grain_intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Grão de filme",
          "unit": "",
          "help": "Intensity: zero desliga o grão",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.film_grain",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensity: zero desliga o grão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-film-grain-intensity"
        },
        {
          "id": "ambient_occlusion_radius",
          "name": "Raio",
          "kind": "número",
          "group": "Oclusão ambiente",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0.05 … 10",
          "limitation": "",
          "capability": "render.post.ambient_occlusion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio de amostragem do AO global.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-occlusion-radius"
        },
        {
          "id": "ambient_occlusion_intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Oclusão ambiente",
          "unit": "",
          "help": "Intensity: zero desliga a oclusão",
          "default": "0",
          "domain": "0 … 4",
          "limitation": "",
          "capability": "render.post.ambient_occlusion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensity: zero desliga a oclusão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-occlusion-intensity"
        },
        {
          "id": "ambient_occlusion_power",
          "name": "Potência",
          "kind": "número",
          "group": "Oclusão ambiente",
          "unit": "",
          "help": "",
          "default": "1.5",
          "domain": "0.1 … 4",
          "limitation": "",
          "capability": "render.post.ambient_occlusion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Curva de contraste do AO.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-occlusion-power"
        },
        {
          "id": "ambient_occlusion_bias",
          "name": "Viés",
          "kind": "número",
          "group": "Oclusão ambiente",
          "unit": "m",
          "help": "",
          "default": "0.02",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.ambient_occlusion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bias para evitar auto oclusão excessiva.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-occlusion-bias"
        },
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Volume",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Peso da mistura do volume, combinado com shape, distância e prioridade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-weight"
        },
        {
          "id": "blend_distance",
          "name": "Distância de mistura",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "0 … 100000",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância de mistura na borda do volume de ambiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-blend-distance"
        },
        {
          "id": "box_size.x",
          "name": "Tamanho X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "10",
          "domain": "0.01 … 100000",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Dimensão da caixa do volume de ambiente no eixo indicado; apenas no shape correspondente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-box-size-x"
        },
        {
          "id": "box_size.y",
          "name": "Tamanho Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "10",
          "domain": "0.01 … 100000",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Dimensão da caixa do volume de ambiente no eixo indicado; apenas no shape correspondente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-box-size-y"
        },
        {
          "id": "box_size.z",
          "name": "Tamanho Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "10",
          "domain": "0.01 … 100000",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Dimensão da caixa do volume de ambiente no eixo indicado; apenas no shape correspondente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-box-size-z"
        },
        {
          "id": "sphere_radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "5",
          "domain": "0.01 … 100000",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio do volume esférico, quando esse shape está selecionado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sphere-radius"
        },
        {
          "id": "indirect_diffuse",
          "name": "Intensidade",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 8",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala da iluminação indireta difusa disponível; não calcula GI bake.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-indirect-diffuse"
        },
        {
          "id": "indirect_specular",
          "name": "Intensidade dos reflexos",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 8",
          "limitation": "",
          "capability": "render.ambient.specular",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala do reflexo especular do ambiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-indirect-specular"
        },
        {
          "id": "physical_sky_intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 16",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a energia do céu físico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-physical-sky-intensity"
        },
        {
          "id": "air_density",
          "name": "Densidade do ar",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 8",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Densidade do ar usada pelo céu físico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-air-density"
        },
        {
          "id": "aerosol_density",
          "name": "Densidade de aerossóis",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 8",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Densidade do aerosol usada pelo céu físico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-aerosol-density"
        },
        {
          "id": "aerosol_anisotropy",
          "name": "Anisotropia dos aerossóis",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "g",
          "help": "",
          "default": "0.76",
          "domain": "0 … 0.95",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Anisotropia da dispersão de aerosol.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-aerosol-anisotropy"
        },
        {
          "id": "planet_radius_km",
          "name": "Raio do planeta",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "km",
          "help": "",
          "default": "6371",
          "domain": "1 … 100000",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio do planeta do modelo atmosférico em km.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-planet-radius-km"
        },
        {
          "id": "observer_height_km",
          "name": "Altura do observador",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "km",
          "help": "",
          "default": "0.002",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do observador atmosférico em km.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-observer-height-km"
        },
        {
          "id": "rayleigh_scale_height_km",
          "name": "Escala Rayleigh",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "km",
          "help": "",
          "default": "8",
          "domain": "0.1 … 100",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura característica da dispersão Rayleigh.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-rayleigh-scale-height-km"
        },
        {
          "id": "aerosol_scale_height_km",
          "name": "Escala de aerossóis",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "km",
          "help": "",
          "default": "1.2",
          "domain": "0.05 … 50",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura característica do aerosol.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-aerosol-scale-height-km"
        },
        {
          "id": "atmosphere_height_km",
          "name": "Altura da atmosfera",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "km",
          "help": "",
          "default": "100",
          "domain": "1 … 1000",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espessura da atmosfera do modelo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-atmosphere-height-km"
        },
        {
          "id": "ground_albedo",
          "name": "Albedo médio do solo",
          "kind": "número",
          "group": "Atmosfera física",
          "unit": "",
          "help": "",
          "default": "0.1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Refletância do chão do céu físico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ground-albedo"
        },
        {
          "id": "exposure_limit_min",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Exposição",
          "unit": "EV",
          "help": "EV100 mais baixo que a medição pode atingir: a noite não vira dia",
          "default": "-6",
          "domain": "-16 … 24",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "EV100 mais baixo que a medição pode atingir: a noite não vira dia",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-limit-min"
        },
        {
          "id": "exposure_limit_max",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Exposição",
          "unit": "EV",
          "help": "EV100 mais alto: limita o escurecimento de cenas muito claras",
          "default": "10",
          "domain": "-16 … 24",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "EV100 mais alto: limita o escurecimento de cenas muito claras",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-limit-max"
        },
        {
          "id": "exposure_histogram_low",
          "name": "Percentual baixo",
          "kind": "número",
          "group": "Exposição",
          "unit": "%",
          "help": "Descarta os pixels mais escuros do histograma",
          "default": "40",
          "domain": "0 … 100",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Descarta os pixels mais escuros do histograma",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-histogram-low"
        },
        {
          "id": "exposure_histogram_high",
          "name": "Percentual alto",
          "kind": "número",
          "group": "Exposição",
          "unit": "%",
          "help": "Descarta os pixels mais claros do histograma",
          "default": "90",
          "domain": "0 … 100",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Descarta os pixels mais claros do histograma",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-histogram-high"
        },
        {
          "id": "exposure_target_mid_grey",
          "name": "Cinza médio alvo",
          "kind": "número",
          "group": "Exposição",
          "unit": "",
          "help": "Cinza para o qual a média medida é mapeada (12,5%, 14% ou 18%)",
          "default": "0.125",
          "domain": "0.05 … 0.5",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cinza para o qual a média medida é mapeada (12,5%, 14% ou 18%)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-target-mid-grey"
        },
        {
          "id": "exposure_speed_dark_to_light",
          "name": "Escuro para claro",
          "kind": "número",
          "group": "Exposição",
          "unit": "",
          "help": "Velocidade da adaptação ao sair do escuro para o claro",
          "default": "3",
          "domain": "0.001 … 100",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade da adaptação ao sair do escuro para o claro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-speed-dark-to-light"
        },
        {
          "id": "exposure_speed_light_to_dark",
          "name": "Claro para escuro",
          "kind": "número",
          "group": "Exposição",
          "unit": "",
          "help": "Velocidade da adaptação ao entrar no escuro",
          "default": "1",
          "domain": "0.001 … 100",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade da adaptação ao entrar no escuro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-speed-light-to-dark"
        },
        {
          "id": "exposure_fixed",
          "name": "Exposição fixa",
          "kind": "número",
          "group": "Exposição",
          "unit": "EV",
          "help": "EV100 da câmera: maior escurece",
          "default": "0",
          "domain": "-16 … 24",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "EV100 da câmera: maior escurece",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-fixed"
        },
        {
          "id": "hdri_rotation_degrees",
          "name": "Rotação",
          "kind": "número",
          "group": "Céu",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gira a orientação do ambiente HDRI em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-hdri-rotation-degrees"
        },
        {
          "id": "hdri_exposure_ev",
          "name": "Exposição",
          "kind": "número",
          "group": "Céu",
          "unit": "EV",
          "help": "",
          "default": "0",
          "domain": "-16 … 16",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Exposição do recurso HDRI em EV.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-hdri-exposure-ev"
        },
        {
          "id": "grading_temperature",
          "name": "Temperatura",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Balanço de branco: negativo esfria (azul), positivo esquenta (amarelo), como o White Balance da Unity.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-temperature"
        },
        {
          "id": "grading_tint",
          "name": "Matiz",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Balanço de branco: negativo puxa para o verde, positivo para o magenta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-tint"
        },
        {
          "id": "grading_vibrance",
          "name": "Vibração",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Satura mais as cores pouco saturadas e preserva as já fortes (pele).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-vibrance"
        },
        {
          "id": "grading_lift_color.r",
          "name": "Lift R",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor de lift da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-lift-color-r"
        },
        {
          "id": "grading_lift_color.g",
          "name": "Lift G",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor de lift da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-lift-color-g"
        },
        {
          "id": "grading_lift_color.b",
          "name": "Lift B",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor de lift da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-lift-color-b"
        },
        {
          "id": "grading_lift",
          "name": "Brilho do lift",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho desta faixa da gradação, de −1 a 1; 0 é neutro. Vale depois da exposição, na tabela de cor (LUT 32³).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-lift"
        },
        {
          "id": "grading_gamma_color.r",
          "name": "Gama R",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor de gamma da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gamma-color-r"
        },
        {
          "id": "grading_gamma_color.g",
          "name": "Gama G",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor de gamma da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gamma-color-g"
        },
        {
          "id": "grading_gamma_color.b",
          "name": "Gama B",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor de gamma da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gamma-color-b"
        },
        {
          "id": "grading_gamma",
          "name": "Brilho do gama",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho desta faixa da gradação, de −1 a 1; 0 é neutro. Vale depois da exposição, na tabela de cor (LUT 32³).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gamma"
        },
        {
          "id": "grading_gain_color.r",
          "name": "Ganho R",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor de gain da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gain-color-r"
        },
        {
          "id": "grading_gain_color.g",
          "name": "Ganho G",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor de gain da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gain-color-g"
        },
        {
          "id": "grading_gain_color.b",
          "name": "Ganho B",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor de gain da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gain-color-b"
        },
        {
          "id": "grading_gain",
          "name": "Brilho do ganho",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho desta faixa da gradação, de −1 a 1; 0 é neutro. Vale depois da exposição, na tabela de cor (LUT 32³).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-gain"
        },
        {
          "id": "grading_shadows_color.r",
          "name": "Sombras R",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor de shadows da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-shadows-color-r"
        },
        {
          "id": "grading_shadows_color.g",
          "name": "Sombras G",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor de shadows da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-shadows-color-g"
        },
        {
          "id": "grading_shadows_color.b",
          "name": "Sombras B",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor de shadows da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-shadows-color-b"
        },
        {
          "id": "grading_shadows",
          "name": "Brilho das sombras",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho desta faixa da gradação, de −1 a 1; 0 é neutro. Vale depois da exposição, na tabela de cor (LUT 32³).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-shadows"
        },
        {
          "id": "grading_midtones_color.r",
          "name": "Médios R",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor de midtones da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-midtones-color-r"
        },
        {
          "id": "grading_midtones_color.g",
          "name": "Médios G",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor de midtones da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-midtones-color-g"
        },
        {
          "id": "grading_midtones_color.b",
          "name": "Médios B",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor de midtones da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-midtones-color-b"
        },
        {
          "id": "grading_midtones",
          "name": "Brilho dos médios",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho desta faixa da gradação, de −1 a 1; 0 é neutro. Vale depois da exposição, na tabela de cor (LUT 32³).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-midtones"
        },
        {
          "id": "grading_highlights_color.r",
          "name": "Realces R",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor de highlights da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-highlights-color-r"
        },
        {
          "id": "grading_highlights_color.g",
          "name": "Realces G",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor de highlights da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-highlights-color-g"
        },
        {
          "id": "grading_highlights_color.b",
          "name": "Realces B",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor de highlights da gradação (Lift/Gamma/Gain ou Sombras/Médios/Realces da Unity). Branco neutro; combine com o Brilho da faixa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-highlights-color-b"
        },
        {
          "id": "grading_highlights",
          "name": "Brilho dos realces",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho desta faixa da gradação, de −1 a 1; 0 é neutro. Vale depois da exposição, na tabela de cor (LUT 32³).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-highlights"
        },
        {
          "id": "grading_shadows_start",
          "name": "Início das sombras",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite da faixa de Sombras/Realces em luminância (0 a 1), como as faixas de Shadows Midtones Highlights da Unity.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-shadows-start"
        },
        {
          "id": "grading_shadows_end",
          "name": "Fim das sombras",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0.3",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite da faixa de Sombras/Realces em luminância (0 a 1), como as faixas de Shadows Midtones Highlights da Unity.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-shadows-end"
        },
        {
          "id": "grading_highlights_start",
          "name": "Início dos realces",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "0.55",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite da faixa de Sombras/Realces em luminância (0 a 1), como as faixas de Shadows Midtones Highlights da Unity.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-highlights-start"
        },
        {
          "id": "grading_highlights_end",
          "name": "Fim dos realces",
          "kind": "número",
          "group": "Cor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Balanço de branco, lift/gama/ganho, sombras/médios/realces, vibração e curvas; sem mixer de canais nem .cube",
          "capability": "render.post.color_grading",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite da faixa de Sombras/Realces em luminância (0 a 1), como as faixas de Shadows Midtones Highlights da Unity.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-grading-highlights-end"
        },
        {
          "id": "sun_glare",
          "name": "Auréola do sol",
          "kind": "número",
          "group": "Sol e lua",
          "unit": "",
          "help": "",
          "default": "0.6",
          "domain": "0 … 4",
          "limitation": "Disco solar com limbo e auréola, lua com fase iluminada pelo sol e estrelas noturnas; lua e estrelas ainda sem órbita astronômica nem cintilação por turbulência real",
          "capability": "render.environment.celestial",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Auréola do sol espalhada pelo pós; 0 desliga.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sun-glare"
        },
        {
          "id": "moon_phase",
          "name": "Fase da lua",
          "kind": "número",
          "group": "Sol e lua",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "Disco solar com limbo e auréola, lua com fase iluminada pelo sol e estrelas noturnas; lua e estrelas ainda sem órbita astronômica nem cintilação por turbulência real",
          "capability": "render.environment.celestial",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 lua nova, 0,5 cheia. Com Hora do dia, a fase sai da data.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-moon-phase"
        },
        {
          "id": "moon_size",
          "name": "Diâmetro da lua",
          "kind": "número",
          "group": "Sol e lua",
          "unit": "°",
          "help": "",
          "default": "1.2",
          "domain": "0.1 … 10",
          "limitation": "Disco solar com limbo e auréola, lua com fase iluminada pelo sol e estrelas noturnas; lua e estrelas ainda sem órbita astronômica nem cintilação por turbulência real",
          "capability": "render.environment.celestial",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Diâmetro aparente da lua no céu, em graus (a real tem cerca de 0,5°).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-moon-size"
        },
        {
          "id": "moon_intensity",
          "name": "Brilho da lua",
          "kind": "número",
          "group": "Sol e lua",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 8",
          "limitation": "Disco solar com limbo e auréola, lua com fase iluminada pelo sol e estrelas noturnas; lua e estrelas ainda sem órbita astronômica nem cintilação por turbulência real",
          "capability": "render.environment.celestial",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho do disco da lua no céu; não é a luz da Lua (essa é uma Luz direcional ligada à Hora do dia).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-moon-intensity"
        },
        {
          "id": "star_intensity",
          "name": "Brilho das estrelas",
          "kind": "número",
          "group": "Sol e lua",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 8",
          "limitation": "Disco solar com limbo e auréola, lua com fase iluminada pelo sol e estrelas noturnas; lua e estrelas ainda sem órbita astronômica nem cintilação por turbulência real",
          "capability": "render.environment.celestial",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho das estrelas, que só aparecem com o sol abaixo do horizonte.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-star-intensity"
        },
        {
          "id": "cloud_opacity",
          "name": "Opacidade",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Opacity: 0 deixa a camada transparente",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Opacity: 0 deixa a camada transparente",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-opacity"
        },
        {
          "id": "cloud_coverage",
          "name": "Cobertura",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Parte do céu com cúmulos; 1 é céu encoberto",
          "default": "0.45",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Parte do céu com cúmulos; 1 é céu encoberto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-coverage"
        },
        {
          "id": "cloud_cirrus",
          "name": "Cirros",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Véu fino e alto, em faixas",
          "default": "0.3",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Véu fino e alto, em faixas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-cirrus"
        },
        {
          "id": "cloud_altitude",
          "name": "Altitude",
          "kind": "número",
          "group": "Nuvens",
          "unit": "m",
          "help": "Altura da camada: perspectiva no céu e onde a sombra cai",
          "default": "2000",
          "domain": "100 … 20000",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura da camada: perspectiva no céu e onde a sombra cai",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-altitude"
        },
        {
          "id": "cloud_size",
          "name": "Tamanho",
          "kind": "número",
          "group": "Nuvens",
          "unit": "m",
          "help": "Largura de uma repetição do mapa de nuvens",
          "default": "6000",
          "domain": "200 … 100000",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Largura de uma repetição do mapa de nuvens",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-size"
        },
        {
          "id": "cloud_tint.r",
          "name": "Tom R",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho do tom das nuvens, multiplicado pela luz do sol e do céu.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-tint-r"
        },
        {
          "id": "cloud_tint.g",
          "name": "Tom G",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde do tom das nuvens, multiplicado pela luz do sol e do céu.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-tint-g"
        },
        {
          "id": "cloud_tint.b",
          "name": "Tom B",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul do tom das nuvens, multiplicado pela luz do sol e do céu.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-tint-b"
        },
        {
          "id": "cloud_exposure",
          "name": "Compensação de exposição",
          "kind": "número",
          "group": "Nuvens",
          "unit": "EV",
          "help": "Brilho das nuvens relativo ao sol",
          "default": "0",
          "domain": "-8 … 8",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Brilho das nuvens relativo ao sol",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-exposure"
        },
        {
          "id": "cloud_wind_orientation",
          "name": "Direção do vento",
          "kind": "número",
          "group": "Nuvens",
          "unit": "°",
          "help": "0° sopra para +X do mundo",
          "default": "0",
          "domain": "0 … 360",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0° sopra para +X do mundo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-wind-orientation"
        },
        {
          "id": "cloud_wind_speed",
          "name": "Velocidade do vento",
          "kind": "número",
          "group": "Nuvens",
          "unit": "km/h",
          "help": "Deslocamento das nuvens e das sombras",
          "default": "20",
          "domain": "0 … 400",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento das nuvens e das sombras",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-wind-speed"
        },
        {
          "id": "cloud_density",
          "name": "Densidade",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Autossombra: nuvens densas escurecem por dentro",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Autossombra: nuvens densas escurecem por dentro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-density"
        },
        {
          "id": "cloud_ambient_dimmer",
          "name": "Luz do céu",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Ambient Probe Dimmer: quanto do céu ilumina a nuvem",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ambient Probe Dimmer: quanto do céu ilumina a nuvem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-ambient-dimmer"
        },
        {
          "id": "cloud_shadow_multiplier",
          "name": "Força da sombra",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Shadow Multiplier: escuridão da sombra no chão",
          "default": "0.8",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Shadow Multiplier: escuridão da sombra no chão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-shadow-multiplier"
        },
        {
          "id": "cloud_thickness",
          "name": "Espessura",
          "kind": "número",
          "group": "Nuvens",
          "unit": "m",
          "help": "Altura dos cúmulos acima da base: base reta, topo alto; 0 é folha plana",
          "default": "900",
          "domain": "0 … 5000",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura dos cúmulos acima da base: base reta, topo alto; 0 é folha plana",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-thickness"
        },
        {
          "id": "cloud_shape_factor",
          "name": "Fator de forma",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Shape Factor: quanto o ruído 3D recorta a cobertura (mais alto, nuvens mais separadas)",
          "default": "0.8",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Shape Factor: quanto o ruído 3D recorta a cobertura (mais alto, nuvens mais separadas)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-shape-factor"
        },
        {
          "id": "cloud_erosion",
          "name": "Erosão",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Erosion Factor: corrói as bordas em rolos finos",
          "default": "0.6",
          "domain": "0 … 1",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Erosion Factor: corrói as bordas em rolos finos",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-erosion"
        },
        {
          "id": "cloud_steps",
          "name": "Passos",
          "kind": "número",
          "group": "Nuvens",
          "unit": "",
          "help": "Num Primary Steps: amostras por raio; mais custa mais GPU",
          "default": "24",
          "domain": "8 … 64",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Num Primary Steps: amostras por raio; mais custa mais GPU",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-steps"
        },
        {
          "id": "post_exposure",
          "name": "Pós-exposição",
          "kind": "número",
          "group": "Ajustes de cor",
          "unit": "EV",
          "help": "Clareia ou escurece depois da exposição e antes do tonemap",
          "default": "0",
          "domain": "-16 … 16",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Clareia ou escurece depois da exposição e antes do tonemap",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-post-exposure"
        },
        {
          "id": "color_filter.r",
          "name": "Filtro R",
          "kind": "número",
          "group": "Ajustes de cor",
          "unit": "",
          "help": "Multiplica a cor da imagem",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a cor da imagem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-color-filter-r"
        },
        {
          "id": "color_filter.g",
          "name": "Filtro G",
          "kind": "número",
          "group": "Ajustes de cor",
          "unit": "",
          "help": "Multiplica a cor da imagem",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a cor da imagem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-color-filter-g"
        },
        {
          "id": "color_filter.b",
          "name": "Filtro B",
          "kind": "número",
          "group": "Ajustes de cor",
          "unit": "",
          "help": "Multiplica a cor da imagem",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a cor da imagem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-color-filter-b"
        },
        {
          "id": "hue_shift",
          "name": "Giro de matiz",
          "kind": "número",
          "group": "Ajustes de cor",
          "unit": "°",
          "help": "Gira todas as cores no círculo de matiz",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gira todas as cores no círculo de matiz",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-hue-shift"
        },
        {
          "id": "bloom_scatter",
          "name": "Espalhamento",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "Quanto o brilho se espalha em volta das luzes",
          "default": "0.7",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o brilho se espalha em volta das luzes",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-scatter"
        },
        {
          "id": "bloom_tint.r",
          "name": "Tom R",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "Cor do brilho",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cor do brilho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-tint-r"
        },
        {
          "id": "bloom_tint.g",
          "name": "Tom G",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "Cor do brilho",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cor do brilho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-tint-g"
        },
        {
          "id": "bloom_tint.b",
          "name": "Tom B",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "Cor do brilho",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cor do brilho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-tint-b"
        },
        {
          "id": "bloom_clamp",
          "name": "Brilho máximo",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "Corta pixels mais claros que isto antes do bloom",
          "default": "65472",
          "domain": "0 … 65472",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Corta pixels mais claros que isto antes do bloom",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-clamp"
        },
        {
          "id": "sky_exposure",
          "name": "Exposição",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "1.3",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Exposição do céu procedural, como o Exposure do Skybox/Procedural (padrão 1,3). Não depende da intensidade do sol.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky-exposure"
        },
        {
          "id": "sun_size",
          "name": "Tamanho do sol",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "0.04",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho do disco do sol no céu procedural, como Sun Size da Unity.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sun-size"
        },
        {
          "id": "sun_size_convergence",
          "name": "Convergência do sol",
          "kind": "número",
          "group": "Céu",
          "unit": "",
          "help": "",
          "default": "5",
          "domain": "1 … 10",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o brilho do sol se concentra no disco (Sun Size Convergence); maior deixa a borda mais nítida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sun-size-convergence"
        },
        {
          "id": "ambient_sky_color.r",
          "name": "Céu R",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.212",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor do céu na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-sky-color-r"
        },
        {
          "id": "ambient_sky_color.g",
          "name": "Céu G",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.227",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor do céu na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-sky-color-g"
        },
        {
          "id": "ambient_sky_color.b",
          "name": "Céu B",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.259",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor do céu na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-sky-color-b"
        },
        {
          "id": "ambient_equator_color.r",
          "name": "Equador R",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.114",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor do equador na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-equator-color-r"
        },
        {
          "id": "ambient_equator_color.g",
          "name": "Equador G",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.125",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor do equador na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-equator-color-g"
        },
        {
          "id": "ambient_equator_color.b",
          "name": "Equador B",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.133",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor do equador na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-equator-color-b"
        },
        {
          "id": "ambient_ground_color.r",
          "name": "Chão R",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.047",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor do chão na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-ground-color-r"
        },
        {
          "id": "ambient_ground_color.g",
          "name": "Chão G",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.043",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor do chão na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-ground-color-g"
        },
        {
          "id": "ambient_ground_color.b",
          "name": "Chão B",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.035",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor do chão na luz ambiente por Gradiente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-ground-color-b"
        },
        {
          "id": "ambient_color.r",
          "name": "Cor ambiente R",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.212",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da luz ambiente por Cor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-color-r"
        },
        {
          "id": "ambient_color.g",
          "name": "Cor ambiente G",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.227",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da luz ambiente por Cor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-color-g"
        },
        {
          "id": "ambient_color.b",
          "name": "Cor ambiente B",
          "kind": "número",
          "group": "Luz ambiente",
          "unit": "",
          "help": "",
          "default": "0.259",
          "domain": "0 … 1",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da luz ambiente por Cor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-color-b"
        },
        {
          "id": "fog_end",
          "name": "Fim",
          "kind": "número",
          "group": "Neblina",
          "unit": "m",
          "help": "",
          "default": "300",
          "domain": "0 … 1000000",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância em que a neblina Linear fica total; só vale no modo Linear.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-end"
        },
        {
          "id": "vignette_color.r",
          "name": "Cor R",
          "kind": "número",
          "group": "Vinheta",
          "unit": "",
          "help": "Color: cor das bordas",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Color: cor das bordas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-color-r"
        },
        {
          "id": "vignette_color.g",
          "name": "Cor G",
          "kind": "número",
          "group": "Vinheta",
          "unit": "",
          "help": "Color: cor das bordas",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Color: cor das bordas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-color-g"
        },
        {
          "id": "vignette_color.b",
          "name": "Cor B",
          "kind": "número",
          "group": "Vinheta",
          "unit": "",
          "help": "Color: cor das bordas",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Color: cor das bordas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-color-b"
        },
        {
          "id": "vignette_center.x",
          "name": "Centro X",
          "kind": "número",
          "group": "Vinheta",
          "unit": "",
          "help": "Center: 0,5 é o meio da tela",
          "default": "0.5",
          "domain": "-1 … 2",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Center: 0,5 é o meio da tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-center-x"
        },
        {
          "id": "vignette_center.y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Vinheta",
          "unit": "",
          "help": "Center: 0,5 é o meio da tela",
          "default": "0.5",
          "domain": "-1 … 2",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Center: 0,5 é o meio da tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-center-y"
        },
        {
          "id": "vignette_smoothness",
          "name": "Suavidade",
          "kind": "número",
          "group": "Vinheta",
          "unit": "",
          "help": "Smoothness: quanto a borda escura se espalha",
          "default": "0.2",
          "domain": "0.01 … 1",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Smoothness: quanto a borda escura se espalha",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-smoothness"
        },
        {
          "id": "bloom_dirt_intensity",
          "name": "Intensidade da sujeira",
          "kind": "número",
          "group": "Bloom",
          "unit": "",
          "help": "Lens Dirt › Intensity: quanto a textura de sujeira acende com o brilho",
          "default": "0",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lens Dirt › Intensity: quanto a textura de sujeira acende com o brilho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-dirt-intensity"
        },
        {
          "id": "dof_gaussian_start",
          "name": "Início",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "m",
          "help": "Start: distância onde o desfoque começa",
          "default": "10",
          "domain": "0 … 10000",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Start: distância onde o desfoque começa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-gaussian-start"
        },
        {
          "id": "dof_gaussian_end",
          "name": "Fim",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "m",
          "help": "End: distância onde o desfoque chega ao máximo",
          "default": "30",
          "domain": "0 … 10000",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "End: distância onde o desfoque chega ao máximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-gaussian-end"
        },
        {
          "id": "dof_gaussian_max_radius",
          "name": "Raio máximo",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "",
          "help": "Max Radius: acima de 1 surgem artefatos de subamostragem",
          "default": "1",
          "domain": "0.5 … 1.5",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Max Radius: acima de 1 surgem artefatos de subamostragem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-gaussian-max-radius"
        },
        {
          "id": "dof_focus_distance",
          "name": "Distância de foco",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "m",
          "help": "Focus Distance: a que distância da câmera fica nítido",
          "default": "10",
          "domain": "0.1 … 10000",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Focus Distance: a que distância da câmera fica nítido",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-focus-distance"
        },
        {
          "id": "dof_focal_length",
          "name": "Distância focal",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "mm",
          "help": "Focal Length: lente mais longa, foco mais raso",
          "default": "50",
          "domain": "1 … 300",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Focal Length: lente mais longa, foco mais raso",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-focal-length"
        },
        {
          "id": "dof_aperture",
          "name": "Abertura",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "f/",
          "help": "Aperture: f menor, foco mais raso",
          "default": "5.6",
          "domain": "1 … 32",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aperture: f menor, foco mais raso",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-aperture"
        },
        {
          "id": "dof_blade_count",
          "name": "Lâminas",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "",
          "help": "Blade Count: lados do bokeh",
          "default": "5",
          "domain": "3 … 9",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Blade Count: lados do bokeh",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-blade-count"
        },
        {
          "id": "dof_blade_curvature",
          "name": "Curvatura das lâminas",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "",
          "help": "Blade Curvature: 1 deixa o bokeh redondo",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Blade Curvature: 1 deixa o bokeh redondo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-blade-curvature"
        },
        {
          "id": "dof_blade_rotation",
          "name": "Giro das lâminas",
          "kind": "número",
          "group": "Profundidade de campo",
          "unit": "°",
          "help": "Blade Rotation",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Blade Rotation",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-blade-rotation"
        },
        {
          "id": "motion_blur_intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Desfoque de movimento",
          "unit": "",
          "help": "Intensity: rastro do giro e do deslocamento da câmera; zero desliga",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Camera Only: o movimento dos objetos não entra",
          "capability": "render.post.motion_blur",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensity: rastro do giro e do deslocamento da câmera; zero desliga",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-motion-blur-intensity"
        },
        {
          "id": "motion_blur_clamp",
          "name": "Limite",
          "kind": "número",
          "group": "Desfoque de movimento",
          "unit": "",
          "help": "Clamp: comprimento máximo do rastro, em fração da tela",
          "default": "0.05",
          "domain": "0 … 0.2",
          "limitation": "Camera Only: o movimento dos objetos não entra",
          "capability": "render.post.motion_blur",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Clamp: comprimento máximo do rastro, em fração da tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-motion-blur-clamp"
        },
        {
          "id": "chromatic_aberration",
          "name": "Intensidade",
          "kind": "número",
          "group": "Aberração cromática",
          "unit": "",
          "help": "Intensity: separa vermelho e azul em direção às bordas; zero desliga",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.chromatic_aberration",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensity: separa vermelho e azul em direção às bordas; zero desliga",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-chromatic-aberration"
        },
        {
          "id": "lens_distortion",
          "name": "Intensidade",
          "kind": "número",
          "group": "Distorção de lente",
          "unit": "",
          "help": "Intensity: positivo é barril, negativo é almofada; zero desliga",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "render.post.lens_distortion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intensity: positivo é barril, negativo é almofada; zero desliga",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-lens-distortion"
        },
        {
          "id": "lens_distortion_x_multiplier",
          "name": "Multiplicador X",
          "kind": "número",
          "group": "Distorção de lente",
          "unit": "",
          "help": "X Multiplier",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.lens_distortion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "X Multiplier",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-lens-distortion-x-multiplier"
        },
        {
          "id": "lens_distortion_y_multiplier",
          "name": "Multiplicador Y",
          "kind": "número",
          "group": "Distorção de lente",
          "unit": "",
          "help": "Y Multiplier",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.lens_distortion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Y Multiplier",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-lens-distortion-y-multiplier"
        },
        {
          "id": "lens_distortion_center.x",
          "name": "Centro X",
          "kind": "número",
          "group": "Distorção de lente",
          "unit": "",
          "help": "Center",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.lens_distortion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Center",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-lens-distortion-center-x"
        },
        {
          "id": "lens_distortion_center.y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Distorção de lente",
          "unit": "",
          "help": "Center",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.post.lens_distortion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Center",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-lens-distortion-center-y"
        },
        {
          "id": "lens_distortion_scale",
          "name": "Escala",
          "kind": "número",
          "group": "Distorção de lente",
          "unit": "",
          "help": "Scale: aproxima para esconder as bordas puxadas",
          "default": "1",
          "domain": "0.01 … 5",
          "limitation": "",
          "capability": "render.post.lens_distortion",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Scale: aproxima para esconder as bordas puxadas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-lens-distortion-scale"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Participa da seleção por prioridade",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Participa da seleção por prioridade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-enabled"
        },
        {
          "id": "fog",
          "name": "Neblina",
          "kind": "booleano",
          "group": "Neblina",
          "unit": "",
          "help": "Other Settings › Fog da janela Lighting: linear, exponencial ou exponencial ao quadrado",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Other Settings › Fog da janela Lighting: linear, exponencial ou exponencial ao quadrado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog"
        },
        {
          "id": "post",
          "name": "Pós-processamento ativo",
          "kind": "booleano",
          "group": "Tonemapping",
          "unit": "",
          "help": "Liga o pós desta vista; a curva vem logo abaixo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Liga o pós desta vista; a curva vem logo abaixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-post"
        },
        {
          "id": "physical_atmosphere_high_quality",
          "name": "Alta qualidade",
          "kind": "booleano",
          "group": "Atmosfera física",
          "unit": "",
          "help": "Aumenta as amostras de vista e luz; custa mais GPU",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "render.environment.physical_atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aumenta as amostras de vista e luz; custa mais GPU",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-physical-atmosphere-high-quality"
        },
        {
          "id": "clouds",
          "name": "Nuvens",
          "kind": "booleano",
          "group": "Nuvens",
          "unit": "",
          "help": "Cloud Layer: camada 2D iluminada pelo sol, com vento e sombra",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cloud Layer: camada 2D iluminada pelo sol, com vento e sombra",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-clouds"
        },
        {
          "id": "cloud_shadows",
          "name": "Projetar sombras",
          "kind": "booleano",
          "group": "Nuvens",
          "unit": "",
          "help": "A luz direcional principal passa pelas nuvens antes de chegar ao chão",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A luz direcional principal passa pelas nuvens antes de chegar ao chão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-shadows"
        },
        {
          "id": "override_sky",
          "name": "Céu no perfil",
          "kind": "booleano",
          "group": "Céu",
          "unit": "",
          "help": "Override Skybox Material / Skybox Procedural no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Skybox Material / Skybox Procedural no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-sky"
        },
        {
          "id": "override_celestial",
          "name": "Sol e lua no perfil",
          "kind": "booleano",
          "group": "Sol e lua",
          "unit": "",
          "help": "Override sol, lua e estrelas do céu no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override sol, lua e estrelas do céu no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-celestial"
        },
        {
          "id": "override_physical_atmosphere",
          "name": "Atmosfera física no perfil",
          "kind": "booleano",
          "group": "Atmosfera física",
          "unit": "",
          "help": "Override Physically Based Sky no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Physically Based Sky no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-physical-atmosphere"
        },
        {
          "id": "override_indirect",
          "name": "Luz ambiente no perfil",
          "kind": "booleano",
          "group": "Luz ambiente",
          "unit": "",
          "help": "Override Environment Lighting e Indirect Lighting Controller no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Environment Lighting e Indirect Lighting Controller no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-indirect"
        },
        {
          "id": "override_fog",
          "name": "Neblina no perfil",
          "kind": "booleano",
          "group": "Neblina",
          "unit": "",
          "help": "Override Fog no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Fog no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-fog"
        },
        {
          "id": "override_clouds",
          "name": "Nuvens no perfil",
          "kind": "booleano",
          "group": "Nuvens",
          "unit": "",
          "help": "Override Cloud Layer no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Cloud Layer no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-clouds"
        },
        {
          "id": "override_exposure",
          "name": "Exposição no perfil",
          "kind": "booleano",
          "group": "Exposição",
          "unit": "",
          "help": "Override Exposure no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Exposure no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-exposure"
        },
        {
          "id": "override_post",
          "name": "Tonemapping no perfil",
          "kind": "booleano",
          "group": "Tonemapping",
          "unit": "",
          "help": "Override Tonemapping no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Tonemapping no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-post"
        },
        {
          "id": "override_bloom",
          "name": "Bloom no perfil",
          "kind": "booleano",
          "group": "Bloom",
          "unit": "",
          "help": "Override Bloom no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Bloom no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-bloom"
        },
        {
          "id": "override_vignette",
          "name": "Vinheta no perfil",
          "kind": "booleano",
          "group": "Vinheta",
          "unit": "",
          "help": "Override Vignette no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Vignette no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-vignette"
        },
        {
          "id": "override_color_adjustments",
          "name": "Ajustes de cor no perfil",
          "kind": "booleano",
          "group": "Ajustes de cor",
          "unit": "",
          "help": "Override Color Adjustments no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Color Adjustments no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-color-adjustments"
        },
        {
          "id": "override_color_grading",
          "name": "Cor no perfil",
          "kind": "booleano",
          "group": "Cor",
          "unit": "",
          "help": "Override White Balance, Lift Gamma Gain e Shadows Midtones Highlights no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override White Balance, Lift Gamma Gain e Shadows Midtones Highlights no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-color-grading"
        },
        {
          "id": "override_color_curves",
          "name": "Curvas de cor no perfil",
          "kind": "booleano",
          "group": "Curvas de cor",
          "unit": "",
          "help": "Override Color Curves no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Color Curves no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-color-curves"
        },
        {
          "id": "override_film_grain",
          "name": "Grão de filme no perfil",
          "kind": "booleano",
          "group": "Grão de filme",
          "unit": "",
          "help": "Override Film Grain no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Film Grain no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-film-grain"
        },
        {
          "id": "override_ambient_occlusion",
          "name": "Oclusão ambiente no perfil",
          "kind": "booleano",
          "group": "Oclusão ambiente",
          "unit": "",
          "help": "Override Ambient Occlusion no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Ambient Occlusion no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-ambient-occlusion"
        },
        {
          "id": "override_depth_of_field",
          "name": "Profundidade de campo no perfil",
          "kind": "booleano",
          "group": "Profundidade de campo",
          "unit": "",
          "help": "Override Depth of Field no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Depth of Field no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-depth-of-field"
        },
        {
          "id": "override_motion_blur",
          "name": "Desfoque de movimento no perfil",
          "kind": "booleano",
          "group": "Desfoque de movimento",
          "unit": "",
          "help": "Override Motion Blur no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Motion Blur no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-motion-blur"
        },
        {
          "id": "override_chromatic_aberration",
          "name": "Aberração cromática no perfil",
          "kind": "booleano",
          "group": "Aberração cromática",
          "unit": "",
          "help": "Override Chromatic Aberration no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Chromatic Aberration no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-chromatic-aberration"
        },
        {
          "id": "override_lens_distortion",
          "name": "Distorção de lente no perfil",
          "kind": "booleano",
          "group": "Distorção de lente",
          "unit": "",
          "help": "Override Lens Distortion no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Override Lens Distortion no perfil do Volume (Adicionar/Remover override); cada parâmetro tem a própria caixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-override-lens-distortion"
        },
        {
          "id": "vignette_rounded",
          "name": "Arredondada",
          "kind": "booleano",
          "group": "Vinheta",
          "unit": "",
          "help": "Rounded: círculo perfeito em qualquer proporção de tela",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "render.post.vignette",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rounded: círculo perfeito em qualquer proporção de tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-vignette-rounded"
        },
        {
          "id": "bloom_high_quality",
          "name": "Filtro de alta qualidade",
          "kind": "booleano",
          "group": "Bloom",
          "unit": "",
          "help": "High Quality Filtering: leitura bicúbica ao compor (4 leituras em vez de 1)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "render.post.bloom",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "High Quality Filtering: leitura bicúbica ao compor (4 leituras em vez de 1)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-bloom-high-quality"
        },
        {
          "id": "dof_gaussian_high_quality",
          "name": "Amostragem de alta qualidade",
          "kind": "booleano",
          "group": "Profundidade de campo",
          "unit": "",
          "help": "High Quality Sampling: 13 amostras em vez de 9 no desfoque",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "High Quality Sampling: 13 amostras em vez de 9 no desfoque",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-gaussian-high-quality"
        },
        {
          "id": "sky",
          "name": "Shader do céu",
          "kind": "enumeração",
          "group": "Céu",
          "unit": "",
          "help": "Procedural, Panorâmico (HDRI) ou Físico, como o shader do Material do céu",
          "default": "Procedural",
          "domain": "Panorâmico (HDRI) | Procedural | Físico",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Procedural, Panorâmico (HDRI) ou Físico, como o shader do Material do céu",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sky"
        },
        {
          "id": "sun_disk",
          "name": "Sol",
          "kind": "enumeração",
          "group": "Céu",
          "unit": "",
          "help": "Disco do sol no céu procedural: nenhum, simples ou alta qualidade",
          "default": "Alta qualidade",
          "domain": "Nenhum | Simples | Alta qualidade",
          "limitation": "",
          "capability": "render.environment.atmosphere",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Disco do sol no céu procedural: nenhum, simples ou alta qualidade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-sun-disk"
        },
        {
          "id": "ambient_source",
          "name": "Fonte",
          "kind": "enumeração",
          "group": "Luz ambiente",
          "unit": "",
          "help": "De onde vem a luz ambiente: do céu, de um gradiente ou de uma cor",
          "default": "Céu (Skybox)",
          "domain": "Céu (Skybox) | Gradiente | Cor",
          "limitation": "Environment Lighting da janela Iluminação: sonda SH L2 do céu procedural, do HDRI, de um gradiente ou de uma cor, com Intensity Multiplier; o nível Constante usa o hemisfério céu/chão da mesma sonda",
          "capability": "render.ambient.hemispheric",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "De onde vem a luz ambiente: do céu, de um gradiente ou de uma cor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-ambient-source"
        },
        {
          "id": "fog_mode",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Neblina",
          "unit": "",
          "help": "Linear entre Início e Fim, ou exponencial pela densidade",
          "default": "Exponencial ao quadrado",
          "domain": "Linear | Exponencial | Exponencial ao quadrado",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Linear entre Início e Fim, ou exponencial pela densidade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-mode"
        },
        {
          "id": "fog_color_mode",
          "name": "Modo de cor",
          "kind": "enumeração",
          "group": "Neblina",
          "unit": "",
          "help": "A cor escolhida (o céu fica limpo), ou a mesma cor cobrindo o céu e apagando à noite",
          "default": "Cor",
          "domain": "Cor | Acompanhar o céu",
          "limitation": "Fog da janela Iluminação: Linear (Início/Fim), Exponencial e Exponencial ao quadrado, cor própria ou acompanhando a luz do céu, decaimento por altura nos modos exponenciais",
          "capability": "render.environment.fog",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A cor escolhida (o céu fica limpo), ou a mesma cor cobrindo o céu e apagando à noite",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-fog-color-mode"
        },
        {
          "id": "tone_mapper",
          "name": "Tonemapping",
          "kind": "enumeração",
          "group": "Tonemapping",
          "unit": "",
          "help": "Curva aplicada ao HDR antes da saída",
          "default": "ACES",
          "domain": "Nenhum | Neutro | ACES | AgX",
          "limitation": "",
          "capability": "render.post.tonemap",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Curva aplicada ao HDR antes da saída",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-tone-mapper"
        },
        {
          "id": "cloud_type",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "Nuvens",
          "unit": "",
          "help": "Camada 2D (Cloud Layer, barata) ou Volumétricas (Volumetric Clouds: cúmulos com volume)",
          "default": "Camada 2D",
          "domain": "Camada 2D | Volumétricas",
          "limitation": "Uma camada 2D com mapa procedural, vento, autossombra em 3 passos e sombra no chão pela luz direcional principal; sem mapa de nuvens importado, sem segunda camada nem nuvens volumétricas",
          "capability": "render.environment.clouds",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Camada 2D (Cloud Layer, barata) ou Volumétricas (Volumetric Clouds: cúmulos com volume)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-cloud-type"
        },
        {
          "id": "volume_shape",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Global afeta toda vista; formas usam o Transform do objeto",
          "default": "Global",
          "domain": "Global | Caixa | Esfera",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho, política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Global afeta toda vista; formas usam o Transform do objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-volume-shape"
        },
        {
          "id": "exposure_mode",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Exposição",
          "unit": "",
          "help": "Fixa usa o EV100 informado; as automáticas medem a luminância da câmera a cada quadro",
          "default": "Automática",
          "domain": "Fixa | Automática | Automática por histograma",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fixa usa o EV100 informado; as automáticas medem a luminância da câmera a cada quadro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-mode"
        },
        {
          "id": "exposure_metering",
          "name": "Medição",
          "kind": "enumeração",
          "group": "Exposição",
          "unit": "",
          "help": "Quais pixels pesam na média: a imagem toda, um círculo no centro ou peso que cai até a borda",
          "default": "Peso no centro",
          "domain": "Média | Pontual | Peso no centro",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quais pixels pesam na média: a imagem toda, um círculo no centro ou peso que cai até a borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-metering"
        },
        {
          "id": "exposure_adaptation",
          "name": "Adaptação",
          "kind": "enumeração",
          "group": "Exposição",
          "unit": "",
          "help": "Imediata salta para a medição; progressiva acompanha como o olho",
          "default": "Progressiva",
          "domain": "Imediata | Progressiva",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Imediata salta para a medição; progressiva acompanha como o olho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-adaptation"
        },
        {
          "id": "exposure_target_mid_grey_choice",
          "name": "Cinza médio alvo",
          "kind": "enumeração",
          "group": "Exposição",
          "unit": "",
          "help": "Tom para o qual a média medida é levada",
          "default": "Cinza 12,5%",
          "domain": "Cinza 12,5% | Cinza 14% | Cinza 18%",
          "limitation": "Histograma e adaptação por vista; o EV fica restrito à faixa autoral",
          "capability": "render.post.auto_exposure",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tom para o qual a média medida é levada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-exposure-target-mid-grey-choice"
        },
        {
          "id": "dof_mode",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Profundidade de campo",
          "unit": "",
          "help": "Gaussiano desfoca só o fundo e é o mais barato; Bokeh desfoca perto e longe pela lente",
          "default": "Desligado",
          "domain": "Desligado | Gaussiano | Bokeh",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gaussiano desfoca só o fundo e é o mais barato; Bokeh desfoca perto e longe pela lente",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-mode"
        },
        {
          "id": "dof_quality",
          "name": "Qualidade",
          "kind": "enumeração",
          "group": "Profundidade de campo",
          "unit": "",
          "help": "Amostras do bokeh por pixel (8, 22 ou 43, em meia resolução); custo de GPU no celular",
          "default": "Média",
          "domain": "Baixa | Média | Alta",
          "limitation": "Em meia resolução; Bokeh com 8, 22 ou 43 amostras (Qualidade); sem foco automático",
          "capability": "render.post.depth_of_field",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amostras do bokeh por pixel (8, 22 ou 43, em meia resolução); custo de GPU no celular",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-dof-quality"
        },
        {
          "id": "motion_blur_quality",
          "name": "Qualidade",
          "kind": "enumeração",
          "group": "Desfoque de movimento",
          "unit": "",
          "help": "Quality: 4, 6 ou 8 leituras ao longo do movimento da câmera",
          "default": "Baixa",
          "domain": "Baixa | Média | Alta",
          "limitation": "Camera Only: o movimento dos objetos não entra",
          "capability": "render.post.motion_blur",
          "invalidation": "desenho, política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quality: 4, 6 ou 8 leituras ao longo do movimento da câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-environment/#field-motion-blur-quality"
        }
      ],
      "resources": [
        {
          "id": "profile",
          "name": "Perfil",
          "kind": "environment_profile",
          "group": "Volume",
          "help": "Volume Profile compartilhado: editar aqui edita o perfil e todos os volumes que o usam; modo, peso, prioridade e mistura continuam nesta instância",
          "inheritable": true
        },
        {
          "id": "environment_map",
          "name": "Mapa HDRI",
          "kind": "environment_map",
          "group": "Céu",
          "help": "Panorama HDR linear: céu, irradiância global e reflexão compartilham a mesma fonte",
          "inheritable": true
        },
        {
          "id": "skybox",
          "name": "Material do céu",
          "kind": "skybox_material",
          "group": "Céu",
          "help": "Material de céu do projeto (Procedural, Panorâmico ou Físico); vazio usa o céu deste Ambiente",
          "inheritable": true
        },
        {
          "id": "bloom_dirt",
          "name": "Textura de sujeira",
          "kind": "texture",
          "group": "Bloom",
          "help": "Lens Dirt: manchas e poeira da lente que aparecem com o brilho; vazio não tem sujeira",
          "inheritable": true
        }
      ],
      "methods": [
        {
          "id": "set_weight",
          "name": "Definir peso",
          "help": "Volume.weight: 0 não contribui, 1 contribui inteiro",
          "result": "nada",
          "parameters": [
            {
              "id": "weight",
              "name": "Peso",
              "kind": "número",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_shared_profile",
          "name": "Trocar perfil",
          "help": "Volume.sharedProfile: passa a usar outro Volume Profile do projeto (zero tira o perfil)",
          "result": "nada",
          "parameters": [
            {
              "id": "asset_high",
              "name": "Recurso (64 bits altos)",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "asset_low",
              "name": "Recurso (64 bits baixos)",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "instantiate_profile",
          "name": "Usar cópia do perfil",
          "help": "Volume.profile: copia o perfil compartilhado para este Volume; mudanças seguintes não tocam o recurso",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "has_instantiated_profile",
          "name": "Tem cópia própria?",
          "help": "Volume.HasInstantiatedProfile: verdadeiro quando os valores são deste Volume, sem perfil compartilhado",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "parameter_overridden",
          "name": "Parâmetro marcado?",
          "help": "VolumeParameter.overrideState do parâmetro de índice dado",
          "result": "booleano",
          "parameters": [
            {
              "id": "parameter",
              "name": "Parâmetro",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_parameter_overridden",
          "name": "Marcar parâmetro",
          "help": "VolumeParameter.overrideState; com perfil compartilhado, primeiro usa a cópia (Volume.profile)",
          "result": "nada",
          "parameters": [
            {
              "id": "parameter",
              "name": "Parâmetro",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "value",
              "name": "Marcado",
              "kind": "booleano",
              "unit": ""
            }
          ]
        },
        {
          "id": "component_active",
          "name": "Override ligado?",
          "help": "VolumeComponent.active do override de índice dado",
          "result": "booleano",
          "parameters": [
            {
              "id": "group",
              "name": "Override",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_component_active",
          "name": "Ligar override",
          "help": "VolumeComponent.active; com perfil compartilhado, primeiro usa a cópia (Volume.profile)",
          "result": "nada",
          "parameters": [
            {
              "id": "group",
              "name": "Override",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "active",
              "name": "Ligado",
              "kind": "booleano",
              "unit": ""
            }
          ]
        }
      ],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Crie por + › Volume e céu (Volume global, em caixa, em esfera, Ambiente, Volume de nuvens, Clima). Em Perfil escolha, crie (Novo) ou copie (Clonar) um perfil. Cada efeito é um cartão de override com interruptor, ALL/NONE e o menu ⋮; Adicionar override lista o que o perfil ainda não tem. O Ambiente da cena também é editado por ☰ › Iluminação.",
        "example": "Para um desfoque ao mirar: Volume global com prioridade 10 e peso 0, override Profundidade de campo em Bokeh com Distância de foco 3 m. Uma Conexão de evento (ou script) leva o peso a 1 enquanto a mira está segurada. A câmera escolhe os Volumes pela Máscara de volume (camadas do objeto).",
        "next": "Presente na 0.4.0. Volumes por câmera além da máscara, Curve Mapping da exposição e importação de .cube não existem.",
        "purpose": "Volume da cena, como o Volume da URP/HDRP: um perfil compartilhado de overrides (exposição, tonemapping, cor, bloom, profundidade de campo, céu, neblina, nuvens…) que vale no mundo inteiro ou dentro de uma caixa ou esfera, misturado por prioridade e peso.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Renderização** / **Ambiente** → **Ambiente**.",
        "extra": "Editar um valor muda o perfil e todos os Volumes que o usam, num único desfazer. Um parâmetro desmarcado fica apagado e vem do Volume de baixo. Valores que não se misturam (modos, texturas, liga/desliga) trocam assim que o Volume começa a pesar. A profundidade de campo custa 2 a 3,5 ms no POCO F7 e não roda junto com o ampliador temporal.",
        "related": "[Pós-processamento e Volume](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#pós-processamento-e-volume)"
      }
    },
    {
      "typeId": "astra.environment.weather",
      "name": "Clima",
      "description": "Chuva, neve e tempestade: dirige as nuvens do Ambiente e as partículas",
      "family": "Renderização",
      "subfamily": "Ambiente",
      "api": "Weather",
      "reference": "https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@17.0/manual/create-simple-clouds-cloud-layer.html",
      "aliases": "Weather Clima Chuva Neve Tempestade Rain Snow Storm Lightning Relâmpago",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.render.environment",
          "message": "Adicione um Ambiente a este objeto: o clima muda as nuvens dele"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Clima",
          "unit": "",
          "help": "Quanto chove ou neva e quão fechado fica o céu",
          "default": "0.7",
          "domain": "0 … 1",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Quanto chove ou neva e quão fechado fica o céu",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-intensity"
        },
        {
          "id": "transition_seconds",
          "name": "Transição",
          "kind": "número",
          "group": "Clima",
          "unit": "s",
          "help": "Em Play, tempo para chegar ao clima novo quando tipo ou intensidade mudam",
          "default": "8",
          "domain": "0 … 120",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Em Play, tempo para chegar ao clima novo quando tipo ou intensidade mudam",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-transition-seconds"
        },
        {
          "id": "variation",
          "name": "Variação natural",
          "kind": "número",
          "group": "Clima",
          "unit": "",
          "help": "Em Play a chuva e a neve engrossam e afinam sozinhas; 0 deixa a intensidade fixa",
          "default": "0.35",
          "domain": "0 … 1",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Em Play a chuva e a neve engrossam e afinam sozinhas; 0 deixa a intensidade fixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-variation"
        },
        {
          "id": "variation_period",
          "name": "Ritmo da variação",
          "kind": "número",
          "group": "Clima",
          "unit": "s",
          "help": "Tempo médio entre uma pancada e uma calmaria",
          "default": "45",
          "domain": "5 … 600",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo médio entre uma pancada e uma calmaria",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-variation-period"
        },
        {
          "id": "rain_rate",
          "name": "Gotas por segundo",
          "kind": "número",
          "group": "Precipitação",
          "unit": "/s",
          "help": "Emissão da Chuva na intensidade máxima",
          "default": "7000",
          "domain": "0 … 20000",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Emissão da Chuva na intensidade máxima",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-rain-rate"
        },
        {
          "id": "snow_rate",
          "name": "Flocos por segundo",
          "kind": "número",
          "group": "Precipitação",
          "unit": "/s",
          "help": "Emissão da Neve na intensidade máxima",
          "default": "3000",
          "domain": "0 … 20000",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Emissão da Neve na intensidade máxima",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-snow-rate"
        },
        {
          "id": "height_above_camera",
          "name": "Altura sobre a câmera",
          "kind": "número",
          "group": "Precipitação",
          "unit": "m",
          "help": "Onde ficam os emissores, acima da câmera da cena",
          "default": "10",
          "domain": "0 … 100",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Onde ficam os emissores, acima da câmera da cena",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-height-above-camera"
        },
        {
          "id": "wind_influence",
          "name": "Vento na precipitação",
          "kind": "número",
          "group": "Precipitação",
          "unit": "×",
          "help": "Quanto o vento das nuvens deste Ambiente inclina a chuva e arrasta a neve",
          "default": "0.35",
          "domain": "0 … 2",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o vento das nuvens deste Ambiente inclina a chuva e arrasta a neve",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-wind-influence"
        },
        {
          "id": "fog_density",
          "name": "Neblina máxima",
          "kind": "número",
          "group": "Atmosfera",
          "unit": "1/m",
          "help": "Densidade da neblina do Ambiente com chuva ou neve no máximo; vale com Sobrescrever neblina",
          "default": "0.045",
          "domain": "0 … 0.2",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Densidade da neblina do Ambiente com chuva ou neve no máximo; vale com Sobrescrever neblina",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-fog-density"
        },
        {
          "id": "lightning_interval",
          "name": "Intervalo médio",
          "kind": "número",
          "group": "Relâmpago",
          "unit": "s",
          "help": "Tempo médio entre relâmpagos em Play",
          "default": "9",
          "domain": "1 … 120",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo médio entre relâmpagos em Play",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-lightning-interval"
        },
        {
          "id": "lightning_brightness",
          "name": "Clarão",
          "kind": "número",
          "group": "Relâmpago",
          "unit": "EV",
          "help": "Quanto o clarão acende as nuvens e a neblina",
          "default": "3",
          "domain": "0 … 8",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o clarão acende as nuvens e a neblina",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-lightning-brightness"
        },
        {
          "id": "surface_wetness",
          "name": "Molhado",
          "kind": "número",
          "group": "Superfícies",
          "unit": "",
          "help": "Quanto a chuva escurece o chão e as paredes e deixa tudo liso e refletindo",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto a chuva escurece o chão e as paredes e deixa tudo liso e refletindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-surface-wetness"
        },
        {
          "id": "surface_puddles",
          "name": "Poças",
          "kind": "número",
          "group": "Superfícies",
          "unit": "",
          "help": "Poças nos pisos planos: espelho d'água escuro que reflete o céu",
          "default": "0.6",
          "domain": "0 … 1",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Poças nos pisos planos: espelho d'água escuro que reflete o céu",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-surface-puddles"
        },
        {
          "id": "surface_snow",
          "name": "Neve acumulada",
          "kind": "número",
          "group": "Superfícies",
          "unit": "",
          "help": "Cobertura branca em telhados, chão e no topo dos objetos",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cobertura branca em telhados, chão e no topo dos objetos",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-surface-snow"
        },
        {
          "id": "wet_seconds",
          "name": "Tempo para molhar",
          "kind": "número",
          "group": "Superfícies",
          "unit": "s",
          "help": "Segundos de chuva até o molhado completo (Play)",
          "default": "20",
          "domain": "1 … 600",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Segundos de chuva até o molhado completo (Play)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-wet-seconds"
        },
        {
          "id": "dry_seconds",
          "name": "Tempo para secar",
          "kind": "número",
          "group": "Superfícies",
          "unit": "s",
          "help": "Segundos sem chuva até secar (Play)",
          "default": "90",
          "domain": "1 … 1200",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Segundos sem chuva até secar (Play)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-dry-seconds"
        },
        {
          "id": "snow_seconds",
          "name": "Tempo para acumular",
          "kind": "número",
          "group": "Superfícies",
          "unit": "s",
          "help": "Segundos de neve até a cobertura completa; derrete no dobro (Play)",
          "default": "60",
          "domain": "1 … 1200",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Segundos de neve até a cobertura completa; derrete no dobro (Play)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-snow-seconds"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Clima",
          "unit": "",
          "help": "Desligado, o clima não escreve mais nada; os valores ficam como estão",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o clima não escreve mais nada; os valores ficam como estão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-enabled"
        },
        {
          "id": "follow_camera",
          "name": "Seguir a câmera",
          "kind": "booleano",
          "group": "Precipitação",
          "unit": "",
          "help": "Leva Chuva e Neve para cima da câmera da cena, como filhos da Main Camera",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Leva Chuva e Neve para cima da câmera da cena, como filhos da Main Camera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-follow-camera"
        },
        {
          "id": "lightning",
          "name": "Relâmpagos",
          "kind": "booleano",
          "group": "Relâmpago",
          "unit": "",
          "help": "Clarões aleatórios nas nuvens durante a Tempestade",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Clarões aleatórios nas nuvens durante a Tempestade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-lightning"
        },
        {
          "id": "kind",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "Clima",
          "unit": "",
          "help": "Limpo, nublado, chuva, tempestade ou neve: muda nuvens, neblina e precipitação",
          "default": "Chuva",
          "domain": "Limpo | Nublado | Chuva | Tempestade | Neve",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limpo, nublado, chuva, tempestade ou neve: muda nuvens, neblina e precipitação",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-kind"
        },
        {
          "id": "rain",
          "name": "Chuva",
          "kind": "referência",
          "group": "Precipitação",
          "unit": "",
          "help": "Partículas de chuva: o clima dosa a emissão e as leva sobre a câmera",
          "default": "Escolher partículas",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Partículas de chuva: o clima dosa a emissão e as leva sobre a câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-rain"
        },
        {
          "id": "snow",
          "name": "Neve",
          "kind": "referência",
          "group": "Precipitação",
          "unit": "",
          "help": "Partículas de neve: o clima dosa a emissão e as leva sobre a câmera",
          "default": "Escolher partículas",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Componente Clima escreve as nuvens e a neblina do próprio Ambiente e a emissão de partículas de Chuva e Neve sobre a câmera; relâmpago é clarão nas nuvens e na neblina, sem raio desenhado, trovão nem respingo no chão (colisão de partícula é o P4)",
          "capability": "render.environment.weather",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Partículas de neve: o clima dosa a emissão e as leva sobre a câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-environment-weather/#field-snow"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Crie por + › Volume e céu › Clima: nasce um Ambiente global (prioridade 2) com o Clima e os filhos Chuva e Neve ligados. Escolha Tipo (Limpo, Nublado, Chuva, Tempestade, Neve) e Intensidade. Em Superfícies ajuste Molhado, Poças e Neve acumulada e os tempos para molhar, secar e acumular.",
        "example": "Tipo Chuva, Intensidade 0,7, Variação natural 0,35: no Play as gotas oscilam com pancadas e calmarias (no POCO F7, 3.003 a 3.553 gotas vivas em 2 min) e o chão escurece em 20 s e empoça nos pisos planos. Troque para Neve: céu aberto, sol e telhados com espessura. Tempestade acrescenta relâmpagos com clarão.",
        "next": "Presente na 0.4.0. A chuva ainda entra sob telhados; raio desenhado, trovão e colisão das gotas com a física não existem.",
        "purpose": "Faz o papel do script de clima da Unity: muda nuvens, neblina e atmosfera do Ambiente do mesmo objeto, dosa as partículas de Chuva e Neve que acompanham a câmera e molha, empoça e cobre de neve as superfícies.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Renderização** / **Ambiente** → **Clima**.",
        "extra": "O Clima escreve propriedades que você vê: Cobertura, Tom e Densidade das nuvens, a neblina do Ambiente e a taxa de emissão das partículas. Na edição a mudança é imediata; no Play passa pela Transição. Vento na precipitação inclina a chuva pelo vento das nuvens. O teto de partículas do aparelho é repartido pelo que cada sistema emite. Custo medido com chuva: cerca de +0,8 ms de GPU.",
        "related": "[Nuvens e clima](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#nuvens-e-clima)"
      }
    },
    {
      "typeId": "astra.render.line",
      "name": "Linha",
      "description": "Faixa por uma lista de pontos, com largura, cor e material de partícula",
      "family": "Renderização",
      "subfamily": "Efeitos",
      "api": "LineRenderer",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-LineRenderer.html",
      "aliases": "LineRenderer Line2D Linha Raio Laser Corda Trajetoria Faixa",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "point_count",
          "name": "Pontos",
          "kind": "número",
          "group": "Linha",
          "unit": "",
          "help": "Quantos pontos da lista abaixo a linha usa",
          "default": "2",
          "domain": "2 … 8",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantos pontos da lista abaixo a linha usa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-count"
        },
        {
          "id": "point_0_x",
          "name": "Ponto 1 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 1",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 1",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-0-x"
        },
        {
          "id": "point_0_y",
          "name": "Ponto 1 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 1",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 1",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-0-y"
        },
        {
          "id": "point_0_z",
          "name": "Ponto 1 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 1",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 1",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-0-z"
        },
        {
          "id": "point_1_x",
          "name": "Ponto 2 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 2",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 2",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-1-x"
        },
        {
          "id": "point_1_y",
          "name": "Ponto 2 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 2",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 2",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-1-y"
        },
        {
          "id": "point_1_z",
          "name": "Ponto 2 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 2",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 2",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-1-z"
        },
        {
          "id": "point_2_x",
          "name": "Ponto 3 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 3",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 3",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-2-x"
        },
        {
          "id": "point_2_y",
          "name": "Ponto 3 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 3",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 3",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-2-y"
        },
        {
          "id": "point_2_z",
          "name": "Ponto 3 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 3",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 3",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-2-z"
        },
        {
          "id": "point_3_x",
          "name": "Ponto 4 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 4",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 4",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-3-x"
        },
        {
          "id": "point_3_y",
          "name": "Ponto 4 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 4",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 4",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-3-y"
        },
        {
          "id": "point_3_z",
          "name": "Ponto 4 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 4",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 4",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-3-z"
        },
        {
          "id": "point_4_x",
          "name": "Ponto 5 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 5",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 5",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-4-x"
        },
        {
          "id": "point_4_y",
          "name": "Ponto 5 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 5",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 5",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-4-y"
        },
        {
          "id": "point_4_z",
          "name": "Ponto 5 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 5",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 5",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-4-z"
        },
        {
          "id": "point_5_x",
          "name": "Ponto 6 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 6",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 6",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-5-x"
        },
        {
          "id": "point_5_y",
          "name": "Ponto 6 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 6",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 6",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-5-y"
        },
        {
          "id": "point_5_z",
          "name": "Ponto 6 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 6",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 6",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-5-z"
        },
        {
          "id": "point_6_x",
          "name": "Ponto 7 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 7",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 7",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-6-x"
        },
        {
          "id": "point_6_y",
          "name": "Ponto 7 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 7",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 7",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-6-y"
        },
        {
          "id": "point_6_z",
          "name": "Ponto 7 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 7",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 7",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-6-z"
        },
        {
          "id": "point_7_x",
          "name": "Ponto 8 X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 8",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 8",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-7-x"
        },
        {
          "id": "point_7_y",
          "name": "Ponto 8 Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 8",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 8",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-7-y"
        },
        {
          "id": "point_7_z",
          "name": "Ponto 8 Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Posição do ponto 8",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição do ponto 8",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-point-7-z"
        },
        {
          "id": "width_start",
          "name": "Largura inicial",
          "kind": "número",
          "group": "Aparência",
          "unit": "m",
          "help": "Largura no primeiro ponto",
          "default": "0.1",
          "domain": "0 … 1000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Largura no primeiro ponto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-width-start"
        },
        {
          "id": "width_end",
          "name": "Largura final",
          "kind": "número",
          "group": "Aparência",
          "unit": "m",
          "help": "Largura no último ponto",
          "default": "0.1",
          "domain": "0 … 1000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Largura no último ponto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-width-end"
        },
        {
          "id": "color_start_r",
          "name": "Cor inicial R",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Cor linear (HDR permitido)",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Cor linear (HDR permitido)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-start-r"
        },
        {
          "id": "color_start_g",
          "name": "Cor inicial G",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Cor linear (HDR permitido)",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Cor linear (HDR permitido)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-start-g"
        },
        {
          "id": "color_start_b",
          "name": "Cor inicial B",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Cor linear (HDR permitido)",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Cor linear (HDR permitido)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-start-b"
        },
        {
          "id": "color_start_a",
          "name": "Cor inicial A",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Alfa",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Alfa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-start-a"
        },
        {
          "id": "color_end_r",
          "name": "Cor final R",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Cor linear (HDR permitido)",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Cor linear (HDR permitido)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-end-r"
        },
        {
          "id": "color_end_g",
          "name": "Cor final G",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Cor linear (HDR permitido)",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Cor linear (HDR permitido)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-end-g"
        },
        {
          "id": "color_end_b",
          "name": "Cor final B",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Cor linear (HDR permitido)",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Cor linear (HDR permitido)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-end-b"
        },
        {
          "id": "color_end_a",
          "name": "Cor final A",
          "kind": "número",
          "group": "Aparência",
          "unit": "",
          "help": "Alfa",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Alfa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-color-end-a"
        },
        {
          "id": "tile_length",
          "name": "Repetir a cada",
          "kind": "número",
          "group": "Aparência",
          "unit": "m",
          "help": "Zero estica a imagem pela linha; um comprimento repete a imagem a cada trecho",
          "default": "0",
          "domain": "0 … 1000",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Zero estica a imagem pela linha; um comprimento repete a imagem a cada trecho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-tile-length"
        },
        {
          "id": "emission",
          "name": "Brilho",
          "kind": "número",
          "group": "Aparência",
          "unit": "×",
          "help": "Multiplica a cor (HDR): acima de 1 a linha brilha",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Multiplica a cor (HDR): acima de 1 a linha brilha",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-emission"
        },
        {
          "id": "scroll_x",
          "name": "Rolagem ao longo",
          "kind": "número",
          "group": "Aparência",
          "unit": "/s",
          "help": "A imagem corre pela linha (repetições por segundo)",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "A imagem corre pela linha (repetições por segundo)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-scroll-x"
        },
        {
          "id": "scroll_y",
          "name": "Rolagem através",
          "kind": "número",
          "group": "Aparência",
          "unit": "/s",
          "help": "A imagem corre de uma borda à outra da faixa",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "A imagem corre de uma borda à outra da faixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-scroll-y"
        },
        {
          "id": "noise_scale",
          "name": "Escala do ruído",
          "kind": "número",
          "group": "Ruído",
          "unit": "×",
          "help": "Repetições do ruído por repetição da imagem",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Repetições do ruído por repetição da imagem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-noise-scale"
        },
        {
          "id": "noise_strength",
          "name": "Recorte do ruído",
          "kind": "número",
          "group": "Ruído",
          "unit": "",
          "help": "0 só mistura; 1 o ruído apaga onde é escuro",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 só mistura; 1 o ruído apaga onde é escuro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-noise-strength"
        },
        {
          "id": "noise_scroll_x",
          "name": "Ruído ao longo",
          "kind": "número",
          "group": "Ruído",
          "unit": "/s",
          "help": "Rolagem do ruído pela linha",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Rolagem do ruído pela linha",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-noise-scroll-x"
        },
        {
          "id": "noise_scroll_y",
          "name": "Ruído através",
          "kind": "número",
          "group": "Ruído",
          "unit": "/s",
          "help": "Rolagem do ruído através da faixa",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Rolagem do ruído através da faixa",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-noise-scroll-y"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Linha",
          "unit": "",
          "help": "Desligada, a linha não é desenhada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligada, a linha não é desenhada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-enabled"
        },
        {
          "id": "world_space",
          "name": "Pontos em mundo",
          "kind": "booleano",
          "group": "Linha",
          "unit": "",
          "help": "Pontos em coordenadas da cena; desligado, seguem o objeto",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Pontos em coordenadas da cena; desligado, seguem o objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-world-space"
        },
        {
          "id": "loop",
          "name": "Fechar",
          "kind": "booleano",
          "group": "Linha",
          "unit": "",
          "help": "Liga o último ponto ao primeiro",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Liga o último ponto ao primeiro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-loop"
        },
        {
          "id": "noise",
          "name": "Ruído fluindo",
          "kind": "booleano",
          "group": "Ruído",
          "unit": "",
          "help": "Uma segunda camada que rola em outra velocidade e recorta a imagem",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Até 8 pontos em mundo ou no objeto, fechar, largura e cor do início ao fim, Material Partícula com a imagem esticada ou repetida a cada trecho; faixa virada para a câmera no passe das partículas",
          "capability": "render.lines",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Uma segunda camada que rola em outra velocidade e recorta a imagem",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-line/#field-noise"
        }
      ],
      "resources": [
        {
          "id": "material",
          "name": "Material",
          "kind": "material",
          "group": "Aparência",
          "help": "Material com shader Partícula: a imagem corre ao longo da linha",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Adicione ao objeto e defina Pontos (até 8) e a posição de cada um, em mundo (Pontos em mundo) ou no espaço do objeto. Ajuste Largura inicial/final, Cor inicial/final e escolha um Material do projeto com shader Partícula. Fechar liga o último ponto ao primeiro.",
        "example": "Para uma corda de 3 pontos: Pontos 3, Ponto 1 (0,2,0), Ponto 2 (1,1.6,0), Ponto 3 (2,2,0), Largura 0,05, cor marrom. Para um raio de energia, Material aditivo, Repetir a cada 1 m e Rolagem ao longo 2/s.",
        "next": "Presente na 0.4.0. Mais de 8 pontos, cantos arredondados e alinhamento à superfície não existem.",
        "purpose": "Desenha uma faixa por uma lista de pontos, com largura, cor e Material de partícula, como o Line Renderer da Unity. Também é o corpo visual do Laser.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Renderização** / **Efeitos** → **Linha**.",
        "extra": "Brilho multiplica a cor (útil com bloom). Repetir a cada 0 estica a textura na faixa inteira. Importado de prefabs com Line Renderer pela importação de pacotes.",
        "related": "[Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)"
      }
    },
    {
      "typeId": "astra.render.light",
      "name": "Luz",
      "description": "Direcional, pontual ou spot",
      "family": "Luz",
      "subfamily": "Luzes",
      "api": "Light",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-Light.html",
      "aliases": "Light DirectionalLight3D OmniLight3D SpotLight3D Point Spot Sol",
      "schemaVersion": 4,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "color.r",
          "name": "Cor R",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-color-r"
        },
        {
          "id": "color.g",
          "name": "Cor G",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-color-g"
        },
        {
          "id": "color.b",
          "name": "Cor B",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-color-b"
        },
        {
          "id": "color_temperature",
          "name": "Temperatura",
          "kind": "número",
          "group": "Emissão",
          "unit": "K",
          "help": "Multiplicada pela cor linear; D65 é 6500 K",
          "default": "6500",
          "domain": "1667 … 25000",
          "limitation": "",
          "capability": "render.light.temperature",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplicada pela cor linear; D65 é 6500 K",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-color-temperature"
        },
        {
          "id": "intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "1000",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Energia da luz na unidade selecionada; compare com distância/alcance constantes.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-intensity"
        },
        {
          "id": "range",
          "name": "Alcance",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "10",
          "domain": "0.01 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alcance de contribuição da luz pontual/spot.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-range"
        },
        {
          "id": "spot_angle",
          "name": "Ângulo do spot",
          "kind": "número",
          "group": "Volume",
          "unit": "°",
          "help": "Abertura total do cone (Spot Angle); a luz zera na borda",
          "default": "30",
          "domain": "1 … 179",
          "limitation": "",
          "capability": "render.light.punctual",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Abertura total do cone (Spot Angle); a luz zera na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-spot-angle"
        },
        {
          "id": "inner_spot_angle",
          "name": "Ângulo interno do spot",
          "kind": "número",
          "group": "Volume",
          "unit": "°",
          "help": "Abertura total do miolo com intensidade plena (Inner Spot Angle)",
          "default": "21.799999",
          "domain": "0 … 179",
          "limitation": "",
          "capability": "render.light.punctual",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Abertura total do miolo com intensidade plena (Inner Spot Angle)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-inner-spot-angle"
        },
        {
          "id": "shadow_strength",
          "name": "Força da sombra",
          "kind": "número",
          "group": "Sombra",
          "unit": "",
          "help": "1 é sombra opaca; abaixo disso a luz vaza pelo oclusor",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Atlas em quadtree: spot ocupa um mapa, pontual seis faces",
          "capability": "render.shadow.punctual",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "1 é sombra opaca; abaixo disso a luz vaza pelo oclusor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-shadow-strength"
        },
        {
          "id": "shadow_bias",
          "name": "Desvio",
          "kind": "número",
          "group": "Sombra",
          "unit": "texel",
          "help": "Afasta a comparação de profundidade e some com a acne; 0,05 é o desvio da política do aparelho",
          "default": "0.05",
          "domain": "0 … 2",
          "limitation": "Atlas em quadtree: spot ocupa um mapa, pontual seis faces",
          "capability": "render.shadow.punctual",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Afasta a comparação de profundidade e some com a acne; 0,05 é o desvio da política do aparelho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-shadow-bias"
        },
        {
          "id": "shadow_normal_bias",
          "name": "Desvio na normal",
          "kind": "número",
          "group": "Sombra",
          "unit": "texel",
          "help": "Desloca a amostra ao longo da normal; 0,4 é o deslocamento da política do aparelho",
          "default": "0.4",
          "domain": "0 … 2",
          "limitation": "Atlas em quadtree: spot ocupa um mapa, pontual seis faces",
          "capability": "render.shadow.punctual",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desloca a amostra ao longo da normal; 0,4 é o deslocamento da política do aparelho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-shadow-normal-bias"
        },
        {
          "id": "shadow_near_plane",
          "name": "Plano próximo da sombra",
          "kind": "número",
          "group": "Sombra",
          "unit": "m",
          "help": "Perto demais perde precisão; longe demais corta o que está junto da lâmpada",
          "default": "0.2",
          "domain": "0.01 … 10",
          "limitation": "Atlas em quadtree: spot ocupa um mapa, pontual seis faces",
          "capability": "render.shadow.punctual",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Perto demais perde precisão; longe demais corta o que está junto da lâmpada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-shadow-near-plane"
        },
        {
          "id": "enabled",
          "name": "Acesa",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Ativa a contribuição desta luz",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa a contribuição desta luz",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-enabled"
        },
        {
          "id": "use_color_temperature",
          "name": "Filtro por temperatura",
          "kind": "booleano",
          "group": "Emissão",
          "unit": "",
          "help": "Multiplica a cor pela temperatura de corpo negro",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "render.light.temperature",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a cor pela temperatura de corpo negro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-use-color-temperature"
        },
        {
          "id": "kind",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "Geral",
          "unit": "",
          "help": "Direcional ilumina a cena inteira numa direção; pontual e spot partem de um ponto",
          "default": "Pontual",
          "domain": "Direcional | Pontual | Spot",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direcional ilumina a cena inteira numa direção; pontual e spot partem de um ponto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-kind"
        },
        {
          "id": "unit",
          "name": "Unidade",
          "kind": "enumeração",
          "group": "Emissão",
          "unit": "",
          "help": "Relativa é a intensidade da URP; lux, candela e lúmen são as unidades físicas da HDRP",
          "default": "Lux / lúmen",
          "domain": "Relativa (sem unidade) | Lux / candela | Lux / lúmen",
          "limitation": "",
          "capability": "render.light.photometric",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Relativa é a intensidade da URP; lux, candela e lúmen são as unidades físicas da HDRP",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-unit"
        },
        {
          "id": "mode",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Geral",
          "unit": "",
          "help": "Tempo real ilumina a cada quadro; Misto assa só o rebote; Assado grava luz e rebote no lightmap",
          "default": "Tempo real",
          "domain": "Tempo real | Misto | Assado",
          "limitation": "Assado: direta e rebote no lightmap; Misto: só o rebote; o sol da Hora do dia fica sempre em tempo real",
          "capability": "render.light.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo real ilumina a cada quadro; Misto assa só o rebote; Assado grava luz e rebote no lightmap",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-mode"
        },
        {
          "id": "shadow_mode",
          "name": "Tipo de sombra",
          "kind": "enumeração",
          "group": "Sombra",
          "unit": "",
          "help": "Dura usa uma busca; suave filtra a borda. A política do aparelho pode desligar a sombra",
          "default": "Sem sombra",
          "domain": "Sem sombra | Sombra dura | Sombra suave",
          "limitation": "Atlas em quadtree: spot ocupa um mapa, pontual seis faces",
          "capability": "render.shadow.punctual",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Dura usa uma busca; suave filtra a borda. A política do aparelho pode desligar a sombra",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-shadow-mode"
        },
        {
          "id": "shadow_resolution",
          "name": "Resolução da sombra",
          "kind": "enumeração",
          "group": "Sombra",
          "unit": "",
          "help": "Automática escolhe pelo tamanho da luz na tela",
          "default": "Automática",
          "domain": "Automática | Baixa | Média | Alta | Muito alta",
          "limitation": "Atlas em quadtree: spot ocupa um mapa, pontual seis faces",
          "capability": "render.shadow.punctual",
          "invalidation": "seleção de luzes",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Automática escolhe pelo tamanho da luz na tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-shadow-resolution"
        },
        {
          "id": "culling_mask",
          "name": "Máscara de culling",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Camadas de objeto que esta luz ilumina",
          "default": "Tudo",
          "domain": "máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31",
          "limitation": "",
          "capability": "render.light.layers",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Camadas de objeto que esta luz ilumina",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-culling-mask"
        },
        {
          "id": "rendering_layers",
          "name": "Camadas de renderização",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Ilumina só renderers com uma camada de renderização em comum",
          "default": "Padrão",
          "domain": "máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7",
          "limitation": "",
          "capability": "render.light.layers",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ilumina só renderers com uma camada de renderização em comum",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light/#field-rendering-layers"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Crie por + › Luzes. Em Sombra escolha Sem sombra, Dura ou Suave, a Força e os desvios. Modo Assado entra no lightmap e sai do tempo real quando houver lightmap; Misto assa só o rebote. Máscara de culling e Camadas de renderização escolhem o que a luz ilumina.",
        "example": "Uma segunda direcional azulada, intensidade 0,3, sem sombra, ilumina o lado escuro das casas sem apagar o sol. Um poste com Modo Assado e sombra suave aparece no lightmap da praça e libera uma das luzes por objeto.",
        "next": "Presente na 0.4.0. Cookie e luz de Área não existem.",
        "purpose": "Luz direcional, pontual ou spot, como o Light da Unity: modo Tempo real, Misto ou Assado, sombra configurada na própria luz, máscara de culling e camadas de renderização.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Luz** / **Luzes** → **Luz**.",
        "extra": "A direcional mais brilhante (ou a Fonte do sol da Iluminação da cena) é o sol, com cascatas e disco no céu; as outras viram luzes adicionais sem sombra. Cada objeto soma até 8 luzes (4 no nível C). Ângulos do spot são a abertura total; a cor é sRGB.",
        "related": "[Céu, luz e materiais](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#céu-luz-e-materiais)"
      }
    },
    {
      "typeId": "astra.render.time_of_day",
      "name": "Hora do dia",
      "description": "Move o sol pela hora, data e latitude; dia, crepúsculo e noite",
      "family": "Luz",
      "subfamily": "Luzes",
      "api": "TimeOfDay",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_directionallight3d.html",
      "aliases": "TimeOfDay DayNight Ciclo dia noite Sol Lua Hora Sky",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.render.light",
          "message": "Adicione uma Luz direcional a este objeto: a hora do dia move o sol"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "hour",
          "name": "Hora",
          "kind": "número",
          "group": "Hora do dia",
          "unit": "h",
          "help": "Hora solar local; com Duração do dia, avança em Play",
          "default": "10",
          "domain": "0 … 24",
          "limitation": "Sol por hora, data e latitude, cor por elevação, céu procedural de dia, crepúsculo e noite e fase da lua pela data; sem luz direcional da lua nem eventos de nascer e pôr do sol",
          "capability": "render.environment.time_of_day",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Hora solar local; com Duração do dia, avança em Play",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-time-of-day/#field-hour"
        },
        {
          "id": "day_length_minutes",
          "name": "Duração do dia",
          "kind": "número",
          "group": "Hora do dia",
          "unit": "min",
          "help": "Minutos reais para 24 h de jogo; 0 congela a hora",
          "default": "0",
          "domain": "0 … 1440",
          "limitation": "Sol por hora, data e latitude, cor por elevação, céu procedural de dia, crepúsculo e noite e fase da lua pela data; sem luz direcional da lua nem eventos de nascer e pôr do sol",
          "capability": "render.environment.time_of_day",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Minutos reais para 24 h de jogo; 0 congela a hora",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-time-of-day/#field-day-length-minutes"
        },
        {
          "id": "latitude",
          "name": "Latitude",
          "kind": "número",
          "group": "Hora do dia",
          "unit": "°",
          "help": "Altura do sol ao meio-dia e duração da noite; negativo no hemisfério sul",
          "default": "-15",
          "domain": "-90 … 90",
          "limitation": "Sol por hora, data e latitude, cor por elevação, céu procedural de dia, crepúsculo e noite e fase da lua pela data; sem luz direcional da lua nem eventos de nascer e pôr do sol",
          "capability": "render.environment.time_of_day",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do sol ao meio-dia e duração da noite; negativo no hemisfério sul",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-time-of-day/#field-latitude"
        },
        {
          "id": "day_of_year",
          "name": "Dia do ano",
          "kind": "número",
          "group": "Hora do dia",
          "unit": "",
          "help": "Estação e fase da lua; 172 é o solstício de junho",
          "default": "172",
          "domain": "1 … 366",
          "limitation": "Sol por hora, data e latitude, cor por elevação, céu procedural de dia, crepúsculo e noite e fase da lua pela data; sem luz direcional da lua nem eventos de nascer e pôr do sol",
          "capability": "render.environment.time_of_day",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Estação e fase da lua; 172 é o solstício de junho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-time-of-day/#field-day-of-year"
        },
        {
          "id": "north_degrees",
          "name": "Norte",
          "kind": "número",
          "group": "Hora do dia",
          "unit": "°",
          "help": "Gira o caminho do sol em torno do eixo vertical",
          "default": "0",
          "domain": "0 … 360",
          "limitation": "Sol por hora, data e latitude, cor por elevação, céu procedural de dia, crepúsculo e noite e fase da lua pela data; sem luz direcional da lua nem eventos de nascer e pôr do sol",
          "capability": "render.environment.time_of_day",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gira o caminho do sol em torno do eixo vertical",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-time-of-day/#field-north-degrees"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Hora do dia",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente para de agir e conserva os dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-time-of-day/#field-enabled"
        },
        {
          "id": "moon_light",
          "name": "Lua",
          "kind": "referência",
          "group": "Hora do dia",
          "unit": "",
          "help": "Luz direcional girada até a lua desta hora; à noite ilumina com a fase e projeta a sombra",
          "default": "Nenhuma (noite sem luar)",
          "domain": "astra.render.light",
          "limitation": "Sol por hora, data e latitude, cor por elevação, céu procedural de dia, crepúsculo e noite e fase da lua pela data; sem luz direcional da lua nem eventos de nascer e pôr do sol",
          "capability": "render.environment.time_of_day",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Luz direcional girada até a lua desta hora; à noite ilumina com a fase e projeta a sombra",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-time-of-day/#field-moon-light"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [
        {
          "id": "hour_changed",
          "name": "Hora mudou",
          "help": "A hora inteira mudou: passou o tempo ou um script escreveu outra hora",
          "payload": [
            {
              "id": "hour",
              "name": "Hora",
              "kind": "inteiro",
              "unit": "h"
            }
          ]
        },
        {
          "id": "sunrise",
          "name": "Nascer do sol",
          "help": "O sol subiu acima do horizonte",
          "payload": []
        },
        {
          "id": "sunset",
          "name": "Pôr do sol",
          "help": "O sol desceu abaixo do horizonte",
          "payload": []
        },
        {
          "id": "day_changed",
          "name": "Dia mudou",
          "help": "A hora passou de 24 h; o Dia do ano avança um",
          "payload": [
            {
              "id": "day",
              "name": "Dia do ano",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Crie por + › Luzes › Sol com dia e noite (cria o Sol e a Lua já ligados) ou adicione a uma Luz direcional existente. Defina Hora, Latitude, Dia do ano e Norte. Duração do dia maior que zero faz a hora andar no Play. Em Lua, aponte outra Luz direcional para ela seguir a lua da mesma hora e data.",
        "example": "Com o Sol com dia e noite na Vila, ponha Hora 17,4: o horizonte fica avermelhado e as sombras compridas. Ponha 22: a Lua (0,5 lux, 12000 K) projeta a sombra e as estrelas giram com a hora. Para um dia de 24 minutos, Duração do dia 24. Para o ciclo inteiro ficar legível, troque o Volume para Exposição Automática.",
        "next": "Presente na 0.4.0. Eventos Hora mudou, Nascer do sol, Pôr do sol e Dia mudou na Conexão de evento e em C# (HourChanged, Sunrise, Sunset, DayChanged); Speed acelera o dia. Eclipses e refração atmosférica não existem.",
        "purpose": "Gira o objeto da luz direcional pela hora, data e latitude, como um script de ciclo de dia da Unity. O céu procedural, a luz ambiente e a neblina acompanham o ângulo do sol; à noite uma Lua opcional vira a luz principal.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Luz** / **Luzes** → **Hora do dia**.",
        "extra": "A rotação do transform muda de verdade e aparece no gizmo e no Inspector; quem escreve a rotação da luz por script disputa com a Hora do dia. Com duas direcionais, o céu usa a que tem Hora do dia. Fase da lua sai do dia do ano. No Play a hora avança no próprio componente; a hora escrita por script vale no quadro seguinte.",
        "related": "[Dia e noite e a Lua](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#céu-luz-e-materiais)"
      }
    },
    {
      "typeId": "astra.render.lighting_settings",
      "name": "Iluminação da cena",
      "description": "Fonte do sol: qual luz direcional é o sol da cena",
      "family": "Luz",
      "subfamily": "Luzes",
      "api": "LightingSettings",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/lighting-window.html",
      "aliases": "Lighting Settings Sun Source RenderSettings Iluminação Fonte do sol Sol principal",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "lightmap_resolution",
          "name": "Resolução do lightmap",
          "kind": "número",
          "group": "Lightmaps",
          "unit": "texels/m",
          "help": "Texels por metro de superfície (Lightmap Resolution; Unity: 40)",
          "default": "40",
          "domain": "0.1 … 400",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Texels por metro de superfície (Lightmap Resolution; Unity: 40)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-lightmap-resolution"
        },
        {
          "id": "lightmap_padding",
          "name": "Espaçamento do lightmap",
          "kind": "número",
          "group": "Lightmaps",
          "unit": "texels",
          "help": "Texels entre objetos na página (Lightmap Padding)",
          "default": "2",
          "domain": "0 … 16",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Texels entre objetos na página (Lightmap Padding)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-lightmap-padding"
        },
        {
          "id": "direct_samples",
          "name": "Amostras diretas",
          "kind": "número",
          "group": "Lightmaps",
          "unit": "",
          "help": "Raios de sombra por texel das luzes com raio de sombra (Direct Samples)",
          "default": "32",
          "domain": "1 … 4096",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raios de sombra por texel das luzes com raio de sombra (Direct Samples)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-direct-samples"
        },
        {
          "id": "indirect_samples",
          "name": "Amostras indiretas",
          "kind": "número",
          "group": "Lightmaps",
          "unit": "",
          "help": "Raios por texel em cada rebote (Indirect Samples)",
          "default": "512",
          "domain": "8 … 8192",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raios por texel em cada rebote (Indirect Samples)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-indirect-samples"
        },
        {
          "id": "environment_samples",
          "name": "Amostras do ambiente",
          "kind": "número",
          "group": "Lightmaps",
          "unit": "",
          "help": "Raios por texel para a visibilidade do céu (Environment Samples)",
          "default": "256",
          "domain": "8 … 8192",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raios por texel para a visibilidade do céu (Environment Samples)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-environment-samples"
        },
        {
          "id": "indirect_intensity",
          "name": "Intensidade indireta",
          "kind": "número",
          "group": "Lightmaps",
          "unit": "",
          "help": "Multiplica a luz indireta e o céu assados (Indirect Intensity)",
          "default": "1",
          "domain": "0 … 5",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a luz indireta e o céu assados (Indirect Intensity)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-indirect-intensity"
        },
        {
          "id": "albedo_boost",
          "name": "Reforço de albedo",
          "kind": "número",
          "group": "Lightmaps",
          "unit": "",
          "help": "Clareia a cor que rebate (Albedo Boost)",
          "default": "1",
          "domain": "1 … 10",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Clareia a cor que rebate (Albedo Boost)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-albedo-boost"
        },
        {
          "id": "baked_global_illumination",
          "name": "Iluminação global assada",
          "kind": "booleano",
          "group": "Lightmaps",
          "unit": "",
          "help": "Liga o Generate Lighting de lightmaps (Baked Global Illumination)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Liga o Generate Lighting de lightmaps (Baked Global Illumination)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-baked-global-illumination"
        },
        {
          "id": "denoise",
          "name": "Remover ruído",
          "kind": "booleano",
          "group": "Lightmaps",
          "unit": "",
          "help": "Filtro guiado por normal e posição depois do bake (Filtering)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Filtro guiado por normal e posição depois do bake (Filtering)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-denoise"
        },
        {
          "id": "compress_lightmaps",
          "name": "Comprimir lightmaps",
          "kind": "booleano",
          "group": "Lightmaps",
          "unit": "",
          "help": "8 bits por canal com faixa por página; desligado usa meia precisão (Compress Lightmaps)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "8 bits por canal com faixa por página; desligado usa meia precisão (Compress Lightmaps)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-compress-lightmaps"
        },
        {
          "id": "max_lightmap_size",
          "name": "Tamanho máximo do lightmap",
          "kind": "enumeração",
          "group": "Lightmaps",
          "unit": "px",
          "help": "Lado máximo de cada página (Max Lightmap Size)",
          "default": "1024",
          "domain": "256 | 512 | 1024 | 2048 | 4096",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lado máximo de cada página (Max Lightmap Size)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-max-lightmap-size"
        },
        {
          "id": "bounces",
          "name": "Rebotes",
          "kind": "enumeração",
          "group": "Lightmaps",
          "unit": "",
          "help": "Quantas vezes a luz rebate entre superfícies (Bounces)",
          "default": "2",
          "domain": "Nenhum | 1 | 2 | 3 | 4",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas vezes a luz rebate entre superfícies (Bounces)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-bounces"
        },
        {
          "id": "directional_mode",
          "name": "Modo direcional",
          "kind": "enumeração",
          "group": "Lightmaps",
          "unit": "",
          "help": "Não direcional guarda só a irradiância (Directional Mode › Non-Directional)",
          "default": "Não direcional",
          "domain": "Não direcional",
          "limitation": "Progressivo em CPU: direta das luzes assadas, 0–4 rebotes, emissivos e visibilidade do céu reescalada pela hora; só Não direcional",
          "capability": "render.gi.baked",
          "invalidation": "seleção de luzes, sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Não direcional guarda só a irradiância (Directional Mode › Non-Directional)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-directional-mode"
        },
        {
          "id": "sun_source",
          "name": "Fonte do sol",
          "kind": "referência",
          "group": "Ambiente",
          "unit": "",
          "help": "A luz direcional que é o sol da cena: projeta as cascatas e aparece no céu",
          "default": "Automática (a direcional mais brilhante)",
          "domain": "astra.render.light",
          "limitation": "",
          "capability": "render.light.sun_source",
          "invalidation": "seleção de luzes",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A luz direcional que é o sol da cena: projeta as cascatas e aparece no céu",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-lighting-settings/#field-sun-source"
        }
      ],
      "resources": [
        {
          "id": "lighting_data",
          "name": "Dados de iluminação",
          "kind": "lightmap",
          "group": "Lightmaps",
          "help": "Escrito pelo Gerar iluminação; Limpar desvincula",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Crie por + › Luzes › Iluminação da cena, ou toque Gerar iluminação em ☰ › Iluminação › Lightmaps: sem o componente, ele nasce na raiz da cena com os padrões da Unity, num passo de desfazer. Fonte do sol vazia usa a direcional mais brilhante (com a Hora do dia na frente). Marque os objetos como Static, confira o contador Sem UV2 e toque Gerar iluminação.",
        "example": "Na Sponza, marque as luzes pontuais com Modo Assado, mantenha Resolução 40 texels/m, Rebotes 2 e Remover ruído ligado e gere. No POCO F7 o bake levou 156 s em segundo plano e a GPU do quadro caiu de 18,58 para 13,18 ms com 8 luzes. Use o modo de visão Lightmap assado para ver só o que foi guardado.",
        "next": "Presente na 0.4.0. Modo direcional fica Não direcional. Lightmap com mapa de sombra (Shadowmask), Adaptive Probe Volumes e bake na nuvem não existem.",
        "purpose": "Configurações de iluminação da cena: qual direcional é o sol e como o lightmap é assado. Equivale às Lighting Settings da janela Lighting da Unity 6.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Luz** / **Luzes** → **Iluminação da cena**.",
        "extra": "Dados de iluminação é escrito pelo Gerar iluminação e só sai pelo Limpar. Amostras diretas, indiretas e do ambiente trocam qualidade por tempo de bake. O sol e a lua da Hora do dia nunca são assados; o céu de cada hora reescala o lightmap. As sondas de luz da cena são assadas no mesmo passo.",
        "related": "[Gerar iluminação](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#sondas-e-luz-assada)"
      }
    },
    {
      "typeId": "astra.render.reflection_probe",
      "name": "Sonda de reflexo",
      "description": "Captura a cena num cubemap: metal e vidro refletem o cômodo em vez do céu",
      "family": "Luz",
      "subfamily": "Sondas",
      "api": "ReflectionProbe",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-ReflectionProbe.html",
      "aliases": "Reflection Probe ReflectionProbe Cubemap Box Projection Reflexo Sonda Espelho",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "importance",
          "name": "Importância",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "",
          "help": "Entre sondas sobrepostas, o objeto mistura as duas de maior importância",
          "default": "1",
          "domain": "0 … 32767",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Entre sondas sobrepostas, o objeto mistura as duas de maior importância",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-importance"
        },
        {
          "id": "intensity",
          "name": "Intensidade",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "",
          "help": "Multiplica o reflexo desta sonda nos materiais",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica o reflexo desta sonda nos materiais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-intensity"
        },
        {
          "id": "blend_distance",
          "name": "Distância de mistura",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "m",
          "help": "Faixa dentro da caixa em que o reflexo passa desta sonda para a vizinha ou para o céu",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Faixa dentro da caixa em que o reflexo passa desta sonda para a vizinha ou para o céu",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-blend-distance"
        },
        {
          "id": "box_size.x",
          "name": "Tamanho X",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "m",
          "help": "",
          "default": "10",
          "domain": "0.01 … 10000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho da caixa de influência no eixo X, em metros. Com Projeção na caixa, deve coincidir com as paredes.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-box-size-x"
        },
        {
          "id": "box_size.y",
          "name": "Tamanho Y",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "m",
          "help": "",
          "default": "10",
          "domain": "0.01 … 10000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho da caixa de influência no eixo Y, em metros. Com Projeção na caixa, deve coincidir com as paredes.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-box-size-y"
        },
        {
          "id": "box_size.z",
          "name": "Tamanho Z",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "m",
          "help": "",
          "default": "10",
          "domain": "0.01 … 10000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho da caixa de influência no eixo Z, em metros. Com Projeção na caixa, deve coincidir com as paredes.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-box-size-z"
        },
        {
          "id": "box_offset.x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento da caixa em relação ao objeto no eixo X; a captura continua na posição do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-box-offset-x"
        },
        {
          "id": "box_offset.y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento da caixa em relação ao objeto no eixo Y; a captura continua na posição do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-box-offset-y"
        },
        {
          "id": "box_offset.z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Tempo de execução",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento da caixa em relação ao objeto no eixo Z; a captura continua na posição do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-box-offset-z"
        },
        {
          "id": "background.r",
          "name": "Fundo R",
          "kind": "número",
          "group": "Captura",
          "unit": "",
          "help": "",
          "default": "0.192",
          "domain": "0 … 1",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal vermelho da cor de fundo da captura quando Fundo = Cor sólida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-background-r"
        },
        {
          "id": "background.g",
          "name": "Fundo G",
          "kind": "número",
          "group": "Captura",
          "unit": "",
          "help": "",
          "default": "0.302",
          "domain": "0 … 1",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal verde da cor de fundo da captura quando Fundo = Cor sólida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-background-g"
        },
        {
          "id": "background.b",
          "name": "Fundo B",
          "kind": "número",
          "group": "Captura",
          "unit": "",
          "help": "",
          "default": "0.475",
          "domain": "0 … 1",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Canal azul da cor de fundo da captura quando Fundo = Cor sólida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-background-b"
        },
        {
          "id": "near_clip",
          "name": "Plano próximo",
          "kind": "número",
          "group": "Captura",
          "unit": "m",
          "help": "Nada mais perto da sonda que isto entra no reflexo",
          "default": "0.3",
          "domain": "0.01 … 1000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Nada mais perto da sonda que isto entra no reflexo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-near-clip"
        },
        {
          "id": "far_clip",
          "name": "Plano distante",
          "kind": "número",
          "group": "Captura",
          "unit": "m",
          "help": "Nada mais longe que isto entra no reflexo; além dele aparece o fundo",
          "default": "1000",
          "domain": "0.1 … 100000",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Nada mais longe que isto entra no reflexo; além dele aparece o fundo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-far-clip"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Tempo de execução",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente para de agir e conserva os dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-enabled"
        },
        {
          "id": "box_projection",
          "name": "Projeção na caixa",
          "kind": "booleano",
          "group": "Tempo de execução",
          "unit": "",
          "help": "Paredes a distância finita: o reflexo muda com a posição na sala, em vez de ficar no infinito",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Paredes a distância finita: o reflexo muda com a posição na sala, em vez de ficar no infinito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-box-projection"
        },
        {
          "id": "hdr",
          "name": "HDR",
          "kind": "booleano",
          "group": "Captura",
          "unit": "",
          "help": "Guarda brilho acima de 1 (sol, lâmpadas); desligado, a captura é cortada em 0..1 e o recurso ocupa metade",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Guarda brilho acima de 1 (sol, lâmpadas); desligado, a captura é cortada em 0..1 e o recurso ocupa metade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-hdr"
        },
        {
          "id": "type",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "Geral",
          "unit": "",
          "help": "Assada é capturada no editor e guardada no projeto; Tempo real recaptura no aparelho",
          "default": "Assada",
          "domain": "Assada | Tempo real",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Assada é capturada no editor e guardada no projeto; Tempo real recaptura no aparelho",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-type"
        },
        {
          "id": "refresh_mode",
          "name": "Atualização",
          "kind": "enumeração",
          "group": "Tempo real",
          "unit": "",
          "help": "Ao acordar captura uma vez no início do Play; Todo quadro recaptura sem parar; Por script espera RenderProbe()",
          "default": "Ao acordar",
          "domain": "Ao acordar | Todo quadro | Por script",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ao acordar captura uma vez no início do Play; Todo quadro recaptura sem parar; Por script espera RenderProbe()",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-refresh-mode"
        },
        {
          "id": "time_slicing",
          "name": "Fatiamento no tempo",
          "kind": "enumeração",
          "group": "Tempo real",
          "unit": "",
          "help": "Espalha a captura e o filtro por vários quadros para não pesar num quadro só",
          "default": "Todas as faces de uma vez",
          "domain": "Todas as faces de uma vez | Uma face por quadro | Sem fatiamento",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espalha a captura e o filtro por vários quadros para não pesar num quadro só",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-time-slicing"
        },
        {
          "id": "resolution",
          "name": "Resolução",
          "kind": "enumeração",
          "group": "Captura",
          "unit": "px",
          "help": "Lado de cada face capturada; mais nitidez em metal liso, mais custo de captura",
          "default": "128",
          "domain": "16 | 32 | 64 | 128 | 256",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lado de cada face capturada; mais nitidez em metal liso, mais custo de captura",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-resolution"
        },
        {
          "id": "clear_flags",
          "name": "Fundo",
          "kind": "enumeração",
          "group": "Captura",
          "unit": "",
          "help": "O que aparece onde não há objeto: o céu da cena ou uma cor",
          "default": "Céu",
          "domain": "Céu | Cor sólida",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O que aparece onde não há objeto: o céu da cena ou uma cor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-clear-flags"
        },
        {
          "id": "culling_mask",
          "name": "Máscara de culling",
          "kind": "enumeração",
          "group": "Captura",
          "unit": "",
          "help": "Só objetos destas camadas entram no reflexo",
          "default": "Tudo",
          "domain": "máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31",
          "limitation": "8 sondas por quadro, 256 px por face; sem tipo Custom, Shadow Distance nem oclusão própria da captura",
          "capability": "render.probe.reflection",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Só objetos destas camadas entram no reflexo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-reflection-probe/#field-culling-mask"
        }
      ],
      "resources": [
        {
          "id": "baked_texture",
          "name": "Cubemap assado",
          "kind": "reflection_probe",
          "group": "Captura",
          "help": "Escrito pelo Assar; Tempo real não usa",
          "inheritable": false
        }
      ],
      "methods": [
        {
          "id": "render_probe",
          "name": "Capturar agora",
          "help": "Recaptura a sonda de tempo real no próximo quadro (RenderProbe da Unity)",
          "result": "nada",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Crie por + › Luzes › Sonda de reflexo. Ajuste Tamanho e Deslocamento da caixa pelas alças até as paredes, ligue Projeção na caixa num interior e toque Assar: o cubemap vai para Iluminação/<nome>.aeprobe. Em Tempo real, escolha Atualização (Ao acordar, Todo quadro ou Por script) e o Fatiamento no tempo.",
        "example": "Numa sala de 10×4×10 m com um piso metálico, ponha a sonda no centro, caixa 10/4/10, Projeção na caixa ligada, Resolução 128 e Asse. A esfera de metal reflete as paredes alinhadas. Uma segunda sonda no corredor com Distância de mistura 1 faz a transição entre as duas.",
        "next": "Presente na 0.4.0. Sonda Custom, Anchor Override e reflexos em espaço de tela não existem.",
        "purpose": "Captura o cômodo num cubemap para metal e vidro refletirem a sala certa em vez do céu. Assada (uma vez, só objetos Static) ou em tempo real.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Luz** / **Sondas** → **Sonda de reflexo**.",
        "extra": "Cada objeto mistura as duas sondas de maior Importância que contêm o centro dele (empate: a menor caixa) e cai no reflexo do céu fora delas. Fundo, Máscara de culling e Planos próximo/distante valem para a captura. Por script, RenderProbe() recaptura; o fim da recaptura ainda não é notificado. Custo no POCO F7 com 111 desenhos refletindo: cerca de +0,6 ms de GPU.",
        "related": "[Sondas](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#sondas-e-luz-assada)"
      }
    },
    {
      "typeId": "astra.render.light_probe_group",
      "name": "Grupo de sondas de luz",
      "description": "Pontos que guardam a luz da cena para iluminar objetos que se movem",
      "family": "Luz",
      "subfamily": "Sondas",
      "api": "LightProbeGroup",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-LightProbeGroup.html",
      "aliases": "Light Probe Group LightProbeGroup Light Probes SH Irradiância Sonda Luz indireta",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Sondas",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Bake por captura no aparelho: sol, céu e um rebate; luzes de tempo real não entram no SH, como na Unity. Sem Anchor Override nem LPPV",
          "capability": "render.probe.irradiance",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente para de agir e conserva os dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light-probe-group/#field-enabled"
        },
        {
          "id": "remove_ringing",
          "name": "Remover anéis",
          "kind": "booleano",
          "group": "Sondas",
          "unit": "",
          "help": "Tira os halos escuros atrás de uma luz forte; a luz das sondas fica mais suave",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Bake por captura no aparelho: sol, céu e um rebate; luzes de tempo real não entram no SH, como na Unity. Sem Anchor Override nem LPPV",
          "capability": "render.probe.irradiance",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tira os halos escuros atrás de uma luz forte; a luz das sondas fica mais suave",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light-probe-group/#field-remove-ringing"
        },
        {
          "id": "show_wireframe",
          "name": "Mostrar arestas",
          "kind": "booleano",
          "group": "Sondas",
          "unit": "",
          "help": "Desenha no viewport os tetraedros que ligam as sondas",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Bake por captura no aparelho: sol, céu e um rebate; luzes de tempo real não entram no SH, como na Unity. Sem Anchor Override nem LPPV",
          "capability": "render.probe.irradiance",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desenha no viewport os tetraedros que ligam as sondas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light-probe-group/#field-show-wireframe"
        },
        {
          "id": "probe_position_x",
          "name": "Posição X",
          "kind": "número",
          "group": "Sonda selecionada",
          "unit": "m",
          "help": "",
          "default": "-0.5",
          "domain": "-100000 … 100000",
          "limitation": "Bake por captura no aparelho: sol, céu e um rebate; luzes de tempo real não entram no SH, como na Unity. Sem Anchor Override nem LPPV",
          "capability": "render.probe.irradiance",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 8,
          "usage": "Posição da sonda selecionada no eixo X, no espaço do objeto. Escolha a sonda em Editar sondas ou tocando no viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light-probe-group/#field-probe-position-x"
        },
        {
          "id": "probe_position_y",
          "name": "Posição Y",
          "kind": "número",
          "group": "Sonda selecionada",
          "unit": "m",
          "help": "",
          "default": "-0.5",
          "domain": "-100000 … 100000",
          "limitation": "Bake por captura no aparelho: sol, céu e um rebate; luzes de tempo real não entram no SH, como na Unity. Sem Anchor Override nem LPPV",
          "capability": "render.probe.irradiance",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 8,
          "usage": "Posição da sonda selecionada no eixo Y, no espaço do objeto. Escolha a sonda em Editar sondas ou tocando no viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light-probe-group/#field-probe-position-y"
        },
        {
          "id": "probe_position_z",
          "name": "Posição Z",
          "kind": "número",
          "group": "Sonda selecionada",
          "unit": "m",
          "help": "",
          "default": "-0.5",
          "domain": "-100000 … 100000",
          "limitation": "Bake por captura no aparelho: sol, céu e um rebate; luzes de tempo real não entram no SH, como na Unity. Sem Anchor Override nem LPPV",
          "capability": "render.probe.irradiance",
          "invalidation": "sondas",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 8,
          "usage": "Posição da sonda selecionada no eixo Z, no espaço do objeto. Escolha a sonda em Editar sondas ou tocando no viewport.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-render-light-probe-group/#field-probe-position-z"
        }
      ],
      "resources": [
        {
          "id": "baked_data",
          "name": "Sondas assadas",
          "kind": "light_probes",
          "group": "Sondas",
          "help": "Escrito pelo Assar sondas",
          "inheritable": false
        }
      ],
      "methods": [
        {
          "id": "probe_count",
          "name": "Quantidade de sondas",
          "help": "Quantos pontos o grupo tem (probePositions.Length da Unity)",
          "result": "inteiro",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Renderização e materiais",
        "route": "roadmap/renderizacao-e-materiais",
        "use": "Crie por + › Luzes › Grupo de sondas de luz (8 sondas num cubo). Em Editar sondas use anterior/próxima, Adicionar, Duplicar e Apagar, ou toque a sonda no viewport e arraste as alças. Assar sondas (ou Gerar iluminação, que assa junto com o lightmap) grava Iluminação/<grupo>.aelightprobes.",
        "example": "Espalhe sondas a 1,5 m do chão nos dois lados de uma porta entre um pátio ao sol e um interior escuro, com uma fileira na soleira. Asse. Um personagem andando de fora para dentro escurece aos poucos, sem salto. Mostrar arestas desenha os tetraedros: evite tetraedros finos e compridos.",
        "next": "Presente na 0.4.0. Light Probe Proxy Volume e posicionamento automático não existem.",
        "purpose": "Pontos que guardam a luz da cena (harmônicos esféricos L2) para iluminar o que se move e o que não tem lightmap.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Luz** / **Sondas** → **Grupo de sondas de luz**.",
        "extra": "Como na Unity, objetos Static com lightmap não usam as sondas; no Mesh Renderer, Sondas de luz = Misturar sondas liga cada objeto. Remover anéis tira os lóbulos negativos atrás de luz forte. A posição dos campos Posição X/Y/Z é a da sonda selecionada.",
        "related": "[Sondas](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#sondas-e-luz-assada)"
      }
    },
    {
      "typeId": "astra.camera",
      "name": "Câmera",
      "description": "Projeção e enquadramento",
      "family": "Câmera",
      "subfamily": "Projeção",
      "api": "Camera",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-Camera.html",
      "aliases": "Camera Camera3D Perspectiva Ortografica",
      "schemaVersion": 5,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "vertical_fov",
          "name": "Campo vertical",
          "kind": "número",
          "group": "Lente",
          "unit": "°",
          "help": "",
          "default": "60",
          "domain": "1 … 170",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Campo de visão vertical da perspectiva, em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-vertical-fov"
        },
        {
          "id": "near_plane",
          "name": "Próximo",
          "kind": "número",
          "group": "Lente",
          "unit": "m",
          "help": "",
          "default": "0.1",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Plano de corte próximo; valor exageradamente baixo reduz precisão de depth.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-near-plane"
        },
        {
          "id": "far_plane",
          "name": "Distante",
          "kind": "número",
          "group": "Lente",
          "unit": "m",
          "help": "",
          "default": "2000",
          "domain": "0.01 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Plano de corte distante; objetos além ficam cortados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-far-plane"
        },
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Renderização",
          "unit": "",
          "help": "Ordem de desenho (Depth): a maior fica por cima; empate pelo objeto mais novo",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA",
          "capability": "render.camera.viewport",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ordem de desenho (Depth): a maior fica por cima; empate pelo objeto mais novo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-priority"
        },
        {
          "id": "orthographic_half_height",
          "name": "Meia altura",
          "kind": "número",
          "group": "Lente",
          "unit": "m",
          "help": "Metade da altura visível. Zoom altera esta extensão.",
          "default": "5",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Metade da altura visível. Zoom altera esta extensão.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-orthographic-half-height"
        },
        {
          "id": "focal_length",
          "name": "Distância focal",
          "kind": "número",
          "group": "Lente",
          "unit": "mm",
          "help": "Com o sensor, define o campo de visão (Physical Camera)",
          "default": "20.784609",
          "domain": "0.1 … 1000",
          "limitation": "Sem deslocamento de lente, abertura, ISO ou obturador",
          "capability": "render.camera.physical",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Com o sensor, define o campo de visão (Physical Camera)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-focal-length"
        },
        {
          "id": "sensor_width",
          "name": "Sensor · largura",
          "kind": "número",
          "group": "Lente",
          "unit": "mm",
          "help": "Padrão 36 × 24 mm (full frame)",
          "default": "36",
          "domain": "0.1 … 100",
          "limitation": "Sem deslocamento de lente, abertura, ISO ou obturador",
          "capability": "render.camera.physical",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Padrão 36 × 24 mm (full frame)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-sensor-width"
        },
        {
          "id": "sensor_height",
          "name": "Sensor · altura",
          "kind": "número",
          "group": "Lente",
          "unit": "mm",
          "help": "",
          "default": "24",
          "domain": "0.1 … 100",
          "limitation": "Sem deslocamento de lente, abertura, ISO ou obturador",
          "capability": "render.camera.physical",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do sensor da câmera física, em mm (Full Frame: 24). Com a focal, define o campo vertical.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-sensor-height"
        },
        {
          "id": "viewport_x",
          "name": "Viewport X",
          "kind": "número",
          "group": "Saída",
          "unit": "",
          "help": "Fração da tela a partir da esquerda",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA",
          "capability": "render.camera.viewport",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Fração da tela a partir da esquerda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-viewport-x"
        },
        {
          "id": "viewport_y",
          "name": "Viewport Y",
          "kind": "número",
          "group": "Saída",
          "unit": "",
          "help": "Fração da tela a partir de baixo",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA",
          "capability": "render.camera.viewport",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Fração da tela a partir de baixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-viewport-y"
        },
        {
          "id": "viewport_width",
          "name": "Viewport L",
          "kind": "número",
          "group": "Saída",
          "unit": "",
          "help": "Largura em fração da tela",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA",
          "capability": "render.camera.viewport",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Largura em fração da tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-viewport-width"
        },
        {
          "id": "viewport_height",
          "name": "Viewport A",
          "kind": "número",
          "group": "Saída",
          "unit": "",
          "help": "Altura em fração da tela",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA",
          "capability": "render.camera.viewport",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Altura em fração da tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-viewport-height"
        },
        {
          "id": "background_color.r",
          "name": "Fundo R",
          "kind": "número",
          "group": "Ambiente",
          "unit": "",
          "help": "",
          "default": "0.0307",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.camera.background",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Canal vermelho da cor de fundo quando Fundo = Cor sólida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-background-color-r"
        },
        {
          "id": "background_color.g",
          "name": "Fundo G",
          "kind": "número",
          "group": "Ambiente",
          "unit": "",
          "help": "",
          "default": "0.0742",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.camera.background",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Canal verde da cor de fundo quando Fundo = Cor sólida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-background-color-g"
        },
        {
          "id": "background_color.b",
          "name": "Fundo B",
          "kind": "número",
          "group": "Ambiente",
          "unit": "",
          "help": "",
          "default": "0.1912",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "render.camera.background",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Canal azul da cor de fundo quando Fundo = Cor sólida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-background-color-b"
        },
        {
          "id": "enabled",
          "name": "Usar no Play",
          "kind": "booleano",
          "group": "Saída",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-enabled"
        },
        {
          "id": "physical_camera",
          "name": "Câmera física",
          "kind": "booleano",
          "group": "Lente",
          "unit": "",
          "help": "Lente por distância focal e sensor, como uma câmera real",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Sem deslocamento de lente, abertura, ISO ou obturador",
          "capability": "render.camera.physical",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lente por distância focal e sensor, como uma câmera real",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-physical-camera"
        },
        {
          "id": "post_processing",
          "name": "Pós-processamento",
          "kind": "booleano",
          "group": "Renderização",
          "unit": "",
          "help": "Bloom, gradação, vinheta e exposição automática dos volumes",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "TAA por câmera só quando o projeto já aloca o histórico",
          "capability": "render.camera.post",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bloom, gradação, vinheta e exposição automática dos volumes",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-post-processing"
        },
        {
          "id": "render_shadows",
          "name": "Renderizar sombras",
          "kind": "booleano",
          "group": "Renderização",
          "unit": "",
          "help": "Sombras do sol e das luzes locais nesta câmera",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "TAA por câmera só quando o projeto já aloca o histórico",
          "capability": "render.camera.post",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sombras do sol e das luzes locais nesta câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-render-shadows"
        },
        {
          "id": "hdr",
          "name": "HDR",
          "kind": "booleano",
          "group": "Saída",
          "unit": "",
          "help": "Desligado, a cena é tonalizada no próprio shader e nada passa de 1 antes do pós",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "TAA por câmera só quando o projeto já aloca o histórico",
          "capability": "render.camera.post",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, a cena é tonalizada no próprio shader e nada passa de 1 antes do pós",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-hdr"
        },
        {
          "id": "projection",
          "name": "Projeção",
          "kind": "enumeração",
          "group": "Lente",
          "unit": "",
          "help": "",
          "default": "Perspectiva",
          "domain": "Perspectiva | Ortográfica",
          "limitation": "",
          "capability": "",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona perspectiva ou ortográfica.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-projection"
        },
        {
          "id": "environment_mask",
          "name": "Máscara de volume",
          "kind": "enumeração",
          "group": "Ambiente",
          "unit": "",
          "help": "Volume Mask: só volumes em objetos destas camadas afetam esta câmera",
          "default": "Tudo",
          "domain": "máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31",
          "limitation": "Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma",
          "capability": "render.environment.volumes",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Volume Mask: só volumes em objetos destas camadas afetam esta câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-environment-mask"
        },
        {
          "id": "background_type",
          "name": "Fundo",
          "kind": "enumeração",
          "group": "Ambiente",
          "unit": "",
          "help": "O que preenche a tela antes da cena (Background Type)",
          "default": "Céu (Skybox)",
          "domain": "Céu (Skybox) | Cor sólida | Não inicializado",
          "limitation": "",
          "capability": "render.camera.background",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O que preenche a tela antes da cena (Background Type)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-background-type"
        },
        {
          "id": "culling_mask",
          "name": "Camadas visíveis",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Culling Mask: só objetos destas camadas aparecem nesta câmera",
          "default": "Tudo",
          "domain": "máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31",
          "limitation": "Esconde o desenho e a sombra do objeto nesta câmera; luzes ainda não filtram por camada",
          "capability": "render.camera.culling_mask",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Culling Mask: só objetos destas camadas aparecem nesta câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-culling-mask"
        },
        {
          "id": "antialiasing",
          "name": "Antisserrilhado",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Do projeto usa a política de qualidade; TAA só quando o projeto já usa TAA",
          "default": "Do projeto",
          "domain": "Do projeto | Nenhum | FXAA",
          "limitation": "TAA por câmera só quando o projeto já aloca o histórico",
          "capability": "render.camera.post",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Do projeto usa a política de qualidade; TAA só quando o projeto já usa TAA",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-antialiasing"
        },
        {
          "id": "gate_fit",
          "name": "Ajuste do sensor",
          "kind": "enumeração",
          "group": "Lente",
          "unit": "",
          "help": "Como o sensor encaixa na proporção da tela (Gate Fit)",
          "default": "Horizontal",
          "domain": "Vertical | Horizontal | Preencher | Sobrevarredura | Nenhum (esticar)",
          "limitation": "Sem deslocamento de lente, abertura, ISO ou obturador",
          "capability": "render.camera.physical",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Como o sensor encaixa na proporção da tela (Gate Fit)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera/#field-gate-fit"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Selecione a câmera › Inspector: Lente, Renderização, Ambiente e Saída. A tag MainCamera marca a câmera do jogo (Camera.main). Para tela dividida, duas câmeras com Viewport diferentes e Prioridades distintas.",
        "example": "Câmera física: ligue, Distância focal 85 mm, sensor 36×24 mm, Ajuste Vertical: o campo de visão sai da focal. Fundo Cor sólida preta e Culling Mask sem a camada Casas mostram só os personagens.",
        "next": "Presente na 0.4.0. Camera Stack (Overlay), Target Texture, MSAA e deslocamento de lente não existem.",
        "purpose": "Câmera como a da URP: lente (inclusive câmera física), fundo, Culling Mask, pós, sombras, HDR, antisserrilhado por câmera, Máscara de volume e Viewport Rect para tela dividida.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Câmera** / **Projeção** → **Câmera**.",
        "extra": "Várias câmeras desenham da menor para a maior prioridade; uma de tela inteira que limpa o fundo esconde as de baixo. Até duas visíveis ao mesmo tempo, e a de cima sai sem sombras e sem TAA.",
        "related": "[Céu, luz e materiais](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#céu-luz-e-materiais)"
      }
    },
    {
      "typeId": "astra.camera.look",
      "name": "Olhar",
      "description": "Rotação local da câmera por entrada ou script",
      "family": "Câmera",
      "subfamily": "Controle",
      "api": "CameraLook",
      "reference": "https://docs.unity3d.com/Packages/com.unity.cinemachine@3.1/manual/CinemachinePanTilt.html",
      "aliases": "MouseLook CameraController PanTilt InputAxisController",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.camera",
          "message": "Adicione Câmera a este objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "yaw_sensitivity",
          "name": "Sensibilidade horizontal graus/tela",
          "kind": "número",
          "group": "Sensibilidade",
          "unit": "°",
          "help": "",
          "default": "300",
          "domain": "0 … 720",
          "limitation": "",
          "capability": "",
          "invalidation": "entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ganho horizontal do olhar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-look/#field-yaw-sensitivity"
        },
        {
          "id": "pitch_sensitivity",
          "name": "Sensibilidade vertical graus/tela",
          "kind": "número",
          "group": "Sensibilidade",
          "unit": "°",
          "help": "",
          "default": "195",
          "domain": "0 … 720",
          "limitation": "",
          "capability": "",
          "invalidation": "entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ganho vertical do olhar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-look/#field-pitch-sensitivity"
        },
        {
          "id": "pitch_limit",
          "name": "Limite vertical graus",
          "kind": "número",
          "group": "Limites",
          "unit": "°",
          "help": "",
          "default": "83",
          "domain": "1 … 89",
          "limitation": "",
          "capability": "",
          "invalidation": "entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limita inclinação vertical da câmera.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-look/#field-pitch-limit"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Controle",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-look/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Crie uma câmera ativa; escolha projeção e planos. Olhar recebe entrada e Acompanhar alvo recebe uma referência. Não use a pose da câmera como fonte implícita de física do jogador.",
        "example": "Atribua um alvo a Acompanhar alvo e mova-o. Compare Damping 0 com um tempo maior. Teste perspectiva/ortográfica com a mesma malha enquadrada.",
        "next": "Consolidar composição de rigs, apresentação e aceite de input/viewports. Pareamento geral de jogadores/câmeras pertence também ao roadmap UI R4/R9; não há data por método.",
        "purpose": "Rotação local da câmera por entrada ou script",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Câmera** / **Controle** → **Olhar**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.camera.follow",
      "name": "Acompanhar alvo",
      "description": "Posiciona a câmera após física e animação",
      "family": "Câmera",
      "subfamily": "Controle",
      "api": "CameraFollow",
      "reference": "https://docs.unity3d.com/Packages/com.unity.cinemachine@3.1/manual/CinemachineFollow.html",
      "aliases": "Follow Camera Tracking Damping CinemachineFollow",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.camera",
          "message": "Adicione Câmera a este objeto"
        }
      ],
      "conflicts": [
        {
          "typeId": "astra.physics.body",
          "message": "A câmera seguidora não pode receber pose do corpo físico"
        },
        {
          "typeId": "astra.physics.character",
          "message": "A câmera seguidora não pode receber pose do personagem"
        }
      ],
      "properties": [
        {
          "id": "offset_x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Posição",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Posição",
          "unit": "m",
          "help": "",
          "default": "2",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Posição",
          "unit": "m",
          "help": "",
          "default": "-5",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-offset-z"
        },
        {
          "id": "damping_seconds",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Resposta",
          "unit": "s",
          "help": "",
          "default": "0.2",
          "domain": "0 … 30",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo de suavização da aproximação da câmera ao alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-damping-seconds"
        },
        {
          "id": "pivot_height",
          "name": "Altura do pivô",
          "kind": "número",
          "group": "Órbita",
          "unit": "m",
          "help": "Altura em mundo do ponto observado no alvo; usada somente em órbita",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura vertical em metros do pivô da órbita do seguidor. Zero mantém o alvo sem deslocamento vertical.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-pivot-height"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Resposta",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-enabled"
        },
        {
          "id": "orbit",
          "name": "Orbitar alvo",
          "kind": "booleano",
          "group": "Órbita",
          "unit": "",
          "help": "Gira o deslocamento pela orientação da câmera; CameraLook controla a órbita",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Habilita modo orbital de Camera Follow; desligado conserva seguimento por deslocamento em mundo. Não adiciona consulta de colisão.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-orbit"
        },
        {
          "id": "target",
          "name": "Alvo",
          "kind": "referência",
          "group": "Posição",
          "unit": "",
          "help": "",
          "default": "Escolher objeto",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-follow/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Crie uma câmera ativa; escolha projeção e planos. Olhar recebe entrada e Acompanhar alvo recebe uma referência. Não use a pose da câmera como fonte implícita de física do jogador.",
        "example": "Atribua um alvo a Acompanhar alvo e mova-o. Compare Damping 0 com um tempo maior. Teste perspectiva/ortográfica com a mesma malha enquadrada.",
        "next": "Consolidar composição de rigs, apresentação e aceite de input/viewports. Pareamento geral de jogadores/câmeras pertence também ao roadmap UI R4/R9; não há data por método.",
        "purpose": "Posiciona a câmera após física e animação",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Câmera** / **Controle** → **Acompanhar alvo**.",
        "extra": "Órbita e Altura do pivô pertencem ao payload 2. Órbita desligada mantém deslocamento em mundo; payload 1 migra com órbita desligada e pivô zero. Este seguidor não consulta colisão: use Câmera virtual com Evitar obstáculos ou Braço de mola para retração.",
        "related": "[Câmera do laboratório](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/#terceira-pessoa-no-laboratório)"
      }
    },
    {
      "typeId": "astra.camera.virtual",
      "name": "Câmera virtual",
      "description": "Pose e lente por prioridade: seguir, órbita, mira, desoclusão e tremor",
      "family": "Câmera",
      "subfamily": "Câmera virtual",
      "api": "VirtualCamera",
      "reference": "https://docs.unity3d.com/Packages/com.unity.cinemachine@3.1/manual/CinemachineCamera.html",
      "aliases": "Cinemachine CinemachineCamera VirtualCamera Camera3D Orbit Orbital Follow LookAt Deoccluder Noise Shake Tremor Prioridade",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.physics.body",
          "message": "A câmera virtual não pode receber pose do corpo físico"
        },
        {
          "typeId": "astra.physics.character",
          "message": "A câmera virtual não pode receber pose do personagem"
        }
      ],
      "properties": [
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Geral",
          "unit": "",
          "help": "A maior entre as câmeras virtuais ativas fica ao vivo; no empate vence a ativada por último",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A maior entre as câmeras virtuais ativas fica ao vivo; no empate vence a ativada por último",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-priority"
        },
        {
          "id": "vertical_fov",
          "name": "Campo vertical",
          "kind": "número",
          "group": "Lente",
          "unit": "°",
          "help": "Usado quando a Câmera do Cérebro é perspectiva",
          "default": "60",
          "domain": "1 … 170",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Usado quando a Câmera do Cérebro é perspectiva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-vertical-fov"
        },
        {
          "id": "orthographic_half_height",
          "name": "Meia altura",
          "kind": "número",
          "group": "Lente",
          "unit": "m",
          "help": "Usado quando a Câmera do Cérebro é ortográfica",
          "default": "5",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Usado quando a Câmera do Cérebro é ortográfica",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orthographic-half-height"
        },
        {
          "id": "near_plane",
          "name": "Próximo",
          "kind": "número",
          "group": "Lente",
          "unit": "m",
          "help": "",
          "default": "0.1",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Plano de corte próximo; valor exageradamente baixo reduz precisão de depth.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-near-plane"
        },
        {
          "id": "far_plane",
          "name": "Distante",
          "kind": "número",
          "group": "Lente",
          "unit": "m",
          "help": "",
          "default": "2000",
          "domain": "0.01 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Plano de corte distante; objetos além ficam cortados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-far-plane"
        },
        {
          "id": "dutch",
          "name": "Inclinação holandesa",
          "kind": "número",
          "group": "Lente",
          "unit": "°",
          "help": "Giro em torno da direção de visão",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Giro em torno da direção de visão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-dutch"
        },
        {
          "id": "offset_x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Posição",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do deslocamento em metros para Seguir. Referencial decide eixos de mundo ou guinada do alvo; não substitui o raio da Órbita.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Posição",
          "unit": "m",
          "help": "",
          "default": "2",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do deslocamento em metros para Seguir. Referencial decide eixos de mundo ou guinada do alvo; não substitui o raio da Órbita.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Posição",
          "unit": "m",
          "help": "",
          "default": "-5",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do deslocamento em metros para Seguir. Referencial decide eixos de mundo ou guinada do alvo; não substitui o raio da Órbita.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-offset-z"
        },
        {
          "id": "orbit_radius",
          "name": "Raio da órbita",
          "kind": "número",
          "group": "Posição",
          "unit": "m",
          "help": "Distância ao alvo rastreado",
          "default": "5",
          "domain": "0.01 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Distância ao alvo rastreado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-radius"
        },
        {
          "id": "orbit_yaw",
          "name": "Ângulo horizontal",
          "kind": "número",
          "group": "Posição",
          "unit": "°",
          "help": "Giro em torno do eixo Y do mundo; zero fica atrás do alvo (−Z)",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Giro em torno do eixo Y do mundo; zero fica atrás do alvo (−Z)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-yaw"
        },
        {
          "id": "orbit_pitch",
          "name": "Ângulo vertical",
          "kind": "número",
          "group": "Posição",
          "unit": "°",
          "help": "Positivo põe a câmera acima do alvo",
          "default": "20",
          "domain": "-89 … 89",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Positivo põe a câmera acima do alvo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-pitch"
        },
        {
          "id": "orbit_pitch_min",
          "name": "Vertical mínimo",
          "kind": "número",
          "group": "Posição",
          "unit": "°",
          "help": "",
          "default": "-10",
          "domain": "-89 … 89",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite em graus do pitch da Órbita. Mantenha mínimo menor ou igual ao máximo; um ângulo extremo pode recortar o personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-pitch-min"
        },
        {
          "id": "orbit_pitch_max",
          "name": "Vertical máximo",
          "kind": "número",
          "group": "Posição",
          "unit": "°",
          "help": "",
          "default": "70",
          "domain": "-89 … 89",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite em graus do pitch da Órbita. Mantenha mínimo menor ou igual ao máximo; um ângulo extremo pode recortar o personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-pitch-max"
        },
        {
          "id": "orbit_yaw_sensitivity",
          "name": "Sensibilidade horizontal",
          "kind": "número",
          "group": "Posição",
          "unit": "°",
          "help": "Graus por largura de tela arrastada",
          "default": "300",
          "domain": "0 … 2000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Graus por largura de tela arrastada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-yaw-sensitivity"
        },
        {
          "id": "orbit_pitch_sensitivity",
          "name": "Sensibilidade vertical",
          "kind": "número",
          "group": "Posição",
          "unit": "°",
          "help": "Graus por altura de tela arrastada",
          "default": "195",
          "domain": "0 … 2000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Graus por altura de tela arrastada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-pitch-sensitivity"
        },
        {
          "id": "position_damping",
          "name": "Amortecimento da posição",
          "kind": "número",
          "group": "Posição",
          "unit": "s",
          "help": "Tempo para alcançar o alvo; zero acompanha sem atraso",
          "default": "0.2",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo para alcançar o alvo; zero acompanha sem atraso",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-position-damping"
        },
        {
          "id": "aim_offset_x",
          "name": "Mira X",
          "kind": "número",
          "group": "Rotação",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento de mira em metros aplicado ao ponto do alvo; ajusta enquadramento sem mover o alvo físico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-aim-offset-x"
        },
        {
          "id": "aim_offset_y",
          "name": "Mira Y",
          "kind": "número",
          "group": "Rotação",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento de mira em metros aplicado ao ponto do alvo; ajusta enquadramento sem mover o alvo físico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-aim-offset-y"
        },
        {
          "id": "aim_offset_z",
          "name": "Mira Z",
          "kind": "número",
          "group": "Rotação",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento de mira em metros aplicado ao ponto do alvo; ajusta enquadramento sem mover o alvo físico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-aim-offset-z"
        },
        {
          "id": "rotation_damping",
          "name": "Amortecimento da rotação",
          "kind": "número",
          "group": "Rotação",
          "unit": "s",
          "help": "",
          "default": "0",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento para aproximar a orientação desejada; zero acompanha sem atraso. Não é velocidade angular do corpo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-rotation-damping"
        },
        {
          "id": "camera_radius",
          "name": "Raio da câmera",
          "kind": "número",
          "group": "Colisão",
          "unit": "m",
          "help": "Distância mantida dos obstáculos; zero usa um raio de luz",
          "default": "0.2",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância mantida dos obstáculos; zero usa um raio de luz",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-camera-radius"
        },
        {
          "id": "minimum_distance",
          "name": "Distância mínima do alvo",
          "kind": "número",
          "group": "Colisão",
          "unit": "m",
          "help": "Obstáculos mais perto do alvo que isto são ignorados",
          "default": "0.5",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Obstáculos mais perto do alvo que isto são ignorados",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-minimum-distance"
        },
        {
          "id": "collision_damping",
          "name": "Amortecimento ao liberar",
          "kind": "número",
          "group": "Colisão",
          "unit": "s",
          "help": "Tempo para voltar à distância livre; a aproximação é imediata",
          "default": "0.3",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo para voltar à distância livre; a aproximação é imediata",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-collision-damping"
        },
        {
          "id": "noise_amplitude",
          "name": "Tremor da rotação",
          "kind": "número",
          "group": "Tremor",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "0 … 90",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Amplitude do tremor angular em graus. Zero desliga esta contribuição; combine com Frequência sem confundir com entrada de olhar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-noise-amplitude"
        },
        {
          "id": "noise_position_amplitude",
          "name": "Tremor da posição",
          "kind": "número",
          "group": "Tremor",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Amplitude do tremor de posição em metros. Não move o alvo nem garante evitar obstáculos por todo tremor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-noise-position-amplitude"
        },
        {
          "id": "noise_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Tremor",
          "unit": "Hz",
          "help": "",
          "default": "1",
          "domain": "0 … 50",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Frequência do tremor. Compare no mesmo enquadramento; só produz contribuição quando a amplitude correspondente é maior que zero.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-noise-frequency"
        },
        {
          "id": "blend_time",
          "name": "Duração da entrada",
          "kind": "número",
          "group": "Transição",
          "unit": "s",
          "help": "",
          "default": "1",
          "domain": "0 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Duração em segundos da entrada desta virtual quando sua curva substitui o padrão do Cérebro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-blend-time"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Desligada deixa de concorrer; a configuração é preservada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligada deixa de concorrer; a configuração é preservada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-enabled"
        },
        {
          "id": "orbit_input",
          "name": "Controlar pela entrada de olhar",
          "kind": "booleano",
          "group": "Posição",
          "unit": "",
          "help": "A ação Olhar do mapa de entrada gira a órbita enquanto esta câmera está ao vivo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A ação Olhar do mapa de entrada gira a órbita enquanto esta câmera está ao vivo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-orbit-input"
        },
        {
          "id": "avoid_obstacles",
          "name": "Evitar obstáculos",
          "kind": "booleano",
          "group": "Colisão",
          "unit": "",
          "help": "Aproxima a câmera do alvo quando um colisor bloqueia a linha de visão",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aproxima a câmera do alvo quando um colisor bloqueia a linha de visão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-avoid-obstacles"
        },
        {
          "id": "position_mode",
          "name": "Posição",
          "kind": "enumeração",
          "group": "Posição",
          "unit": "",
          "help": "Seguir e Órbita usam o alvo rastreado; sem alvo a câmera fica na pose autorada",
          "default": "Fixa (pose autorada)",
          "domain": "Fixa (pose autorada) | Seguir | Órbita",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seguir e Órbita usam o alvo rastreado; sem alvo a câmera fica na pose autorada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-position-mode"
        },
        {
          "id": "binding",
          "name": "Referencial do deslocamento",
          "kind": "enumeração",
          "group": "Posição",
          "unit": "",
          "help": "Guinada do alvo gira o deslocamento junto com o alvo (Lock To Target With World Up)",
          "default": "Eixos do mundo",
          "domain": "Eixos do mundo | Guinada do alvo",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Guinada do alvo gira o deslocamento junto com o alvo (Lock To Target With World Up)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-binding"
        },
        {
          "id": "rotation_mode",
          "name": "Rotação",
          "kind": "enumeração",
          "group": "Rotação",
          "unit": "",
          "help": "Olhar para o alvo usa o alvo de mira, ou o rastreado quando ele está vazio",
          "default": "Fixa (rotação autorada)",
          "domain": "Fixa (rotação autorada) | Olhar para o alvo | Rotação do alvo",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Olhar para o alvo usa o alvo de mira, ou o rastreado quando ele está vazio",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-rotation-mode"
        },
        {
          "id": "collision_layer",
          "name": "Camada dos obstáculos",
          "kind": "enumeração",
          "group": "Colisão",
          "unit": "",
          "help": "Todas ou só uma camada física do projeto",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou só uma camada física do projeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-collision-layer"
        },
        {
          "id": "blend_style",
          "name": "Entrada",
          "kind": "enumeração",
          "group": "Transição",
          "unit": "",
          "help": "Curva usada quando esta câmera entra ao vivo",
          "default": "Padrão do Cérebro",
          "domain": "Padrão do Cérebro | Corte | Suave | Linear | Entrada suave | Saída suave | Entrada brusca | Saída brusca",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Curva usada quando esta câmera entra ao vivo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-blend-style"
        },
        {
          "id": "tracking_target",
          "name": "Alvo rastreado",
          "kind": "referência",
          "group": "Geral",
          "unit": "",
          "help": "Objeto que Seguir e Órbita acompanham",
          "default": "Nenhum",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto que Seguir e Órbita acompanham",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-tracking-target"
        },
        {
          "id": "look_at_target",
          "name": "Alvo de mira",
          "kind": "referência",
          "group": "Geral",
          "unit": "",
          "help": "Ponto que Olhar para o alvo e a desoclusão usam",
          "default": "O rastreado",
          "domain": "qualquer objeto · fora da subárvore",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ponto que Olhar para o alvo e a desoclusão usam",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-virtual/#field-look-at-target"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "prioritize",
          "name": "Priorizar",
          "help": "Vence o empate com outras câmeras de mesma prioridade, como se tivesse sido ativada agora",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "snap",
          "name": "Encaixar",
          "help": "Descarta o amortecimento no próximo quadro (depois de teletransportar o alvo)",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "is_live",
          "name": "Ao vivo",
          "help": "Verdadeiro quando algum Cérebro está mostrando esta câmera",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "activated",
          "name": "Entrou ao vivo",
          "help": "Emitido quando um Cérebro passa a mostrar esta câmera; carrega a câmera anterior",
          "payload": [
            {
              "id": "other",
              "name": "Outra câmera",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "deactivated",
          "name": "Saiu do ar",
          "help": "Emitido quando outra câmera assume o Cérebro; carrega a nova câmera",
          "payload": [
            {
              "id": "other",
              "name": "Outra câmera",
              "kind": "objeto",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Crie um objeto separado para a câmera virtual. Escolha Alvo rastreado, Posição = Órbita e Rotação = Olhar para o alvo para terceira pessoa. O objeto da câmera real recebe Câmera + Cérebro; não coloque ambos no objeto do jogador físico.",
        "example": "Use um alvo na altura do tronco, Raio da órbita 5 m e Ângulo vertical 20°. Ligue Evitar obstáculos, raio .25 m e selecione a camada de paredes. Tenha colliders reais. Crie outra virtual com prioridade maior para observar a troca no Cérebro. Os valores são receita, não novos padrões do componente.",
        "next": "Órbita, seguimento, lente, mistura e desvio físico estão na prévia 0.2.3. Fade de oclusores, enquadramento automático geral e garantia contra spawn penetrado não estão implementados. Sem data prometida.",
        "purpose": "Define uma candidata de pose e lente para a câmera do jogo. Ela segue ou orbita um alvo; o Cérebro escolhe a candidata ao vivo e aplica o resultado à câmera real.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Câmera** / **Câmera virtual** → **Câmera virtual**.",
        "extra": "Atalho de criação: selecione o personagem → + → Básicos → Câmera virtual. O atalho cria uma filha em órbita e adiciona Cérebro à câmera da cena se necessário. A criação genérica pelo Inspector conserva os padrões da tabela (Posição/Rotação fixas e Evitar obstáculos desligado). No Play, o cartão indica Ao vivo ou Em espera. A virtual não cria um segundo viewport.",
        "related": "[Câmera e Cérebro](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#câmera-virtual-e-cérebro) · [Exemplo do laboratório](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/#terceira-pessoa-no-laboratório)"
      }
    },
    {
      "typeId": "astra.camera.brain",
      "name": "Cérebro de câmera",
      "description": "Mostra a câmera virtual de maior prioridade e faz a transição",
      "family": "Câmera",
      "subfamily": "Câmera virtual",
      "api": "CameraBrain",
      "reference": "https://docs.unity3d.com/Packages/com.unity.cinemachine@3.1/manual/CinemachineBrain.html",
      "aliases": "CinemachineBrain Brain Blend Transição Mistura Corte",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.camera",
          "message": "Adicione Câmera a este objeto"
        }
      ],
      "conflicts": [
        {
          "typeId": "astra.camera.follow",
          "message": "O Cérebro e Acompanhar alvo escreveriam a mesma pose"
        },
        {
          "typeId": "astra.camera.look",
          "message": "O Cérebro e Olhar escreveriam a mesma rotação"
        },
        {
          "typeId": "astra.camera.virtual",
          "message": "Câmera virtual e Cérebro ficam em objetos separados"
        },
        {
          "typeId": "astra.physics.body",
          "message": "A câmera do Cérebro não pode receber pose do corpo físico"
        },
        {
          "typeId": "astra.physics.character",
          "message": "A câmera do Cérebro não pode receber pose do personagem"
        }
      ],
      "properties": [
        {
          "id": "default_blend_time",
          "name": "Duração padrão",
          "kind": "número",
          "group": "Transição",
          "unit": "s",
          "help": "Usada quando a câmera que entra não define a própria transição",
          "default": "2",
          "domain": "0 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usada quando a câmera que entra não define a própria transição",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-brain/#field-default-blend-time"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "Desligado devolve a câmera à autoria; a pose do último quadro permanece",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado devolve a câmera à autoria; a pose do último quadro permanece",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-brain/#field-enabled"
        },
        {
          "id": "ignore_time_scale",
          "name": "Ignorar escala de tempo",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "Câmeras e transições seguem o tempo real mesmo em câmera lenta ou pausa por escala",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Câmeras e transições seguem o tempo real mesmo em câmera lenta ou pausa por escala",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-brain/#field-ignore-time-scale"
        },
        {
          "id": "default_blend",
          "name": "Transição padrão",
          "kind": "enumeração",
          "group": "Transição",
          "unit": "",
          "help": "",
          "default": "Suave",
          "domain": "Corte | Suave | Linear | Entrada suave | Saída suave | Entrada brusca | Saída brusca",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Curva padrão da transição entre câmeras virtuais. Corte troca imediatamente; as demais curvas usam Duração padrão, salvo substituição pela virtual que entra.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-camera-brain/#field-default-blend"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "live_camera",
          "name": "Câmera ao vivo",
          "help": "Câmera virtual que o Cérebro está mostrando; vazio sem nenhuma",
          "result": "objeto",
          "parameters": []
        },
        {
          "id": "blending",
          "name": "Em transição",
          "help": "Verdadeiro enquanto mistura duas câmeras",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "camera_activated",
          "name": "Câmera ativada",
          "help": "Emitido quando uma câmera virtual assume, já no primeiro quadro da transição",
          "payload": [
            {
              "id": "incoming",
              "name": "Câmera que entrou",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "outgoing",
              "name": "Câmera que saiu",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "camera_cut",
          "name": "Corte de câmera",
          "help": "Emitido quando a troca acontece sem transição",
          "payload": [
            {
              "id": "camera",
              "name": "Câmera",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "blend_finished",
          "name": "Transição concluída",
          "help": "Emitido quando a mistura termina e só a câmera nova aparece",
          "payload": [
            {
              "id": "camera",
              "name": "Câmera",
              "kind": "objeto",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Adicione na câmera real que já tem Câmera. Crie as câmeras virtuais em objetos separados. A virtual habilitada de maior prioridade concorre; no empate, a ativada por último vence. Remova Olhar/Acompanhar alvo do objeto do Cérebro para evitar dois escritores de pose.",
        "example": "Crie duas virtuais com prioridades 10 e 20. Configure no Cérebro Duração padrão 2 s e curva Suave. Aumente a prioridade da primeira para 30 em Play e observe a troca e a barra de transição. Se a entrada da virtual substitui o padrão, sua curva/duração é usada.",
        "next": "Mistura de pose/lente disponível na 0.2.3. Esta família não promete paridade com Cinemachine, split-screen ou composição automática. Sem data para essas extensões.",
        "purpose": "Seleciona a câmera virtual ao vivo e mistura a pose e a lente na câmera real. Use para alternar exploração, conversa ou uma visão fixa.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Câmera** / **Câmera virtual** → **Cérebro de câmera**.",
        "extra": "O cartão de execução mostra a candidata ao vivo e o progresso da troca. Desligar o Cérebro interrompe sua autoridade; a última pose permanece, não volta automaticamente à pose antes do Play. Ele não cria câmeras virtuais nem renderiza split-screen.",
        "related": "[Montagem das duas partes](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#câmera-virtual-e-cérebro)"
      }
    },
    {
      "typeId": "astra.physics.collision_recipe",
      "name": "Receita de colisão",
      "description": "Fontes e base das partes para regeneração explícita preservando edições",
      "family": "Física 3D",
      "subfamily": "Autoria",
      "api": "",
      "reference": "https://docs.godotengine.org/en/4.5/tutorials/assets_pipeline/import_process.html",
      "aliases": "Bake Reimport Regenerate Receita Colisão",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": false,
      "structuralInPlay": "não permitido",
      "propertiesInPlay": "não permitido",
      "requirements": [
        {
          "typeId": "astra.physics.body",
          "message": "Adicione Corpo físico a este objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "source_0",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-0"
        },
        {
          "id": "source_1",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-1"
        },
        {
          "id": "source_2",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-2"
        },
        {
          "id": "source_3",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-3"
        },
        {
          "id": "source_4",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-4"
        },
        {
          "id": "source_5",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-5"
        },
        {
          "id": "source_6",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-6"
        },
        {
          "id": "source_7",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-7"
        },
        {
          "id": "source_8",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-8"
        },
        {
          "id": "source_9",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-9"
        },
        {
          "id": "source_10",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-10"
        },
        {
          "id": "source_11",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-11"
        },
        {
          "id": "source_12",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-12"
        },
        {
          "id": "source_13",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-13"
        },
        {
          "id": "source_14",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-14"
        },
        {
          "id": "source_15",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-15"
        },
        {
          "id": "source_16",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-16"
        },
        {
          "id": "source_17",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-17"
        },
        {
          "id": "source_18",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-18"
        },
        {
          "id": "source_19",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-19"
        },
        {
          "id": "source_20",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-20"
        },
        {
          "id": "source_21",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-21"
        },
        {
          "id": "source_22",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-22"
        },
        {
          "id": "source_23",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-23"
        },
        {
          "id": "source_24",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-24"
        },
        {
          "id": "source_25",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-25"
        },
        {
          "id": "source_26",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-26"
        },
        {
          "id": "source_27",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-27"
        },
        {
          "id": "source_28",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-28"
        },
        {
          "id": "source_29",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-29"
        },
        {
          "id": "source_30",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-30"
        },
        {
          "id": "source_31",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-31"
        },
        {
          "id": "source_32",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-32"
        },
        {
          "id": "source_33",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-33"
        },
        {
          "id": "source_34",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-34"
        },
        {
          "id": "source_35",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-35"
        },
        {
          "id": "source_36",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-36"
        },
        {
          "id": "source_37",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-37"
        },
        {
          "id": "source_38",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-38"
        },
        {
          "id": "source_39",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-39"
        },
        {
          "id": "source_40",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-40"
        },
        {
          "id": "source_41",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-41"
        },
        {
          "id": "source_42",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-42"
        },
        {
          "id": "source_43",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-43"
        },
        {
          "id": "source_44",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-44"
        },
        {
          "id": "source_45",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-45"
        },
        {
          "id": "source_46",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-46"
        },
        {
          "id": "source_47",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-47"
        },
        {
          "id": "source_48",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-48"
        },
        {
          "id": "source_49",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-49"
        },
        {
          "id": "source_50",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-50"
        },
        {
          "id": "source_51",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-51"
        },
        {
          "id": "source_52",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-52"
        },
        {
          "id": "source_53",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-53"
        },
        {
          "id": "source_54",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-54"
        },
        {
          "id": "source_55",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-55"
        },
        {
          "id": "source_56",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-56"
        },
        {
          "id": "source_57",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-57"
        },
        {
          "id": "source_58",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-58"
        },
        {
          "id": "source_59",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-59"
        },
        {
          "id": "source_60",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-60"
        },
        {
          "id": "source_61",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-61"
        },
        {
          "id": "source_62",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-62"
        },
        {
          "id": "source_63",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-63"
        },
        {
          "id": "source_64",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-64"
        },
        {
          "id": "source_65",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-65"
        },
        {
          "id": "source_66",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-66"
        },
        {
          "id": "source_67",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-67"
        },
        {
          "id": "source_68",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-68"
        },
        {
          "id": "source_69",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-69"
        },
        {
          "id": "source_70",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-70"
        },
        {
          "id": "source_71",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-71"
        },
        {
          "id": "source_72",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-72"
        },
        {
          "id": "source_73",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-73"
        },
        {
          "id": "source_74",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-74"
        },
        {
          "id": "source_75",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-75"
        },
        {
          "id": "source_76",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-76"
        },
        {
          "id": "source_77",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-77"
        },
        {
          "id": "source_78",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-78"
        },
        {
          "id": "source_79",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-79"
        },
        {
          "id": "source_80",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-80"
        },
        {
          "id": "source_81",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-81"
        },
        {
          "id": "source_82",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-82"
        },
        {
          "id": "source_83",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-83"
        },
        {
          "id": "source_84",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-84"
        },
        {
          "id": "source_85",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-85"
        },
        {
          "id": "source_86",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-86"
        },
        {
          "id": "source_87",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-87"
        },
        {
          "id": "source_88",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-88"
        },
        {
          "id": "source_89",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-89"
        },
        {
          "id": "source_90",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-90"
        },
        {
          "id": "source_91",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-91"
        },
        {
          "id": "source_92",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-92"
        },
        {
          "id": "source_93",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-93"
        },
        {
          "id": "source_94",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-94"
        },
        {
          "id": "source_95",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-95"
        },
        {
          "id": "source_96",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-96"
        },
        {
          "id": "source_97",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-97"
        },
        {
          "id": "source_98",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-98"
        },
        {
          "id": "source_99",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-99"
        },
        {
          "id": "source_100",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-100"
        },
        {
          "id": "source_101",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-101"
        },
        {
          "id": "source_102",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-102"
        },
        {
          "id": "source_103",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-103"
        },
        {
          "id": "source_104",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-104"
        },
        {
          "id": "source_105",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-105"
        },
        {
          "id": "source_106",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-106"
        },
        {
          "id": "source_107",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-107"
        },
        {
          "id": "source_108",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-108"
        },
        {
          "id": "source_109",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-109"
        },
        {
          "id": "source_110",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-110"
        },
        {
          "id": "source_111",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-111"
        },
        {
          "id": "source_112",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-112"
        },
        {
          "id": "source_113",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-113"
        },
        {
          "id": "source_114",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-114"
        },
        {
          "id": "source_115",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-115"
        },
        {
          "id": "source_116",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-116"
        },
        {
          "id": "source_117",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-117"
        },
        {
          "id": "source_118",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-118"
        },
        {
          "id": "source_119",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-119"
        },
        {
          "id": "source_120",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-120"
        },
        {
          "id": "source_121",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-121"
        },
        {
          "id": "source_122",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-122"
        },
        {
          "id": "source_123",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-123"
        },
        {
          "id": "source_124",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-124"
        },
        {
          "id": "source_125",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-125"
        },
        {
          "id": "source_126",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-126"
        },
        {
          "id": "source_127",
          "name": "Fonte da colisão",
          "kind": "referência",
          "group": "Fontes",
          "unit": "",
          "help": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "default": "Fonte ausente",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto/slot persistentes; regeneração é uma ação explícita",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collision-recipe/#field-source-127"
        }
      ],
      "resources": [
        {
          "id": "bake_source",
          "name": "Revisão gerada",
          "kind": "mesh",
          "group": "Revisão",
          "help": "Recurso imutável da geração",
          "inheritable": false
        },
        {
          "id": "baseline_mesh",
          "name": "Malha base da parte",
          "kind": "mesh",
          "group": "Revisão",
          "help": "Base de comparação; o override pertence ao Colisor",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Escolha geometria e fontes antes de gerar. Revise a prévia e aplique a colisão; gerar sozinho não publica formas na cena. A receita permite regeneração explícita, preservando edições conforme o contrato.",
        "example": "Em uma cópia do projeto, escolha uma malha como fonte, gere uma prévia pequena, revise as partes e aplique. Salve/reabra antes de modificar a fonte e pedir regeneração. Limites: 100 mil triângulos, 128 fontes, 32 partes, 64 vértices por casco e 400 mil voxels.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Fontes e base das partes para regeneração explícita preservando edições",
        "location": "Hierarquia → ações do objeto → Configurar locomoção → Decompor → escolha Fontes/Ajustes → Gerar → Revisar → Aplicar. A receita é produzida por esse fluxo de autoria; não é um Behavior e não entra no menu genérico de componentes.",
        "extra": "As referências de fonte abaixo podem ficar ocultas ou com escrita restrita: não são 128 componentes ativos. Colisão gerada é captura estática da base/pose/amostra escolhida; não acompanha os ossos a cada quadro. Recurso ausente ou resultado desatualizado pode impedir aplicar.",
        "related": "[Autoria, revisão e regeneração](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#autoria-física-e-regeneração-de-colisão)"
      }
    },
    {
      "typeId": "astra.physics.field.gravity",
      "name": "Campo de gravidade",
      "description": "Gravidade local em volume sobre corpos dinâmicos",
      "family": "Física 3D",
      "subfamily": "Campos",
      "api": "GravityField",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area3d.html",
      "aliases": "Area3D Gravity Zone Gravidade",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-half-y"
        },
        {
          "id": "half_z",
          "name": "Meia extensão Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-half-z"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Centro Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-offset-z"
        },
        {
          "id": "vector_x",
          "name": "Vetor X",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-vector-x"
        },
        {
          "id": "vector_y",
          "name": "Vetor Y",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "-9.81",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-vector-y"
        },
        {
          "id": "vector_z",
          "name": "Vetor Z",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-vector-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-wake-bodies"
        },
        {
          "id": "replace_world_gravity",
          "name": "Substituir gravidade do mundo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "Sobrepostos somam vetores e cancelam a gravidade padrão uma única vez",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sobrepostos somam vetores e cancelam a gravidade padrão uma única vez",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-replace-world-gravity"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Caixa",
          "domain": "Caixa | Esfera",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-gravity/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Gravidade local em volume sobre corpos dinâmicos",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Campos** → **Campo de gravidade**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics.field.wind",
      "name": "Campo de vento",
      "description": "Arrasto para velocidade local do ar, dependente da massa",
      "family": "Física 3D",
      "subfamily": "Campos",
      "api": "WindField",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area3d.html",
      "aliases": "Area3D Wind Vento",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-half-y"
        },
        {
          "id": "half_z",
          "name": "Meia extensão Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-half-z"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Centro Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-offset-z"
        },
        {
          "id": "vector_x",
          "name": "Vetor X",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s",
          "help": "",
          "default": "5",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-vector-x"
        },
        {
          "id": "vector_y",
          "name": "Vetor Y",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-vector-y"
        },
        {
          "id": "vector_z",
          "name": "Vetor Z",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-vector-z"
        },
        {
          "id": "coefficient",
          "name": "Acoplamento",
          "kind": "número",
          "group": "Efeito",
          "unit": "kg/s",
          "help": "",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coeficiente da contribuição de vento, combinado com o vetor/campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-coefficient"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-wake-bodies"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Caixa",
          "domain": "Caixa | Esfera",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-wind/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Arrasto para velocidade local do ar, dependente da massa",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Campos** → **Campo de vento**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics.field.drag",
      "name": "Campo de arrasto",
      "description": "Amortecimento linear e angular local",
      "family": "Física 3D",
      "subfamily": "Campos",
      "api": "DragField",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area3d.html",
      "aliases": "Area3D Damp Drag Arrasto",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-half-y"
        },
        {
          "id": "half_z",
          "name": "Meia extensão Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-half-z"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Centro Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-offset-z"
        },
        {
          "id": "linear_drag",
          "name": "Arrasto linear",
          "kind": "número",
          "group": "Efeito",
          "unit": "1/s",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Arrasto linear aplicado pelo campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-linear-drag"
        },
        {
          "id": "angular_drag",
          "name": "Arrasto angular",
          "kind": "número",
          "group": "Efeito",
          "unit": "1/s",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Arrasto angular aplicado pelo campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-angular-drag"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-wake-bodies"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Caixa",
          "domain": "Caixa | Esfera",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-drag/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Amortecimento linear e angular local",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Campos** → **Campo de arrasto**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics.field.radial",
      "name": "Campo radial",
      "description": "Atração, repulsão e vórtice ao redor do centro",
      "family": "Física 3D",
      "subfamily": "Campos",
      "api": "RadialField",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area3d.html",
      "aliases": "Area3D Point Gravity Vortex Radial",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-half-y"
        },
        {
          "id": "half_z",
          "name": "Meia extensão Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-half-z"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Centro Z",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-offset-z"
        },
        {
          "id": "acceleration",
          "name": "Aceleração radial",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "-9.81",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração radial em relação à origem do campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-acceleration"
        },
        {
          "id": "tangential_acceleration",
          "name": "Aceleração tangencial",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração tangencial em torno da origem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-tangential-acceleration"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-wake-bodies"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Caixa",
          "domain": "Caixa | Esfera",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-field-radial/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Atração, repulsão e vórtice ao redor do centro",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Campos** → **Campo radial**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics.event_connection",
      "name": "Conexão física 3D",
      "description": "Evento de sensor/contato altera a ativação de um receptor",
      "family": "Física 3D",
      "subfamily": "Eventos",
      "api": "PhysicsEventConnection3D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area3d.html",
      "aliases": "Trigger Collision Area3D Signal Evento Conexao",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics.body",
          "message": "Adicione Corpo físico ao emissor da conexão"
        },
        {
          "typeId": "astra.physics.collider",
          "message": "Adicione Colisor 3D ao emissor da conexão"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Conexão",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-event-connection/#field-enabled"
        },
        {
          "id": "event",
          "name": "Evento",
          "kind": "enumeração",
          "group": "Conexão",
          "unit": "",
          "help": "Sensor exige Sensor ligado no Corpo físico; contato sólido exige desligado",
          "default": "Entrada sensor",
          "domain": "Entrada sensor | Perm. sensor | Saída sensor | Entrada contato | Perm. contato | Saída contato",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sensor exige Sensor ligado no Corpo físico; contato sólido exige desligado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-event-connection/#field-event"
        },
        {
          "id": "action",
          "name": "Ação",
          "kind": "enumeração",
          "group": "Conexão",
          "unit": "",
          "help": "Executada antes do callback C#; permanência pode disparar a cada passo físico",
          "default": "Desconectado",
          "domain": "Desconectado | Ativar objeto | Desativar objeto | Alternar objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Executada antes do callback C#; permanência pode disparar a cada passo físico",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-event-connection/#field-action"
        },
        {
          "id": "receiver",
          "name": "Receptor",
          "kind": "referência",
          "group": "Conexão",
          "unit": "",
          "help": "Objeto cuja ativação será alterada",
          "default": "Escolher objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto cuja ativação será alterada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-event-connection/#field-receiver"
        },
        {
          "id": "other_filter",
          "name": "Outro objeto",
          "kind": "referência",
          "group": "Filtro",
          "unit": "",
          "help": "Opcional: somente eventos com este outro objeto; vazio aceita todos",
          "default": "Qualquer objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Opcional: somente eventos com este outro objeto; vazio aceita todos",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-event-connection/#field-other-filter"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Evento de sensor/contato altera a ativação de um receptor",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Eventos** → **Conexão física 3D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics.constant_force",
      "name": "Força constante",
      "description": "Força e torque contínuos sobre corpo dinâmico",
      "family": "Física 3D",
      "subfamily": "Forças",
      "api": "ConstantForce",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-ConstantForce.html",
      "aliases": "ConstantForce AddRelativeForce AddRelativeTorque Propulsão",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics.body",
          "message": "Adicione Corpo físico a este objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "force_x",
          "name": "Força X",
          "kind": "número",
          "group": "Força mundo",
          "unit": "N",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-force-x"
        },
        {
          "id": "force_y",
          "name": "Força Y",
          "kind": "número",
          "group": "Força mundo",
          "unit": "N",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-force-y"
        },
        {
          "id": "force_z",
          "name": "Força Z",
          "kind": "número",
          "group": "Força mundo",
          "unit": "N",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-force-z"
        },
        {
          "id": "relative_force_x",
          "name": "Força local X",
          "kind": "número",
          "group": "Força local",
          "unit": "N",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-relative-force-x"
        },
        {
          "id": "relative_force_y",
          "name": "Força local Y",
          "kind": "número",
          "group": "Força local",
          "unit": "N",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-relative-force-y"
        },
        {
          "id": "relative_force_z",
          "name": "Força local Z",
          "kind": "número",
          "group": "Força local",
          "unit": "N",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-relative-force-z"
        },
        {
          "id": "torque_x",
          "name": "Torque X",
          "kind": "número",
          "group": "Torque mundo",
          "unit": "N·m",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-torque-x"
        },
        {
          "id": "torque_y",
          "name": "Torque Y",
          "kind": "número",
          "group": "Torque mundo",
          "unit": "N·m",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-torque-y"
        },
        {
          "id": "torque_z",
          "name": "Torque Z",
          "kind": "número",
          "group": "Torque mundo",
          "unit": "N·m",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-torque-z"
        },
        {
          "id": "relative_torque_x",
          "name": "Torque local X",
          "kind": "número",
          "group": "Torque local",
          "unit": "N·m",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-relative-torque-x"
        },
        {
          "id": "relative_torque_y",
          "name": "Torque local Y",
          "kind": "número",
          "group": "Torque local",
          "unit": "N·m",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-relative-torque-y"
        },
        {
          "id": "relative_torque_z",
          "name": "Torque local Z",
          "kind": "número",
          "group": "Torque local",
          "unit": "N·m",
          "help": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplicado a cada passo físico; não multiplique pelo tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-relative-torque-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Força mundo",
          "unit": "",
          "help": "Requer Corpo físico dinâmico no mesmo objeto; desligado permite configurar sem aplicar.",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Requer Corpo físico dinâmico no mesmo objeto; desligado permite configurar sem aplicar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-constant-force/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Força e torque contínuos sobre corpo dinâmico",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Forças** → **Força constante**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics.body",
      "name": "Corpo físico",
      "description": "Massa e resposta física",
      "family": "Física 3D",
      "subfamily": "Corpos",
      "api": "PhysicsBody",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-Rigidbody.html",
      "aliases": "Rigidbody RigidBody3D StaticBody3D Massa",
      "schemaVersion": 8,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "não permitido",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.physics.character",
          "message": "Incompatível com personagem cápsula"
        }
      ],
      "properties": [
        {
          "id": "mass",
          "name": "Massa kg",
          "kind": "número",
          "group": "Corpo",
          "unit": "kg",
          "help": "",
          "default": "1",
          "domain": "0.01 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Massa do corpo dinâmico em kg; influencia resposta a força/impulso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-mass"
        },
        {
          "id": "friction",
          "name": "Atrito",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Atrito nos contatos; compare deslizamento com o mesmo par de superfícies.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-friction"
        },
        {
          "id": "restitution",
          "name": "Restituição",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Restituição nos contatos; controla ressalto conforme a combinação física.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-restitution"
        },
        {
          "id": "velocity_x",
          "name": "Velocidade inicial X",
          "kind": "número",
          "group": "Início",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade linear inicial/autorada do corpo, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-velocity-x"
        },
        {
          "id": "velocity_y",
          "name": "Velocidade inicial Y",
          "kind": "número",
          "group": "Início",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade linear inicial/autorada do corpo, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-velocity-y"
        },
        {
          "id": "velocity_z",
          "name": "Velocidade inicial Z",
          "kind": "número",
          "group": "Início",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade linear inicial/autorada do corpo, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-velocity-z"
        },
        {
          "id": "angular_x",
          "name": "Giro inicial X · rad/s",
          "kind": "número",
          "group": "Início",
          "unit": "rad/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular do corpo, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-angular-x"
        },
        {
          "id": "angular_y",
          "name": "Giro inicial Y · rad/s",
          "kind": "número",
          "group": "Início",
          "unit": "rad/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular do corpo, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-angular-y"
        },
        {
          "id": "angular_z",
          "name": "Giro inicial Z · rad/s",
          "kind": "número",
          "group": "Início",
          "unit": "rad/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular do corpo, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-angular-z"
        },
        {
          "id": "linear_damping",
          "name": "Amortecimento linear",
          "kind": "número",
          "group": "Amortecimento",
          "unit": "",
          "help": "",
          "default": "0.05",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento de velocidade linear.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-linear-damping"
        },
        {
          "id": "angular_damping",
          "name": "Amortecimento angular",
          "kind": "número",
          "group": "Amortecimento",
          "unit": "",
          "help": "",
          "default": "0.05",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento de velocidade angular.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-angular-damping"
        },
        {
          "id": "gravity_factor",
          "name": "Multiplicador da gravidade",
          "kind": "número",
          "group": "Amortecimento",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica gravidade mundial deste corpo 3D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-gravity-factor"
        },
        {
          "id": "max_linear_velocity",
          "name": "Limite linear",
          "kind": "número",
          "group": "Simulação",
          "unit": "m/s",
          "help": "",
          "default": "500",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de velocidade linear do corpo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-max-linear-velocity"
        },
        {
          "id": "max_angular_velocity",
          "name": "Limite angular",
          "kind": "número",
          "group": "Simulação",
          "unit": "rad/s",
          "help": "",
          "default": "47.12389",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de velocidade angular do corpo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-max-angular-velocity"
        },
        {
          "id": "solver_velocity_steps",
          "name": "Iterações de velocidade",
          "kind": "número",
          "group": "Simulação",
          "unit": "",
          "help": "0 usa as iterações do mundo; aumenta custo por ilha de contato",
          "default": "0",
          "domain": "0 … 255",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 usa as iterações do mundo; aumenta custo por ilha de contato",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-solver-velocity-steps"
        },
        {
          "id": "center_of_mass_x",
          "name": "Centro de massa X",
          "kind": "número",
          "group": "Massa",
          "unit": "m",
          "help": "Ponto local onde a massa se concentra (Rigidbody.centerOfMass)",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coordenada local em metros do centro de massa manual. Desligue cálculo automático; muda a resposta de rotação física, não desloca a malha visual.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-center-of-mass-x"
        },
        {
          "id": "center_of_mass_y",
          "name": "Centro de massa Y",
          "kind": "número",
          "group": "Massa",
          "unit": "m",
          "help": "Ponto local onde a massa se concentra (Rigidbody.centerOfMass)",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coordenada local em metros do centro de massa manual. Desligue cálculo automático; muda a resposta de rotação física, não desloca a malha visual.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-center-of-mass-y"
        },
        {
          "id": "center_of_mass_z",
          "name": "Centro de massa Z",
          "kind": "número",
          "group": "Massa",
          "unit": "m",
          "help": "Ponto local onde a massa se concentra (Rigidbody.centerOfMass)",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coordenada local em metros do centro de massa manual. Desligue cálculo automático; muda a resposta de rotação física, não desloca a malha visual.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-center-of-mass-z"
        },
        {
          "id": "inertia_x",
          "name": "Inércia X",
          "kind": "número",
          "group": "Massa",
          "unit": "kg·m²",
          "help": "Momento de inércia nos eixos locais (Rigidbody.inertiaTensor)",
          "default": "1",
          "domain": "0.000001 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente diagonal da inércia manual, usada com cálculo automático desligado. Valores válidos afetam resistência à rotação; compare com a massa e forma reais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-inertia-x"
        },
        {
          "id": "inertia_y",
          "name": "Inércia Y",
          "kind": "número",
          "group": "Massa",
          "unit": "kg·m²",
          "help": "Momento de inércia nos eixos locais (Rigidbody.inertiaTensor)",
          "default": "1",
          "domain": "0.000001 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente diagonal da inércia manual, usada com cálculo automático desligado. Valores válidos afetam resistência à rotação; compare com a massa e forma reais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-inertia-y"
        },
        {
          "id": "inertia_z",
          "name": "Inércia Z",
          "kind": "número",
          "group": "Massa",
          "unit": "kg·m²",
          "help": "Momento de inércia nos eixos locais (Rigidbody.inertiaTensor)",
          "default": "1",
          "domain": "0.000001 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente diagonal da inércia manual, usada com cálculo automático desligado. Valores válidos afetam resistência à rotação; compare com a massa e forma reais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-inertia-z"
        },
        {
          "id": "sensor",
          "name": "Sensor sem resposta",
          "kind": "booleano",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Participa como sensor/sobreposição; não é uma superfície sólida de contato.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-sensor"
        },
        {
          "id": "allow_sleep",
          "name": "Permitir repouso",
          "kind": "booleano",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Permite dormir quando o corpo pode ficar em repouso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-allow-sleep"
        },
        {
          "id": "freeze_position_x",
          "name": "Travar posição X",
          "kind": "booleano",
          "group": "Restrições",
          "unit": "",
          "help": "Eixos do mundo; bloquear todos exige corpo estático",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixos do mundo; bloquear todos exige corpo estático",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-freeze-position-x"
        },
        {
          "id": "freeze_position_y",
          "name": "Travar posição Y",
          "kind": "booleano",
          "group": "Restrições",
          "unit": "",
          "help": "Eixos do mundo; bloquear todos exige corpo estático",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixos do mundo; bloquear todos exige corpo estático",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-freeze-position-y"
        },
        {
          "id": "freeze_position_z",
          "name": "Travar posição Z",
          "kind": "booleano",
          "group": "Restrições",
          "unit": "",
          "help": "Eixos do mundo; bloquear todos exige corpo estático",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixos do mundo; bloquear todos exige corpo estático",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-freeze-position-z"
        },
        {
          "id": "freeze_rotation_x",
          "name": "Travar rotação X",
          "kind": "booleano",
          "group": "Restrições",
          "unit": "",
          "help": "Eixos do mundo; bloquear todos exige corpo estático",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixos do mundo; bloquear todos exige corpo estático",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-freeze-rotation-x"
        },
        {
          "id": "freeze_rotation_y",
          "name": "Travar rotação Y",
          "kind": "booleano",
          "group": "Restrições",
          "unit": "",
          "help": "Eixos do mundo; bloquear todos exige corpo estático",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixos do mundo; bloquear todos exige corpo estático",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-freeze-rotation-y"
        },
        {
          "id": "freeze_rotation_z",
          "name": "Travar rotação Z",
          "kind": "booleano",
          "group": "Restrições",
          "unit": "",
          "help": "Eixos do mundo; bloquear todos exige corpo estático",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixos do mundo; bloquear todos exige corpo estático",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-freeze-rotation-z"
        },
        {
          "id": "continuous_collision",
          "name": "Colisão contínua",
          "kind": "booleano",
          "group": "Simulação",
          "unit": "",
          "help": "Varredura linear Jolt; não detecta varredura apenas angular",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Varredura linear Jolt; não detecta varredura apenas angular",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-continuous-collision"
        },
        {
          "id": "monitoring",
          "name": "Monitorar",
          "kind": "booleano",
          "group": "Corpo",
          "unit": "",
          "help": "Desligado, o sensor não publica entrada, permanência nem saída (Area3D.monitoring)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Permite publicar eventos deste sensor. Desligado não significa desativar o collider visual ou outro sensor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-monitoring"
        },
        {
          "id": "monitorable",
          "name": "Detectável por sensores",
          "kind": "booleano",
          "group": "Corpo",
          "unit": "",
          "help": "Desligado, sensores ignoram este corpo (Area3D.monitorable)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Permite que outros sensores detectem este corpo pelo filtro. É independente de Monitorar os próprios eventos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-monitorable"
        },
        {
          "id": "automatic_center_of_mass",
          "name": "Centro de massa automático",
          "kind": "booleano",
          "group": "Massa",
          "unit": "",
          "help": "Ligado, o Jolt calcula o centro pela forma (Rigidbody.automaticCenterOfMass)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ligado calcula centro de massa da composição física; desligue para usar as coordenadas manuais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-automatic-center-of-mass"
        },
        {
          "id": "automatic_inertia",
          "name": "Inércia automática",
          "kind": "booleano",
          "group": "Massa",
          "unit": "",
          "help": "Ligado, a inércia vem da forma e da massa (Rigidbody.automaticInertiaTensor)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ligado calcula inércia; desligue para usar os valores manuais e conferir resposta de rotação.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-automatic-inertia"
        },
        {
          "id": "motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Estático",
          "domain": "Estático | Cinemático | Dinâmico",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe autoridade estática/cinemática/dinâmica no domínio do corpo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-motion"
        },
        {
          "id": "friction_combine",
          "name": "Combinar atrito",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "Num par, vale o modo de maior precedência: máximo > multiplicar > mínimo > média. Padrão: média geométrica",
          "default": "Padrão do motor",
          "domain": "Padrão do motor | Média | Mínimo | Multiplicar | Máximo",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Política de combinar atrito do par. Padrão conserva a regra do motor; a precedência dos modos participa da escolha.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-friction-combine"
        },
        {
          "id": "restitution_combine",
          "name": "Combinar restituição",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "Num par, vale o modo de maior precedência. Padrão: o maior valor",
          "default": "Padrão do motor",
          "domain": "Padrão do motor | Média | Mínimo | Multiplicar | Máximo",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Política de combinar restituição do par. Compare em uma queda controlada; não muda o material visual.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-restitution-combine"
        },
        {
          "id": "surface",
          "name": "Superfície",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "Tipo de superfície lido por scripts no acerto e no contato (passos, faíscas, sons)",
          "default": "Padrão",
          "domain": "Padrão | Concreto | Madeira | Metal | Grama | Terra | Areia | Água | Gelo | Borracha | Vidro | Tecido | Pedra",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Classificação da superfície para consumidores como regras de passos. Selecionar o valor não cria som ou Behavior automaticamente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-surface"
        },
        {
          "id": "interpolation",
          "name": "Interpolação",
          "kind": "enumeração",
          "group": "Simulação",
          "unit": "",
          "help": "Suaviza a pose desenhada entre passos de 60 Hz (Rigidbody.interpolation); a física não muda",
          "default": "Nenhuma",
          "domain": "Nenhuma | Interpolar | Extrapolar",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Política de suavização visual entre passos físicos; não aumenta a frequência do solver nem muda a trajetória física.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-body/#field-interpolation"
        }
      ],
      "resources": [
        {
          "id": "material",
          "name": "Material físico",
          "kind": "physics_material",
          "group": "Material",
          "help": "Recurso compartilhado; escolher copia atrito, restituição, combinação e superfície para este corpo",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Massa e resposta física",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Corpos** → **Corpo físico**.",
        "extra": "Material físico é um recurso .physmat, separado do material visual. No seletor, crie com os valores do corpo; compartilhar um recurso compartilha futuras edições. Centro de massa/inércia manuais requerem os modos automáticos desligados. [Materiais e sensores](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#material-físico-por-corpo-e-por-forma)."
      }
    },
    {
      "typeId": "astra.physics.character",
      "name": "Personagem",
      "description": "Locomoção com cápsula",
      "family": "Física 3D",
      "subfamily": "Corpos",
      "api": "Character",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-CharacterController.html",
      "aliases": "CharacterController CharacterBody3D Jogador",
      "schemaVersion": 7,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "não permitido",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.physics.body",
          "message": "Incompatível com corpo físico"
        },
        {
          "typeId": "astra.physics.collider",
          "message": "O personagem traz a própria cápsula; remova o Colisor 3D"
        },
        {
          "typeId": "astra.physics.dynamic_motor",
          "message": "Escolha Character ou motor de corpo dinâmico"
        }
      ],
      "properties": [
        {
          "id": "radius",
          "name": "Raio m",
          "kind": "número",
          "group": "Cápsula",
          "unit": "m",
          "help": "",
          "default": "0.45",
          "domain": "0.01 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-radius"
        },
        {
          "id": "half_height",
          "name": "Meia altura do cilindro m",
          "kind": "número",
          "group": "Cápsula",
          "unit": "m",
          "help": "",
          "default": "0.55",
          "domain": "0.01 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia dimensão da forma/volume no eixo indicado. Dimensão total é o dobro; aplica-se à forma selecionada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-half-height"
        },
        {
          "id": "eye_height",
          "name": "Altura dos olhos m",
          "kind": "número",
          "group": "Cápsula",
          "unit": "m",
          "help": "",
          "default": "1.65",
          "domain": "0.02 … 20",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura de referência dos olhos do Character.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-eye-height"
        },
        {
          "id": "speed",
          "name": "Velocidade m/s",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s",
          "help": "",
          "default": "8",
          "domain": "0.01 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade de reprodução/percurso/motor na unidade do componente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-speed"
        },
        {
          "id": "slope_degrees",
          "name": "Inclinação máxima graus",
          "kind": "número",
          "group": "Locomoção",
          "unit": "°",
          "help": "",
          "default": "45",
          "domain": "1 … 89",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclinação máxima de apoio do Character.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-slope-degrees"
        },
        {
          "id": "jump_speed",
          "name": "Velocidade do salto m/s",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s",
          "help": "",
          "default": "5",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade alvo inicial de salto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-jump-speed"
        },
        {
          "id": "step_height",
          "name": "Altura do degrau",
          "kind": "número",
          "group": "Chão",
          "unit": "m",
          "help": "",
          "default": "0.4",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura de degrau que o Character pode transpor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-step-height"
        },
        {
          "id": "floor_snap_length",
          "name": "Aderência ao chão",
          "kind": "número",
          "group": "Chão",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância de snap ao chão; confira degraus e bordas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-floor-snap-length"
        },
        {
          "id": "gravity",
          "name": "Gravidade",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s²",
          "help": "",
          "default": "9.81",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração de gravidade do Character.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-gravity"
        },
        {
          "id": "control_priority_ui",
          "name": "Prioridade UI",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "10",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-control-priority-ui"
        },
        {
          "id": "control_priority_keyboard",
          "name": "Prioridade Teclado / mouse",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "10",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-control-priority-keyboard"
        },
        {
          "id": "control_priority_gamepad",
          "name": "Prioridade Gamepad",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "10",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-control-priority-gamepad"
        },
        {
          "id": "control_priority_script",
          "name": "Prioridade Script",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "20",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-control-priority-script"
        },
        {
          "id": "control_priority_ai",
          "name": "Prioridade IA",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "5",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-control-priority-ai"
        },
        {
          "id": "acceleration",
          "name": "Aceleração",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s²",
          "help": "Zero responde na hora (comportamento anterior); maior que zero acelera até a velocidade pedida.",
          "default": "0",
          "domain": "0 … 200",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Zero responde na hora (comportamento anterior); maior que zero acelera até a velocidade pedida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-acceleration"
        },
        {
          "id": "braking",
          "name": "Frenagem",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s²",
          "help": "Zero para na hora; maior que zero desacelera ao soltar o comando ou mudar de direção.",
          "default": "0",
          "domain": "0 … 200",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Zero para na hora; maior que zero desacelera ao soltar o comando ou mudar de direção.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-braking"
        },
        {
          "id": "air_control",
          "name": "Controle no ar",
          "kind": "número",
          "group": "Salto",
          "unit": "",
          "help": "Fração da aceleração disponível sem apoio; zero conserva o impulso do salto.",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração da aceleração disponível sem apoio; zero conserva o impulso do salto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-air-control"
        },
        {
          "id": "swim_speed",
          "name": "Velocidade de nado",
          "kind": "número",
          "group": "Modos",
          "unit": "",
          "help": "Fração da velocidade usada dentro da água.",
          "default": "0.6",
          "domain": "0.05 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração da velocidade usada dentro da água.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-swim-speed"
        },
        {
          "id": "turn_rate",
          "name": "Giro ao dirigir",
          "kind": "número",
          "group": "Modos",
          "unit": "°/s",
          "help": "Velocidade de giro no modo Dirigir; cresce com a velocidade e inverte de ré.",
          "default": "90",
          "domain": "0 … 720",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade de giro no modo Dirigir; cresce com a velocidade e inverte de ré.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-turn-rate"
        },
        {
          "id": "face_turn_speed",
          "name": "Velocidade do giro",
          "kind": "número",
          "group": "Direção",
          "unit": "°/s",
          "help": "Giro máximo do corpo ao seguir a direção do movimento.",
          "default": "720",
          "domain": "30 … 1440",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro máximo do corpo ao seguir a direção do movimento.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-face-turn-speed"
        },
        {
          "id": "rotation_smooth_time",
          "name": "Suavização do giro",
          "kind": "número",
          "group": "Direção",
          "unit": "s",
          "help": "Tempo para alcançar a direção nova (RotationSmoothTime da Unity). Zero vira na hora, limitado pela velocidade do giro.",
          "default": "0.12",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo para alcançar a direção nova (RotationSmoothTime da Unity). Zero vira na hora, limitado pela velocidade do giro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-rotation-smooth-time"
        },
        {
          "id": "inherit_platform_horizontal",
          "name": "Impulso ao sair",
          "kind": "booleano",
          "group": "Chão",
          "unit": "",
          "help": "Conserva X/Z da superfície no ar; desligar remove apenas esse impulso, sem recriar a cápsula.",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Conserva X/Z da superfície no ar; desligar remove apenas esse impulso, sem recriar a cápsula.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-inherit-platform-horizontal"
        },
        {
          "id": "face_movement",
          "name": "Girar para a direção do movimento",
          "kind": "booleano",
          "group": "Direção",
          "unit": "",
          "help": "O corpo vira suavemente para onde o personagem anda; parado, mantém a última direção. No modo Dirigir o giro é o do veículo.",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O corpo vira suavemente para onde o personagem anda; parado, mantém a última direção. No modo Dirigir o giro é o do veículo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-face-movement"
        },
        {
          "id": "camera_relative",
          "name": "Relativo à câmera",
          "kind": "booleano",
          "group": "Direção",
          "unit": "",
          "help": "Frente é para onde a câmera olha. Desligado, frente é +Z do mundo (o comando ignora a câmera).",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frente é para onde a câmera olha. Desligado, frente é +Z do mundo (o comando ignora a câmera).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-camera-relative"
        },
        {
          "id": "control_source",
          "name": "Fonte de controle",
          "kind": "enumeração",
          "group": "Posse de controle",
          "unit": "",
          "help": "Automático arbitra prioridades; fonte fixa dá posse exclusiva, sem converter a malha ou a colisão.",
          "default": "Automático",
          "domain": "Automático | UI | Teclado / mouse | Gamepad | Script | IA",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Automático arbitra os canais; UI/Teclado/Gamepad/Script/IA escolhe uma origem exclusiva. Origem exclusiva neutra mantém a posse; não passa para a IA.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-control-source"
        },
        {
          "id": "movement_mode",
          "name": "Modo de movimento",
          "kind": "enumeração",
          "group": "Modos",
          "unit": "",
          "help": "Solo usa gravidade e apoio; Voo ignora a gravidade e usa o eixo vertical; Nado entra em vigor dentro de um volume de água da cena e volta ao solo fora dele; Dirigir transforma frente/trás em acelerador e lados em giro, sem deslizar de lado.",
          "default": "Solo",
          "domain": "Solo | Voo | Nado na água | Dirigir",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física, corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Solo usa gravidade e apoio; Voo ignora a gravidade e usa o eixo vertical; Nado entra em vigor dentro de um volume de água da cena e volta ao solo fora dele; Dirigir transforma frente/trás em acelerador e lados em giro, sem deslizar de lado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-character/#field-movement-mode"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "crouch",
          "name": "Agachar",
          "help": "Troca para a cápsula baixa; levantar falha sem espaço acima",
          "result": "booleano",
          "parameters": [
            {
              "id": "crouching",
              "name": "Agachado",
              "kind": "booleano",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_vertical",
          "name": "Subir/descer",
          "help": "Eixo vertical do voo e do nado neste quadro (-1 a 1)",
          "result": "nada",
          "parameters": [
            {
              "id": "axis",
              "name": "Eixo vertical",
              "kind": "número",
              "unit": ""
            }
          ]
        },
        {
          "id": "in_water",
          "name": "Na água",
          "help": "Verdadeiro enquanto o nado está em vigor",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "collider_hit",
          "name": "Bateu num colisor",
          "help": "O movimento do personagem colidiu com um corpo; carrega o objeto, o ponto e a normal",
          "payload": [
            {
              "id": "other",
              "name": "Objeto tocado",
              "kind": "objeto",
              "unit": ""
            },
            {
              "id": "point",
              "name": "Ponto",
              "kind": "vetor",
              "unit": "m"
            },
            {
              "id": "normal",
              "name": "Normal",
              "kind": "vetor",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Locomoção com cápsula",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Corpos** → **Personagem**.",
        "extra": "A seção Posse de controle escolhe UI, teclado, gamepad, Script ou IA. Prioridades ficam visíveis em Automático. Selecionar uma origem não cria vínculos de entrada. [Arbitragem, cancelamento, campos e receita](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/).",
        "related": "[Posse e movimento medido](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/)"
      }
    },
    {
      "typeId": "astra.physics.collider",
      "name": "Colisor 3D",
      "description": "Volume de contato",
      "family": "Física 3D",
      "subfamily": "Formas",
      "api": "Collider",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-BoxCollider.html",
      "aliases": "BoxCollider SphereCollider CapsuleCollider MeshCollider CylinderShape3D CollisionShape3D",
      "schemaVersion": 9,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "não permitido",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.physics.character",
          "message": "O personagem já possui cápsula própria"
        }
      ],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0.01 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0.01 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-half-y"
        },
        {
          "id": "half_z",
          "name": "Meia extensão Z",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0.01 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-half-z"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0.01 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-radius"
        },
        {
          "id": "half_height",
          "name": "Meia altura cilíndrica",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0.01 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia dimensão da forma/volume no eixo indicado. Dimensão total é o dobro; aplica-se à forma selecionada.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-half-height"
        },
        {
          "id": "center_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Pose",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro local da forma de colisão, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-center-x"
        },
        {
          "id": "center_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Pose",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro local da forma de colisão, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-center-y"
        },
        {
          "id": "center_z",
          "name": "Centro Z",
          "kind": "número",
          "group": "Pose",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro local da forma de colisão, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-center-z"
        },
        {
          "id": "rotation_x",
          "name": "Rotação local X",
          "kind": "número",
          "group": "Pose",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-rotation-x"
        },
        {
          "id": "rotation_y",
          "name": "Rotação local Y",
          "kind": "número",
          "group": "Pose",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-rotation-y"
        },
        {
          "id": "rotation_z",
          "name": "Rotação local Z",
          "kind": "número",
          "group": "Pose",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-10000000 … 10000000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotação autorada do sistema na unidade indicada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-rotation-z"
        },
        {
          "id": "hull_tolerance",
          "name": "Tolerância do casco",
          "kind": "número",
          "group": "Cozimento",
          "unit": "u",
          "help": "Pontos até esta distância podem ficar fora do casco; valores maiores geram cascos mais simples.",
          "default": "0.001",
          "domain": "0.00001 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Pontos até esta distância podem ficar fora do casco; valores maiores geram cascos mais simples.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-hull-tolerance"
        },
        {
          "id": "active_edge_angle",
          "name": "Ângulo de aresta ativa",
          "kind": "número",
          "group": "Cozimento",
          "unit": "°",
          "help": "Separa arestas de contato em superfícies com mudança de normal acima deste ângulo.",
          "default": "5",
          "domain": "0 … 90",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Separa arestas de contato em superfícies com mudança de normal acima deste ângulo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-active-edge-angle"
        },
        {
          "id": "friction",
          "name": "Atrito",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "Usado por esta forma quando Material próprio está ligado",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usado por esta forma quando Material próprio está ligado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-friction"
        },
        {
          "id": "restitution",
          "name": "Restituição",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Restituição nos contatos; controla ressalto conforme a combinação física.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-restitution"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-enabled"
        },
        {
          "id": "convex",
          "name": "Convexo",
          "kind": "booleano",
          "group": "Forma",
          "unit": "",
          "help": "Casco convexo da malha: aceita corpo dinâmico. Desligado usa os triângulos exatos e só vale em corpo estático ou cinemático.",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Casco convexo da malha: aceita corpo dinâmico. Desligado usa os triângulos exatos e só vale em corpo estático ou cinemático.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-convex"
        },
        {
          "id": "weld_vertices",
          "name": "Soldar vértices iguais",
          "kind": "booleano",
          "group": "Cozimento",
          "unit": "",
          "help": "Compartilha vértices coincidentes antes de criar a malha física, reduzindo costuras internas.",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Compartilha vértices coincidentes antes de criar a malha física, reduzindo costuras internas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-weld-vertices"
        },
        {
          "id": "optimize_cooking",
          "name": "Otimizar para o jogo",
          "kind": "booleano",
          "group": "Cozimento",
          "unit": "",
          "help": "Constrói uma árvore de busca mais eficiente; desligue para cozinhar mais rápido durante iterações.",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constrói uma árvore de busca mais eficiente; desligue para cozinhar mais rápido durante iterações.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-optimize-cooking"
        },
        {
          "id": "mesh_local_pose",
          "name": "Pose local da malha",
          "kind": "booleano",
          "group": "Forma",
          "unit": "",
          "help": "Aplica centro e rotação locais à geometria física; não altera a malha visual. Desligado mantém a pose legada do objeto.",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aplica centro e rotação locais à geometria física; não altera a malha visual. Desligado mantém a pose legada do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-mesh-local-pose"
        },
        {
          "id": "own_material",
          "name": "Material próprio",
          "kind": "booleano",
          "group": "Material",
          "unit": "",
          "help": "Esta forma usa atrito, restituição e superfície próprios em vez dos do corpo",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ligado usa material físico próprio desta forma. Desligado herda o do corpo. Não altera cor/textura.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-own-material"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "Caixa",
          "domain": "Caixa | Esfera | Cápsula | Malha | Cilindro",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe a geometria do colisor/campo no domínio indicado; os campos relevantes mudam por forma.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-shape"
        },
        {
          "id": "friction_combine",
          "name": "Combinar atrito",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "Padrão do motor",
          "domain": "Padrão do motor | Média | Mínimo | Multiplicar | Máximo",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Política de combinar atrito do par. Padrão conserva a regra do motor; a precedência dos modos participa da escolha.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-friction-combine"
        },
        {
          "id": "restitution_combine",
          "name": "Combinar restituição",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "Padrão do motor",
          "domain": "Padrão do motor | Média | Mínimo | Multiplicar | Máximo",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Política de combinar restituição do par. Compare em uma queda controlada; não muda o material visual.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-restitution-combine"
        },
        {
          "id": "surface",
          "name": "Superfície",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "Padrão",
          "domain": "Padrão | Concreto | Madeira | Metal | Grama | Terra | Areia | Água | Gelo | Borracha | Vidro | Tecido | Pedra",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Classificação da superfície para consumidores como regras de passos. Selecionar o valor não cria som ou Behavior automaticamente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-surface"
        },
        {
          "id": "owner",
          "name": "Corpo proprietário",
          "kind": "referência",
          "group": "Vínculo",
          "unit": "",
          "help": "",
          "default": "Neste objeto",
          "domain": "astra.physics.body · neste objeto ou ancestral",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe o dono do corpo/forma no domínio do colisor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-collider/#field-owner"
        }
      ],
      "resources": [
        {
          "id": "collision_mesh",
          "name": "Malha de colisão",
          "kind": "mesh",
          "group": "Forma",
          "help": "Vazio usa a malha visual; escolha uma malha simplificada para a física",
          "inheritable": true
        },
        {
          "id": "material",
          "name": "Material físico",
          "kind": "physics_material",
          "group": "Material",
          "help": "Recurso compartilhado; escolher copia atrito, restituição, combinação e superfície para esta forma",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [
        {
          "id": "trigger_enter",
          "name": "Sensor: entrou",
          "help": "Outro corpo começou a sobrepor este sensor",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "trigger_exit",
          "name": "Sensor: saiu",
          "help": "Outro corpo deixou de sobrepor este sensor",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "collision_enter",
          "name": "Colisão: começou",
          "help": "Contato sólido começou; entregue aos dois objetos",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "collision_exit",
          "name": "Colisão: terminou",
          "help": "Contato sólido terminou; entregue aos dois objetos",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "trigger_stay",
          "name": "Sensor: dentro",
          "help": "Outro corpo continua sobrepondo este sensor; no máximo uma vez por quadro e par",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Volume de contato",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Formas** → **Colisor 3D**.",
        "extra": "Material próprio diferencia esta forma do material do corpo. Desligado, usa o corpo. Recurso .physmat também abre em Propriedades pelo navegador de arquivos. [Materiais por forma](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#material-físico-por-corpo-e-por-forma)."
      }
    },
    {
      "typeId": "astra.physics.joint",
      "name": "Junta",
      "description": "Nove mecanismos Jolt com limites, referenciais e motores",
      "family": "Física 3D",
      "subfamily": "Juntas",
      "api": "Joint",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_generic6dofjoint3d.html",
      "aliases": "HingeJoint SliderJoint SpringJoint FixedJoint ConeTwistJoint3D Generic6DOFJoint3D",
      "schemaVersion": 3,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics.body",
          "message": "Adicione Corpo físico a este objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "anchor_a_x",
          "name": "Âncora A · X",
          "kind": "número",
          "group": "Âncoras",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo A, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-anchor-a-x"
        },
        {
          "id": "anchor_a_y",
          "name": "Âncora A · Y",
          "kind": "número",
          "group": "Âncoras",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo A, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-anchor-a-y"
        },
        {
          "id": "anchor_a_z",
          "name": "Âncora A · Z",
          "kind": "número",
          "group": "Âncoras",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo A, componente Z. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-anchor-a-z"
        },
        {
          "id": "anchor_b_x",
          "name": "Âncora B · X",
          "kind": "número",
          "group": "Âncoras",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo B, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-anchor-b-x"
        },
        {
          "id": "anchor_b_y",
          "name": "Âncora B · Y",
          "kind": "número",
          "group": "Âncoras",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo B, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-anchor-b-y"
        },
        {
          "id": "anchor_b_z",
          "name": "Âncora B · Z",
          "kind": "número",
          "group": "Âncoras",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo B, componente Z. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-anchor-b-z"
        },
        {
          "id": "axis_a_x",
          "name": "Eixo A · X",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direção do eixo no frame do corpo A, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-axis-a-x"
        },
        {
          "id": "axis_a_y",
          "name": "Eixo A · Y",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direção do eixo no frame do corpo A, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-axis-a-y"
        },
        {
          "id": "axis_a_z",
          "name": "Eixo A · Z",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direção do eixo no frame do corpo A, componente Z. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-axis-a-z"
        },
        {
          "id": "axis_b_x",
          "name": "Eixo B · X",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direção do eixo no frame do corpo B, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-axis-b-x"
        },
        {
          "id": "axis_b_y",
          "name": "Eixo B · Y",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direção do eixo no frame do corpo B, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-axis-b-y"
        },
        {
          "id": "axis_b_z",
          "name": "Eixo B · Z",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direção do eixo no frame do corpo B, componente Z. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-axis-b-z"
        },
        {
          "id": "limit_min",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior da junta na unidade do tipo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-limit-min"
        },
        {
          "id": "limit_max",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite superior da junta na unidade do tipo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-limit-max"
        },
        {
          "id": "motor_velocity",
          "name": "Velocidade do motor",
          "kind": "número",
          "group": "Motor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade alvo do motor da junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-motor-velocity"
        },
        {
          "id": "motor_position",
          "name": "Alvo do motor",
          "kind": "número",
          "group": "Motor",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição alvo do motor da junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-motor-position"
        },
        {
          "id": "motor_force",
          "name": "Força / torque máximo",
          "kind": "número",
          "group": "Motor",
          "unit": "",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Força/torque máximo do motor, conforme o tipo de junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-motor-force"
        },
        {
          "id": "spring_frequency",
          "name": "Frequência · Hz",
          "kind": "número",
          "group": "Motor",
          "unit": "Hz",
          "help": "",
          "default": "2",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frequência da mola da junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-spring-frequency"
        },
        {
          "id": "spring_damping",
          "name": "Amortecimento da mola",
          "kind": "número",
          "group": "Motor",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento da mola da junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-spring-damping"
        },
        {
          "id": "normal_a_x",
          "name": "Plano A · X",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Normal de referência no frame do corpo A, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-normal-a-x"
        },
        {
          "id": "normal_a_y",
          "name": "Plano A · Y",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Normal de referência no frame do corpo A, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-normal-a-y"
        },
        {
          "id": "normal_a_z",
          "name": "Plano A · Z",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Normal de referência no frame do corpo A, componente Z. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-normal-a-z"
        },
        {
          "id": "normal_b_x",
          "name": "Plano B · X",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Normal de referência no frame do corpo B, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-normal-b-x"
        },
        {
          "id": "normal_b_y",
          "name": "Plano B · Y",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Normal de referência no frame do corpo B, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-normal-b-y"
        },
        {
          "id": "normal_b_z",
          "name": "Plano B · Z",
          "kind": "número",
          "group": "Eixos",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Normal de referência no frame do corpo B, componente Z. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-normal-b-z"
        },
        {
          "id": "swing_y",
          "name": "Cone · semiângulo Y",
          "kind": "número",
          "group": "Rotação",
          "unit": "°",
          "help": "",
          "default": "45",
          "domain": "0 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de swing no eixo Y da junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-swing-y"
        },
        {
          "id": "swing_z",
          "name": "Cone · semiângulo Z",
          "kind": "número",
          "group": "Rotação",
          "unit": "°",
          "help": "",
          "default": "45",
          "domain": "0 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de swing no eixo Z da junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-swing-z"
        },
        {
          "id": "twist_min",
          "name": "Torção mínima",
          "kind": "número",
          "group": "Rotação",
          "unit": "°",
          "help": "",
          "default": "-45",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior de twist.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-twist-min"
        },
        {
          "id": "twist_max",
          "name": "Torção máxima",
          "kind": "número",
          "group": "Rotação",
          "unit": "°",
          "help": "",
          "default": "45",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite superior de twist.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-twist-max"
        },
        {
          "id": "linear_x_minimum",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Translação X",
          "unit": "u",
          "help": "",
          "default": "-1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite inferior do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-minimum"
        },
        {
          "id": "linear_x_maximum",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Translação X",
          "unit": "u",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite superior do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-maximum"
        },
        {
          "id": "linear_x_friction",
          "name": "Atrito máximo",
          "kind": "número",
          "group": "Translação X",
          "unit": "N",
          "help": "",
          "default": "0",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: fricção no grau de liberdade do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-friction"
        },
        {
          "id": "linear_x_velocity",
          "name": "Velocidade alvo",
          "kind": "número",
          "group": "Translação X",
          "unit": "u/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: velocidade alvo do motor do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-velocity"
        },
        {
          "id": "linear_x_position",
          "name": "Posição alvo",
          "kind": "número",
          "group": "Translação X",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: posição/ângulo alvo do motor do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-position"
        },
        {
          "id": "linear_x_force",
          "name": "Força máxima",
          "kind": "número",
          "group": "Translação X",
          "unit": "N",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: força/torque máximo do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-force"
        },
        {
          "id": "linear_x_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Translação X",
          "unit": "Hz",
          "help": "",
          "default": "2",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: frequência da mola do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-frequency"
        },
        {
          "id": "linear_x_damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Translação X",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: amortecimento da mola do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-damping"
        },
        {
          "id": "linear_y_minimum",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Translação Y",
          "unit": "u",
          "help": "",
          "default": "-1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite inferior do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-minimum"
        },
        {
          "id": "linear_y_maximum",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Translação Y",
          "unit": "u",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite superior do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-maximum"
        },
        {
          "id": "linear_y_friction",
          "name": "Atrito máximo",
          "kind": "número",
          "group": "Translação Y",
          "unit": "N",
          "help": "",
          "default": "0",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: fricção no grau de liberdade do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-friction"
        },
        {
          "id": "linear_y_velocity",
          "name": "Velocidade alvo",
          "kind": "número",
          "group": "Translação Y",
          "unit": "u/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: velocidade alvo do motor do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-velocity"
        },
        {
          "id": "linear_y_position",
          "name": "Posição alvo",
          "kind": "número",
          "group": "Translação Y",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: posição/ângulo alvo do motor do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-position"
        },
        {
          "id": "linear_y_force",
          "name": "Força máxima",
          "kind": "número",
          "group": "Translação Y",
          "unit": "N",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: força/torque máximo do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-force"
        },
        {
          "id": "linear_y_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Translação Y",
          "unit": "Hz",
          "help": "",
          "default": "2",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: frequência da mola do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-frequency"
        },
        {
          "id": "linear_y_damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Translação Y",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: amortecimento da mola do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-damping"
        },
        {
          "id": "linear_z_minimum",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Translação Z",
          "unit": "u",
          "help": "",
          "default": "-1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite inferior do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-minimum"
        },
        {
          "id": "linear_z_maximum",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Translação Z",
          "unit": "u",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite superior do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-maximum"
        },
        {
          "id": "linear_z_friction",
          "name": "Atrito máximo",
          "kind": "número",
          "group": "Translação Z",
          "unit": "N",
          "help": "",
          "default": "0",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: fricção no grau de liberdade do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-friction"
        },
        {
          "id": "linear_z_velocity",
          "name": "Velocidade alvo",
          "kind": "número",
          "group": "Translação Z",
          "unit": "u/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: velocidade alvo do motor do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-velocity"
        },
        {
          "id": "linear_z_position",
          "name": "Posição alvo",
          "kind": "número",
          "group": "Translação Z",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: posição/ângulo alvo do motor do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-position"
        },
        {
          "id": "linear_z_force",
          "name": "Força máxima",
          "kind": "número",
          "group": "Translação Z",
          "unit": "N",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: força/torque máximo do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-force"
        },
        {
          "id": "linear_z_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Translação Z",
          "unit": "Hz",
          "help": "",
          "default": "2",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: frequência da mola do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-frequency"
        },
        {
          "id": "linear_z_damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Translação Z",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: amortecimento da mola do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-damping"
        },
        {
          "id": "angular_x_minimum",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Rotação X",
          "unit": "°",
          "help": "",
          "default": "-1",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite inferior do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-minimum"
        },
        {
          "id": "angular_x_maximum",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Rotação X",
          "unit": "°",
          "help": "",
          "default": "1",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite superior do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-maximum"
        },
        {
          "id": "angular_x_friction",
          "name": "Atrito máximo",
          "kind": "número",
          "group": "Rotação X",
          "unit": "Nm",
          "help": "",
          "default": "0",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: fricção no grau de liberdade do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-friction"
        },
        {
          "id": "angular_x_velocity",
          "name": "Velocidade alvo",
          "kind": "número",
          "group": "Rotação X",
          "unit": "°/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: velocidade alvo do motor do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-velocity"
        },
        {
          "id": "angular_x_position",
          "name": "Posição alvo",
          "kind": "número",
          "group": "Rotação X",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: posição/ângulo alvo do motor do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-position"
        },
        {
          "id": "angular_x_force",
          "name": "Força máxima",
          "kind": "número",
          "group": "Rotação X",
          "unit": "Nm",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: força/torque máximo do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-force"
        },
        {
          "id": "angular_x_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Rotação X",
          "unit": "Hz",
          "help": "",
          "default": "2",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: frequência da mola do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-frequency"
        },
        {
          "id": "angular_x_damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Rotação X",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: amortecimento da mola do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-damping"
        },
        {
          "id": "angular_y_minimum",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "°",
          "help": "",
          "default": "-1",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite inferior do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-minimum"
        },
        {
          "id": "angular_y_maximum",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "°",
          "help": "",
          "default": "1",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite superior do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-maximum"
        },
        {
          "id": "angular_y_friction",
          "name": "Atrito máximo",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "Nm",
          "help": "",
          "default": "0",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: fricção no grau de liberdade do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-friction"
        },
        {
          "id": "angular_y_velocity",
          "name": "Velocidade alvo",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "°/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: velocidade alvo do motor do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-velocity"
        },
        {
          "id": "angular_y_position",
          "name": "Posição alvo",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: posição/ângulo alvo do motor do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-position"
        },
        {
          "id": "angular_y_force",
          "name": "Força máxima",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "Nm",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: força/torque máximo do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-force"
        },
        {
          "id": "angular_y_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "Hz",
          "help": "",
          "default": "2",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: frequência da mola do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-frequency"
        },
        {
          "id": "angular_y_damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Rotação Y",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: amortecimento da mola do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-damping"
        },
        {
          "id": "angular_z_minimum",
          "name": "Limite mínimo",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "°",
          "help": "",
          "default": "-1",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite inferior do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-minimum"
        },
        {
          "id": "angular_z_maximum",
          "name": "Limite máximo",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "°",
          "help": "",
          "default": "1",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: limite superior do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-maximum"
        },
        {
          "id": "angular_z_friction",
          "name": "Atrito máximo",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "Nm",
          "help": "",
          "default": "0",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: fricção no grau de liberdade do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-friction"
        },
        {
          "id": "angular_z_velocity",
          "name": "Velocidade alvo",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "°/s",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: velocidade alvo do motor do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-velocity"
        },
        {
          "id": "angular_z_position",
          "name": "Posição alvo",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: posição/ângulo alvo do motor do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-position"
        },
        {
          "id": "angular_z_force",
          "name": "Força máxima",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "Nm",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: força/torque máximo do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-force"
        },
        {
          "id": "angular_z_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "Hz",
          "help": "",
          "default": "2",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: frequência da mola do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-frequency"
        },
        {
          "id": "angular_z_damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Rotação Z",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: amortecimento da mola do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-damping"
        },
        {
          "id": "break_force",
          "name": "Força de quebra",
          "kind": "número",
          "group": "Quebra",
          "unit": "N",
          "help": "Zero: nunca quebra. Acima, a junta sai do solver no passo em que a força de restrição passa do limite",
          "default": "0",
          "domain": "0 … 1000000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de força para quebra da junta; zero conserva sem quebra por força. A quebra é estado do Play, não exclusão do componente autoral.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-break-force"
        },
        {
          "id": "break_torque",
          "name": "Torque de quebra",
          "kind": "número",
          "group": "Quebra",
          "unit": "N·m",
          "help": "Zero: nunca quebra por torque",
          "default": "0",
          "domain": "0 … 1000000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de torque para quebra; zero conserva sem quebra por torque. Ligue um receptor ao evento para uma regra de gameplay.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-break-torque"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-enabled"
        },
        {
          "id": "kind",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "",
          "unit": "",
          "help": "",
          "default": "Distância",
          "domain": "Ponto | Dobradiça | Deslizante | Distância | Fixa | Cone | Swing / Twist | Configurável 6DOF | Mola",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe a variante de luz/junta no domínio indicado; siga os campos e requisitos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-kind"
        },
        {
          "id": "motor",
          "name": "Motor",
          "kind": "enumeração",
          "group": "Motor",
          "unit": "",
          "help": "",
          "default": "Desligado",
          "domain": "Desligado | Velocidade | Posição | Posição e velocidade",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Modo de motor da junta; exige tipo e limites compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-motor"
        },
        {
          "id": "linear_x_motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Translação X",
          "unit": "",
          "help": "",
          "default": "Travado",
          "domain": "Travado | Limitado | Livre",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: política livre/limitado/travado do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-motion"
        },
        {
          "id": "linear_x_motor",
          "name": "Motor",
          "kind": "enumeração",
          "group": "Translação X",
          "unit": "",
          "help": "",
          "default": "Desligado",
          "domain": "Desligado | Velocidade | Posição | Posição e velocidade",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: modo do motor do canal linear X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-x-motor"
        },
        {
          "id": "linear_y_motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Translação Y",
          "unit": "",
          "help": "",
          "default": "Travado",
          "domain": "Travado | Limitado | Livre",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: política livre/limitado/travado do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-motion"
        },
        {
          "id": "linear_y_motor",
          "name": "Motor",
          "kind": "enumeração",
          "group": "Translação Y",
          "unit": "",
          "help": "",
          "default": "Desligado",
          "domain": "Desligado | Velocidade | Posição | Posição e velocidade",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: modo do motor do canal linear Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-y-motor"
        },
        {
          "id": "linear_z_motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Translação Z",
          "unit": "",
          "help": "",
          "default": "Travado",
          "domain": "Travado | Limitado | Livre",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: política livre/limitado/travado do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-motion"
        },
        {
          "id": "linear_z_motor",
          "name": "Motor",
          "kind": "enumeração",
          "group": "Translação Z",
          "unit": "",
          "help": "",
          "default": "Desligado",
          "domain": "Desligado | Velocidade | Posição | Posição e velocidade",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: modo do motor do canal linear Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-linear-z-motor"
        },
        {
          "id": "angular_x_motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Rotação X",
          "unit": "",
          "help": "",
          "default": "Travado",
          "domain": "Travado | Limitado | Livre",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: política livre/limitado/travado do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-motion"
        },
        {
          "id": "angular_x_motor",
          "name": "Motor",
          "kind": "enumeração",
          "group": "Rotação X",
          "unit": "",
          "help": "",
          "default": "Desligado",
          "domain": "Desligado | Velocidade | Posição | Posição e velocidade",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: modo do motor do canal angular X. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-x-motor"
        },
        {
          "id": "angular_y_motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Rotação Y",
          "unit": "",
          "help": "",
          "default": "Travado",
          "domain": "Travado | Limitado | Livre",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: política livre/limitado/travado do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-motion"
        },
        {
          "id": "angular_y_motor",
          "name": "Motor",
          "kind": "enumeração",
          "group": "Rotação Y",
          "unit": "",
          "help": "",
          "default": "Desligado",
          "domain": "Desligado | Velocidade | Posição | Posição e velocidade",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: modo do motor do canal angular Y. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-y-motor"
        },
        {
          "id": "angular_z_motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Rotação Z",
          "unit": "",
          "help": "",
          "default": "Travado",
          "domain": "Travado | Limitado | Livre",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: política livre/limitado/travado do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-motion"
        },
        {
          "id": "angular_z_motor",
          "name": "Motor",
          "kind": "enumeração",
          "group": "Rotação Z",
          "unit": "",
          "help": "",
          "default": "Desligado",
          "domain": "Desligado | Velocidade | Posição | Posição e velocidade",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Junta: modo do motor do canal angular Z. O tipo de junta, modo e unidade definem quando tem efeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-angular-z-motor"
        },
        {
          "id": "connected_body",
          "name": "Conectar corpo",
          "kind": "referência",
          "group": "Âncoras",
          "unit": "",
          "help": "",
          "default": "Escolher corpo",
          "domain": "astra.physics.body · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com o corpo conectado; confira a cadeia de dependências.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-joint/#field-connected-body"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [
        {
          "id": "broken",
          "name": "Quebrou",
          "help": "Força ou torque passou do limite; a junta saiu do solver até o fim do Play (Unity OnJointBreak)",
          "payload": [
            {
              "id": "force",
              "name": "Força ou torque",
              "kind": "número",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Nove mecanismos Jolt com limites, referenciais e motores",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Juntas** → **Junta**.",
        "extra": "Quebra por força/torque remove a restrição do solver e publica o evento em runtime. O componente autoral permanece. Zero conserva a junta sem quebra por esse limite; a quebra no Play não vira exclusão salva."
      }
    },
    {
      "typeId": "astra.physics.dynamic_motor",
      "name": "Motor dinâmico",
      "description": "Locomoção por força e salto com apoio sobre Corpo físico dinâmico",
      "family": "Física 3D",
      "subfamily": "Corpos",
      "api": "DynamicBodyMotor",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_rigidbody3d.html",
      "aliases": "DynamicBodyMotor Rigidbody RigidBody3D Jogador Motor",
      "schemaVersion": 3,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics.body",
          "message": "Adicione Corpo físico dinâmico ao receptor"
        }
      ],
      "conflicts": [
        {
          "typeId": "astra.physics.character",
          "message": "Incompatível com personagem cápsula"
        }
      ],
      "properties": [
        {
          "id": "speed",
          "name": "Velocidade",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s",
          "help": "",
          "default": "6",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade de reprodução/percurso/motor na unidade do componente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-speed"
        },
        {
          "id": "acceleration",
          "name": "Aceleração",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s²",
          "help": "",
          "default": "24",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limita a força de correção para atingir a velocidade alvo; usa a massa real, sem escrever Transform diretamente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-acceleration"
        },
        {
          "id": "braking",
          "name": "Frenagem",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s²",
          "help": "",
          "default": "36",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limita a correção da velocidade quando não há comando de movimento.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-braking"
        },
        {
          "id": "air_control",
          "name": "Controle no ar",
          "kind": "número",
          "group": "Locomoção",
          "unit": "",
          "help": "",
          "default": "0.25",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplicador de controle enquanto sem apoio.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-air-control"
        },
        {
          "id": "jump_speed",
          "name": "Velocidade do salto",
          "kind": "número",
          "group": "Locomoção",
          "unit": "m/s",
          "help": "",
          "default": "6",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade alvo inicial de salto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-jump-speed"
        },
        {
          "id": "probe_height",
          "name": "Centro até os pés",
          "kind": "número",
          "group": "Chão",
          "unit": "m",
          "help": "Usado somente quando Apoio pela colisão está desligado.",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usado somente quando Apoio pela colisão está desligado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-probe-height"
        },
        {
          "id": "probe_distance",
          "name": "Alcance abaixo dos pés",
          "kind": "número",
          "group": "Chão",
          "unit": "m",
          "help": "",
          "default": "0.15",
          "domain": "0.001 … 2",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alcance da consulta de apoio.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-probe-distance"
        },
        {
          "id": "support_radius",
          "name": "Raio de sondagem",
          "kind": "número",
          "group": "Chão",
          "unit": "m",
          "help": "Usado somente quando Apoio pela colisão está desligado.",
          "default": "0.3",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usado somente quando Apoio pela colisão está desligado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-support-radius"
        },
        {
          "id": "max_slope",
          "name": "Rampa máxima",
          "kind": "número",
          "group": "Chão",
          "unit": "°",
          "help": "",
          "default": "50",
          "domain": "0 … 89",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclinação máxima de apoio do motor.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-max-slope"
        },
        {
          "id": "control_priority_ui",
          "name": "Prioridade UI",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "10",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-control-priority-ui"
        },
        {
          "id": "control_priority_keyboard",
          "name": "Prioridade Teclado / mouse",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "10",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-control-priority-keyboard"
        },
        {
          "id": "control_priority_gamepad",
          "name": "Prioridade Gamepad",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "10",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-control-priority-gamepad"
        },
        {
          "id": "control_priority_script",
          "name": "Prioridade Script",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "20",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-control-priority-script"
        },
        {
          "id": "control_priority_ai",
          "name": "Prioridade IA",
          "kind": "número",
          "group": "Posse de controle",
          "unit": "",
          "help": "Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro.",
          "default": "5",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico, entrada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-control-priority-ai"
        },
        {
          "id": "enabled",
          "name": "Habilitado",
          "kind": "booleano",
          "group": "Locomoção",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-enabled"
        },
        {
          "id": "inherit_platform_velocity",
          "name": "Acompanhar plataforma",
          "kind": "booleano",
          "group": "Chão",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Herda velocidade da plataforma de apoio quando permitido.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-inherit-platform-velocity"
        },
        {
          "id": "automatic_support",
          "name": "Apoio pela colisão",
          "kind": "booleano",
          "group": "Chão",
          "unit": "",
          "help": "Sonda a superfície real do colisor do solver, com escala, rotação e partes compostas. Cinco amostras; alcance abaixo da forma em metros.",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sonda a superfície real do colisor do solver, com escala, rotação e partes compostas. Cinco amostras; alcance abaixo da forma em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-automatic-support"
        },
        {
          "id": "control_source",
          "name": "Fonte de controle",
          "kind": "enumeração",
          "group": "Posse de controle",
          "unit": "",
          "help": "Automático arbitra prioridades; fonte fixa dá posse exclusiva, sem converter a malha ou a colisão.",
          "default": "Automático",
          "domain": "Automático | UI | Teclado / mouse | Gamepad | Script | IA",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico, entrada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Automático arbitra os canais; UI/Teclado/Gamepad/Script/IA escolhe uma origem exclusiva. Origem exclusiva neutra mantém a posse; não passa para a IA.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-dynamic-motor/#field-control-source"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios.",
        "example": "Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações.",
        "next": "Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta.",
        "purpose": "Locomoção por força e salto com apoio sobre Corpo físico dinâmico",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Corpos** → **Motor dinâmico**.",
        "extra": "A seção Posse de controle escolhe UI, teclado, gamepad, Script ou IA. Prioridades ficam visíveis em Automático. Selecionar uma origem não cria vínculos de entrada. [Arbitragem, cancelamento, campos e receita](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/).",
        "related": "[Posse e movimento medido](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/)"
      }
    },
    {
      "typeId": "astra.physics.raycast",
      "name": "Raio",
      "description": "Consulta um raio a cada quadro e guarda o primeiro acerto",
      "family": "Física 3D",
      "subfamily": "Consultas",
      "api": "RayCast",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_raycast3d.html",
      "aliases": "RayCast3D Raycast Raio Linha de visada Sensor de chão",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "target_x",
          "name": "Alvo X",
          "kind": "número",
          "group": "Consulta",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor local do segmento em metros. Seu módulo define alcance; girar o objeto gira a direção em mundo. Não é uma posição absoluta do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-target-x"
        },
        {
          "id": "target_y",
          "name": "Alvo Y",
          "kind": "número",
          "group": "Consulta",
          "unit": "m",
          "help": "",
          "default": "-1",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor local do segmento em metros. Seu módulo define alcance; girar o objeto gira a direção em mundo. Não é uma posição absoluta do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-target-y"
        },
        {
          "id": "target_z",
          "name": "Alvo Z",
          "kind": "número",
          "group": "Consulta",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor local do segmento em metros. Seu módulo define alcance; girar o objeto gira a direção em mundo. Não é uma posição absoluta do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-target-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Consulta",
          "unit": "",
          "help": "Desligado não consulta e mantém o último resultado como vazio",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado não consulta e mantém o último resultado como vazio",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-enabled"
        },
        {
          "id": "exclude_self",
          "name": "Ignorar o próprio corpo",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "Ignora o corpo deste objeto ou do ancestral mais próximo com Corpo físico",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Exclui o primeiro Corpo físico encontrado neste objeto ou subindo por seus ancestrais. Use para não atingir o jogador que sustenta a consulta; sem esse corpo ancestral, não há exclusão automática de todos os colliders do ramo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-exclude-self"
        },
        {
          "id": "include_sensors",
          "name": "Incluir sensores",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "Sensores ficam de fora por padrão (collide_with_areas do Godot)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui formas sensoras no resultado. Desligado evita tratar volumes de trigger como paredes.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-include-sensors"
        },
        {
          "id": "include_static",
          "name": "Incluir estáticos",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui corpos estáticos, como chão e paredes. Desligar pode explicar ausência de acerto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-include-static"
        },
        {
          "id": "include_dynamic",
          "name": "Incluir dinâmicos",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui corpos dinâmicos no resultado; não aplica força nem impede movimento por conta própria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-include-dynamic"
        },
        {
          "id": "layer",
          "name": "Camada",
          "kind": "enumeração",
          "group": "Filtro",
          "unit": "",
          "help": "Todas ou só uma camada física do projeto",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas aceita camadas do projeto; escolher uma limita a consulta. A camada da malha visual não cria forma física.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-raycast/#field-layer"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "colliding",
          "name": "Acertando",
          "help": "Verdadeiro quando a última consulta encontrou algo",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "collider",
          "name": "Objeto atingido",
          "help": "Dono do corpo atingido; vazio sem acerto",
          "result": "objeto",
          "parameters": []
        },
        {
          "id": "point",
          "name": "Ponto",
          "help": "Ponto do acerto no mundo",
          "result": "vetor",
          "parameters": []
        },
        {
          "id": "normal",
          "name": "Normal",
          "help": "Normal da superfície atingida",
          "result": "vetor",
          "parameters": []
        },
        {
          "id": "distance",
          "name": "Distância",
          "help": "Distância do acerto ao início, em metros",
          "result": "número",
          "parameters": []
        },
        {
          "id": "update",
          "name": "Atualizar agora",
          "help": "Refaz a consulta neste instante (force_raycast_update do Godot)",
          "result": "nada",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Alvo X/Y/Z é o vetor local completo: direção e comprimento. A rotação do objeto muda a direção em mundo. O chão precisa participar da física; uma malha apenas visual não é detectada.",
        "example": "Coloque a consulta 2 m acima de um chão com corpo/colisor. Com eixos locais alinhados ao mundo, use Alvo 0 / −3 / 0. Em Play, confira o cartão de acerto. Se não houver resultado, verifique comprimento, camada, tipo de corpo e sensores antes de alterar a geometria.",
        "next": "Primeiro acerto e filtros presentes na prévia. Consultas com vários resultados exigem a API correspondente; não deduza uma coleção pelo componente. Sem expansão datada.",
        "purpose": "Consulta o primeiro obstáculo sólido ao longo de um segmento. Use para apontar, detectar chão ou medir uma distância física.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Consultas** → **Raio**.",
        "extra": "Atualiza após a física em Play. A API especializada e a Conexão de evento permitem pedir atualização imediata quando há avaliador válido. Não representa contato ou força e não retorna todos os obstáculos do caminho.",
        "related": "[Consultas e montagem](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#raio-varredura-de-forma-e-braço-de-mola)"
      }
    },
    {
      "typeId": "astra.physics.shapecast",
      "name": "Varredura de forma",
      "description": "Varre uma forma até o alvo e guarda o primeiro acerto",
      "family": "Física 3D",
      "subfamily": "Consultas",
      "api": "ShapeCast",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_shapecast3d.html",
      "aliases": "ShapeCast3D SphereCast BoxCast Varredura",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio em metros da esfera/cápsula, visível conforme Forma. Não é comprimento do segmento.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-radius"
        },
        {
          "id": "half_height",
          "name": "Meia altura",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia altura do volume em metros, para cápsula/cilindro conforme Forma. Não é a altura inteira de um modelo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-half-height"
        },
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-half-y"
        },
        {
          "id": "half_z",
          "name": "Meia extensão Z",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-half-z"
        },
        {
          "id": "target_x",
          "name": "Alvo X",
          "kind": "número",
          "group": "Consulta",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor local do segmento em metros. Seu módulo define alcance; girar o objeto gira a direção em mundo. Não é uma posição absoluta do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-target-x"
        },
        {
          "id": "target_y",
          "name": "Alvo Y",
          "kind": "número",
          "group": "Consulta",
          "unit": "m",
          "help": "",
          "default": "-1",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor local do segmento em metros. Seu módulo define alcance; girar o objeto gira a direção em mundo. Não é uma posição absoluta do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-target-y"
        },
        {
          "id": "target_z",
          "name": "Alvo Z",
          "kind": "número",
          "group": "Consulta",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor local do segmento em metros. Seu módulo define alcance; girar o objeto gira a direção em mundo. Não é uma posição absoluta do alvo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-target-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Consulta",
          "unit": "",
          "help": "Desligado não consulta e mantém o último resultado como vazio",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado não consulta e mantém o último resultado como vazio",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-enabled"
        },
        {
          "id": "exclude_self",
          "name": "Ignorar o próprio corpo",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "Ignora o corpo deste objeto ou do ancestral mais próximo com Corpo físico",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Exclui o primeiro Corpo físico encontrado neste objeto ou subindo por seus ancestrais. Use para não atingir o jogador que sustenta a consulta; sem esse corpo ancestral, não há exclusão automática de todos os colliders do ramo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-exclude-self"
        },
        {
          "id": "include_sensors",
          "name": "Incluir sensores",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "Sensores ficam de fora por padrão (collide_with_areas do Godot)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui formas sensoras no resultado. Desligado evita tratar volumes de trigger como paredes.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-include-sensors"
        },
        {
          "id": "include_static",
          "name": "Incluir estáticos",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui corpos estáticos, como chão e paredes. Desligar pode explicar ausência de acerto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-include-static"
        },
        {
          "id": "include_dynamic",
          "name": "Incluir dinâmicos",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui corpos dinâmicos no resultado; não aplica força nem impede movimento por conta própria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-include-dynamic"
        },
        {
          "id": "layer",
          "name": "Camada",
          "kind": "enumeração",
          "group": "Filtro",
          "unit": "",
          "help": "Todas ou só uma camada física do projeto",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas aceita camadas do projeto; escolher uma limita a consulta. A camada da malha visual não cria forma física.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-layer"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "Esfera",
          "domain": "Esfera | Caixa | Cápsula | Cilindro",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe Esfera, Caixa, Cápsula ou Cilindro para a varredura. Configure somente as dimensões relevantes da forma; isso não cria um collider persistente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-shapecast/#field-shape"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "colliding",
          "name": "Acertando",
          "help": "Verdadeiro quando a última consulta encontrou algo",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "collider",
          "name": "Objeto atingido",
          "help": "Dono do corpo atingido; vazio sem acerto",
          "result": "objeto",
          "parameters": []
        },
        {
          "id": "point",
          "name": "Ponto",
          "help": "Ponto do acerto no mundo",
          "result": "vetor",
          "parameters": []
        },
        {
          "id": "normal",
          "name": "Normal",
          "help": "Normal da superfície atingida",
          "result": "vetor",
          "parameters": []
        },
        {
          "id": "distance",
          "name": "Distância",
          "help": "Distância do acerto ao início, em metros",
          "result": "número",
          "parameters": []
        },
        {
          "id": "update",
          "name": "Atualizar agora",
          "help": "Refaz a consulta neste instante (force_raycast_update do Godot)",
          "result": "nada",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Escolha Forma, preencha suas dimensões e o vetor local Alvo. Dimensões não são a distância percorrida. Resolva filtros como no Raio; mude a forma para revelar os campos condicionais.",
        "example": "Compare uma esfera de raio .25 m com um raio ao atravessar uma quina; use o mesmo vetor local 0 / 0 / 3 m. Para uma caixa de largura 1 m, Meia extensão X é .5 m. Observe o primeiro acerto em Play com colliders reais.",
        "next": "Formas e primeiro acerto presentes na prévia. Não presume toda combinação de formas/filtros de outras engines; conferir o cenário real. Sem data para expansão.",
        "purpose": "Varre uma esfera, cápsula, caixa ou cilindro até o primeiro obstáculo. Use quando uma linha é estreita demais para representar o volume que precisa passar.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Consultas** → **Varredura de forma**.",
        "extra": "O resultado é de varredura, não uma lista de overlaps nem um corpo dinâmico. A consulta atualiza após a física. Sem avaliador físico válido, não há resultado fictício fora do Play.",
        "related": "[Raio e varredura](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#raio-varredura-de-forma-e-braço-de-mola)"
      }
    },
    {
      "typeId": "astra.physics.spring_arm",
      "name": "Braço de mola",
      "description": "Afasta os filhos até a primeira colisão, como câmera em terceira pessoa",
      "family": "Física 3D",
      "subfamily": "Consultas",
      "api": "SpringArm",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_springarm3d.html",
      "aliases": "SpringArm3D Camera boom Braço de câmera Terceira pessoa",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "length",
          "name": "Comprimento",
          "kind": "número",
          "group": "Braço",
          "unit": "m",
          "help": "Distância livre máxima ao longo de +Z local",
          "default": "3",
          "domain": "0.001 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento desejado em metros no eixo +Z local. Obstáculos reduzem a distância efetiva dos filhos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-length"
        },
        {
          "id": "margin",
          "name": "Margem",
          "kind": "número",
          "group": "Braço",
          "unit": "m",
          "help": "Folga entre o filho e a superfície atingida",
          "default": "0.1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Margem em metros descontada no acerto, para conservar afastamento do obstáculo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-margin"
        },
        {
          "id": "radius",
          "name": "Raio da esfera",
          "kind": "número",
          "group": "Braço",
          "unit": "m",
          "help": "Zero usa raio de luz; maior varre uma esfera (evita a câmera atravessar quinas)",
          "default": "0",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio em metros do volume varrido. Zero usa linha; maior considera um volume esférico e ajuda em quinas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-radius"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Consulta",
          "unit": "",
          "help": "Desligado não consulta e mantém o último resultado como vazio",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado não consulta e mantém o último resultado como vazio",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-enabled"
        },
        {
          "id": "exclude_self",
          "name": "Ignorar o próprio corpo",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "Ignora o corpo deste objeto ou do ancestral mais próximo com Corpo físico",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Exclui o primeiro Corpo físico encontrado neste objeto ou subindo por seus ancestrais. Use para não atingir o jogador que sustenta a consulta; sem esse corpo ancestral, não há exclusão automática de todos os colliders do ramo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-exclude-self"
        },
        {
          "id": "include_sensors",
          "name": "Incluir sensores",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "Sensores ficam de fora por padrão (collide_with_areas do Godot)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui formas sensoras no resultado. Desligado evita tratar volumes de trigger como paredes.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-include-sensors"
        },
        {
          "id": "include_static",
          "name": "Incluir estáticos",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui corpos estáticos, como chão e paredes. Desligar pode explicar ausência de acerto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-include-static"
        },
        {
          "id": "include_dynamic",
          "name": "Incluir dinâmicos",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclui corpos dinâmicos no resultado; não aplica força nem impede movimento por conta própria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-include-dynamic"
        },
        {
          "id": "layer",
          "name": "Camada",
          "kind": "enumeração",
          "group": "Filtro",
          "unit": "",
          "help": "Todas ou só uma camada física do projeto",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas aceita camadas do projeto; escolher uma limita a consulta. A camada da malha visual não cria forma física.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics-spring-arm/#field-layer"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "hit_length",
          "name": "Comprimento atual",
          "help": "Distância livre do último quadro, já descontada a margem",
          "result": "número",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Física 3D e motores",
        "route": "roadmap/fisica-3d",
        "use": "Crie o braço em um objeto e coloque a câmera como filha. Comprimento segue +Z local; a orientação do braço decide o lado. Use margem para manter distância da superfície e raio maior que zero para varredura esférica.",
        "example": "Use comprimento 4 m, margem .1 m e raio .2 m. Aproxime o braço de uma parede com collider em Play e confira a distância efetiva dos filhos. Se outro controlador escreve a pose da câmera, retire esse conflito antes de interpretar o resultado.",
        "next": "Retração física do braço presente na prévia. Desoclusão universal, composição e estabilidade em qualquer cena não são declaradas. Sem data de expansão.",
        "purpose": "Retrata filhos ao longo de um braço quando há obstáculos. Use para sustentar uma câmera filha sem atravessar uma parede física.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Consultas** → **Braço de mola**.",
        "extra": "Raio zero usa consulta por linha. Não controla automaticamente lente, mira ou prioridade de câmera. A câmera virtual com Evitar obstáculos é outro fluxo: não empilhe ambos sem resolver quem escreve a pose.",
        "related": "[Montagem de câmera filha](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#raio-varredura-de-forma-e-braço-de-mola)"
      }
    },
    {
      "typeId": "astra.animation",
      "name": "Animação",
      "description": "Clipes tocados e misturados no Play",
      "family": "Animação",
      "subfamily": "Clipes",
      "api": "Animation",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-Animation.html",
      "aliases": "Animation AnimationPlayer Clip",
      "schemaVersion": 4,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.animation.animator",
          "message": "Animator e Animação escreveriam a mesma pose; use um dos dois neste objeto"
        }
      ],
      "properties": [
        {
          "id": "speed",
          "name": "Velocidade",
          "kind": "número",
          "group": "Reprodução",
          "unit": "x",
          "help": "Velocidade inicial de cada clipe (AnimationState.speed); negativo toca de trás para frente",
          "default": "1",
          "domain": "-10 … 10",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade inicial de cada clipe (AnimationState.speed); negativo toca de trás para frente",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation/#field-speed"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Reprodução",
          "unit": "",
          "help": "Desligar suspende tempo e avaliação; religar retoma os estados",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligar suspende tempo e avaliação; religar retoma os estados",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation/#field-enabled"
        },
        {
          "id": "play_automatically",
          "name": "Tocar ao iniciar",
          "kind": "booleano",
          "group": "Reprodução",
          "unit": "",
          "help": "Play Automatically: o clipe padrão começa a tocar quando o Play inicia",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Play Automatically: o clipe padrão começa a tocar quando o Play inicia",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation/#field-play-automatically"
        },
        {
          "id": "wrap_mode",
          "name": "Repetição",
          "kind": "enumeração",
          "group": "Reprodução",
          "unit": "",
          "help": "Wrap Mode padrão dos clipes: o que acontece depois do fim",
          "default": "Repetir",
          "domain": "Uma vez | Repetir | Vai e volta | Segurar no fim",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Wrap Mode padrão dos clipes: o que acontece depois do fim",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation/#field-wrap-mode"
        },
        {
          "id": "clip_count",
          "name": "Quantidade de clipes",
          "kind": "enumeração",
          "group": "Clipes",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantidade de entradas de clipe autoradas; recurso e estado de reprodução são separados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation/#field-clip-count"
        }
      ],
      "resources": [
        {
          "id": "clip",
          "name": "Clipe padrão",
          "kind": "animation_clip",
          "group": "Clipes",
          "help": "O clipe que Play() e Tocar ao iniciar usam",
          "inheritable": false
        },
        {
          "id": "clips",
          "name": "Clipe",
          "kind": "animation_clip",
          "group": "Clipes",
          "help": "Clipes que este objeto pode tocar (Animation.animations)",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [
        {
          "id": "clip_event",
          "name": "Evento do clipe",
          "help": "Código, valor e identidade local do evento; somente travessia em Play",
          "payload": [
            {
              "id": "tag",
              "name": "Código",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "value",
              "name": "Valor",
              "kind": "número",
              "unit": ""
            },
            {
              "id": "cue",
              "name": "ID no clipe",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "clip_events_lost",
          "name": "Limite de eventos",
          "help": "Travessia excedeu o orçamento; não são repetidos no próximo quadro",
          "payload": [
            {
              "id": "count",
              "name": "Eventos suprimidos",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Animação e deformação",
        "route": "roadmap/animacao",
        "use": "Atribua clipes/recursos e escolha reprodução. SkinnedMesh precisa dos dados de deformação compatíveis; um nome de clip ou blend shape não cria esse recurso.",
        "example": "Use um recurso com clipe real, compare Speed 0/1 e modos de repetição; confira deformação e bounds antes de usar culling.",
        "next": "Ampliar importação, composição, edição de clipes e aceite de deformação/motion vectors. Timeline de UI é outro sistema e continua parcial. Não pressupõe Animator completo.",
        "purpose": "Clipes tocados e misturados no Play",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Animação** / **Clipes** → **Animação**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.animation.animator",
      "name": "Animator",
      "description": "Máquina de estados: parâmetros, transições, misturas e camadas",
      "family": "Animação",
      "subfamily": "Máquina de estados",
      "api": "Animator",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-AnimatorController.html",
      "aliases": "Animator AnimatorController AnimationTree StateMachine BlendTree BlendSpace Máquina de estados Transição Parâmetro",
      "schemaVersion": 7,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.animation",
          "message": "Animator e Animação escreveriam a mesma pose; use um dos dois neste objeto"
        }
      ],
      "properties": [
        {
          "id": "speed",
          "name": "Velocidade",
          "kind": "número",
          "group": "Animator",
          "unit": "×",
          "help": "Multiplica o tempo de todos os estados",
          "default": "1",
          "domain": "-10 … 10",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Multiplica o tempo de todos os estados",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-speed"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Animator",
          "unit": "",
          "help": "Desligado congela a pose atual; parâmetros e estados são preservados",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado congela a pose atual; parâmetros e estados são preservados",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-enabled"
        },
        {
          "id": "unscaled_time",
          "name": "Ignorar escala de tempo",
          "kind": "booleano",
          "group": "Animator",
          "unit": "",
          "help": "Anima em tempo real mesmo com o jogo pausado por escala (menus, cutscenes)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Anima em tempo real mesmo com o jogo pausado por escala (menus, cutscenes)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-unscaled-time"
        },
        {
          "id": "culling_mode",
          "name": "Culling",
          "kind": "enumeração",
          "group": "Animator",
          "unit": "",
          "help": "Com os renderers fora da câmera: seguir animando, só avançar estados e tempo sem escrever a pose, ou parar",
          "default": "Sempre animar",
          "domain": "Sempre animar | Fora da vista: só o tempo | Fora da vista: parado",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Com os renderers fora da câmera: seguir animando, só avançar estados e tempo sem escrever a pose, ou parar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-culling-mode"
        },
        {
          "id": "target",
          "name": "Raiz animada",
          "kind": "referência",
          "group": "Animator",
          "unit": "",
          "help": "Objeto cuja hierarquia os clipes animam (o modelo importado)",
          "default": "Este objeto",
          "domain": "qualquer objeto",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto cuja hierarquia os clipes animam (o modelo importado)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-target"
        },
        {
          "id": "motion_source",
          "name": "Corpo / motor",
          "kind": "referência",
          "group": "Animator",
          "unit": "",
          "help": "Fonte dos parâmetros físicos; independe da malha e não move o corpo",
          "default": "Este objeto",
          "domain": "qualquer objeto",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fonte dos parâmetros físicos; independe da malha e não move o corpo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-motion-source"
        },
        {
          "id": "layer_mask_0",
          "name": "Máscara · Base",
          "kind": "referência",
          "group": "Máscaras",
          "unit": "",
          "help": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "default": "Toda a hierarquia",
          "domain": "qualquer objeto",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-layer-mask-0"
        },
        {
          "id": "layer_mask_1",
          "name": "Máscara · Camada 2",
          "kind": "referência",
          "group": "Máscaras",
          "unit": "",
          "help": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "default": "Toda a hierarquia",
          "domain": "qualquer objeto",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-layer-mask-1"
        },
        {
          "id": "layer_mask_2",
          "name": "Máscara · Camada 3",
          "kind": "referência",
          "group": "Máscaras",
          "unit": "",
          "help": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "default": "Toda a hierarquia",
          "domain": "qualquer objeto",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-layer-mask-2"
        },
        {
          "id": "layer_mask_3",
          "name": "Máscara · Camada 4",
          "kind": "referência",
          "group": "Máscaras",
          "unit": "",
          "help": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "default": "Toda a hierarquia",
          "domain": "qualquer objeto",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": true,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máscara da camada por instância; remapeada em hierarquia/prefab",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-animator/#field-layer-mask-3"
        }
      ],
      "resources": [
        {
          "id": "controller",
          "name": "Controller",
          "kind": "animator_controller",
          "group": "Animator",
          "help": "Grafo compartilhado; ausente interrompe a avaliação e expõe diagnóstico",
          "inheritable": false
        }
      ],
      "methods": [
        {
          "id": "in_transition",
          "name": "Em transição",
          "help": "Verdadeiro enquanto a camada base mistura dois estados",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "get_layer_weight",
          "name": "Ler peso",
          "help": "Peso efetivo da instância",
          "result": "número",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_layer_weight",
          "name": "Peso da instância",
          "help": "Não altera o recurso compartilhado",
          "result": "nada",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "value",
              "name": "Valor",
              "kind": "número",
              "unit": ""
            }
          ]
        },
        {
          "id": "get_layer_blend",
          "name": "Ler composição",
          "help": "0 Override / 1 Additive",
          "result": "inteiro",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_layer_blend",
          "name": "Composição da instância",
          "help": "0 Override / 1 Additive",
          "result": "nada",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "mode",
              "name": "0 Override / 1 Additive",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "get_layer_reference_time",
          "name": "Ler tempo de referência",
          "help": "Segundos no clipe",
          "result": "número",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_layer_reference_time",
          "name": "Tempo de referência",
          "help": "Segundos no clipe",
          "result": "nada",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "value",
              "name": "Valor",
              "kind": "número",
              "unit": ""
            }
          ]
        },
        {
          "id": "set_layer_reference",
          "name": "Referência da instância",
          "help": "GUID zero usa a pose inicial; desconhecido é recusado",
          "result": "nada",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "high",
              "name": "GUID alto",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "low",
              "name": "GUID baixo",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "get_layer_reference_high",
          "name": "GUID alto",
          "help": "Bits da referência efetiva",
          "result": "inteiro",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "get_layer_reference_low",
          "name": "GUID baixo",
          "help": "Bits da referência efetiva",
          "result": "inteiro",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "reset_layer_overrides",
          "name": "Restaurar camada",
          "help": "Restaura a composição autorada, preservando estado e relógio",
          "result": "nada",
          "parameters": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        }
      ],
      "events": [
        {
          "id": "state_entered",
          "name": "Entrou no estado",
          "help": "Emitido quando um estado começa (no início da transição para ele)",
          "payload": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "state",
              "name": "Estado",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "state_event",
          "name": "Evento do estado",
          "help": "Emitido quando o tempo do estado passa por um evento marcado nele",
          "payload": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "state",
              "name": "Estado",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "tag",
              "name": "Marca",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "machine_entered",
          "name": "Entrou no grupo",
          "help": "Um grupo tornou-se ativo; da raiz até o grupo interno",
          "payload": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "machine",
              "name": "Grupo",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "machine_exited",
          "name": "Saiu do grupo",
          "help": "Um grupo deixou de participar da reprodução; do grupo interno à raiz",
          "payload": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "machine",
              "name": "Grupo",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "transition_interrupted",
          "name": "Mistura interrompida",
          "help": "Pose composta preservada; ID zero indica CrossFade solicitado pela API",
          "payload": [
            {
              "id": "layer",
              "name": "Camada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "transition",
              "name": "Transição cancelada",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "destination",
              "name": "Novo estado",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "clip_event",
          "name": "Evento do clipe",
          "help": "Código, valor e identidade local do evento; somente travessia em Play",
          "payload": [
            {
              "id": "tag",
              "name": "Código",
              "kind": "inteiro",
              "unit": ""
            },
            {
              "id": "value",
              "name": "Valor",
              "kind": "número",
              "unit": ""
            },
            {
              "id": "cue",
              "name": "ID no clipe",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "clip_events_lost",
          "name": "Limite de eventos",
          "help": "Travessia excedeu o orçamento; não são repetidos no próximo quadro",
          "payload": [
            {
              "id": "count",
              "name": "Eventos suprimidos",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Animação e deformação",
        "route": "roadmap/animacao",
        "use": "Selecione a raiz do modelo → adicione Animator em Animação → Máquina de estados. Remova Animação legada do mesmo objeto. No cartão, toque Abrir grafo do Animator; em Play, o grafo mostra estado e parâmetros somente para leitura.",
        "example": "Crie Float Velocidade e um estado Mistura 1D. Atribua clipes reais de repouso/andar/correr nos limiares 0 / 1 / 2, escolha Velocidade como parâmetro e marque esse estado como Padrão. Em um Behavior, Object.Animator().SetFloat(\"Velocidade\", 1.5f) seleciona a mistura; o Animator não mede a velocidade do corpo por conta própria.",
        "next": "Clipe, misturas 1D/2D, camadas de substituição, condições, eventos e grafo estão na 0.2.3. Pendentes: root motion, sub-máquinas, interrupção e camadas aditivas; sem data prometida.",
        "purpose": "Escolhe e mistura clipes por uma máquina de estados. Use para repouso, andar, correr e salto de um modelo que já tem animações importadas.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Animação** / **Máquina de estados** → **Animator**.",
        "extra": "### Campos que ficam no grafo\n\nA tabela automática abaixo cobre o cartão básico; **não cobre as coleções do grafo**. Abra-o para configurar:\n\n| Área | Caminho e uso |\n|---|---|\n| Parâmetros | Coluna esquerda → + Float/Int/Bool/Gatilho; toque nome e padrão. O tipo deve corresponder ao setter C#. |\n| Estados | + Estado → seleção → lado direito: Clipe/Mistura 1D/Mistura 2D, clipes reais, limiares ou posições X/Y. Padrão escolhe a entrada. |\n| Transições | Transição → origem ou Qualquer estado → destino; configure duração, tempo de saída e condições. Sem condição correta, o parâmetro sozinho não muda o estado. |\n| Camadas | + camada → peso e máscara de subárvore. Camadas são de substituição, sem adição. |\n| Eventos | Estado → + evento → tempo normalizado 0–1 e marca numérica entregue ao script. Não é um nome de método arbitrário. |\n\nLimites autorais: 32 parâmetros, 4 camadas, 24 estados e 48 transições por camada, 8 clipes por estado, 4 condições por transição e 8 eventos por estado. Nomes até 63 caracteres. Salve a cena; o grafo pertence ao componente, não a um controller asset separado. Undo/Redo vale para a autoria.\n\n:::caution[Advertência herdada do descritor]\nO campo de limitação nativo repete “sem mistura entre clipes” do registro compartilhado de animação. Esse texto está desatualizado para Animator: o grafo desta versão possui mistura 1D/2D e transições. Ele permanece no JSON como dado bruto da extração; não é a descrição editorial do Animator. Root motion, sub-máquinas, interrupção de transições e camadas aditivas continuam ausentes.\n:::",
        "related": "[Grafo, código e evidências](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#animator)"
      }
    },
    {
      "typeId": "astra.animation.root_motion",
      "name": "Root motion",
      "description": "O passo do osso raiz anima o personagem; o osso fica no lugar",
      "family": "Animação",
      "subfamily": "Movimento",
      "api": "RootMotion",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/RootMotion.html",
      "aliases": "Root Motion Movimento pela animação Locomoção Apply Root Motion RootMotion",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "weight",
          "name": "Peso",
          "kind": "número",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-weight"
        },
        {
          "id": "loop_jump",
          "name": "Salto de laço",
          "kind": "número",
          "group": "Laço",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.01 … 10",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Compensação de posição entre o fim e o início do laço.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-loop-jump"
        },
        {
          "id": "loop_turn",
          "name": "Giro de laço",
          "kind": "número",
          "group": "Laço",
          "unit": "graus",
          "help": "",
          "default": "45",
          "domain": "1 … 180",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Compensação de giro no laço.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-loop-turn"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o componente fica na cena sem agir.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-enabled"
        },
        {
          "id": "horizontal",
          "name": "Andar no plano",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Extrai o movimento no plano.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-horizontal"
        },
        {
          "id": "vertical",
          "name": "Subir e descer",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Extrai subida e descida.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-vertical"
        },
        {
          "id": "rotation",
          "name": "Girar",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Extrai o giro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-rotation"
        },
        {
          "id": "keep_bone_in_place",
          "name": "Osso fica no lugar",
          "kind": "booleano",
          "group": "Osso",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Remove o deslocamento do próprio osso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-keep-bone-in-place"
        },
        {
          "id": "axis",
          "name": "Frente do osso",
          "kind": "enumeração",
          "group": "Osso",
          "unit": "",
          "help": "",
          "default": "+Z",
          "domain": "+X | +Y | +Z | -X | -Y | -Z",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo local do osso que aponta para a frente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-axis"
        },
        {
          "id": "bone",
          "name": "Osso raiz",
          "kind": "referência",
          "group": "Osso",
          "unit": "",
          "help": "",
          "default": "Escolher osso",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Translação, rotação e escala; pesos de morph não; sem mistura entre clipes",
          "capability": "animation.clip",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Osso raiz; encontrado pelo nome ou pela primeira bifurcação.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-animation-root-motion/#field-bone"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "No estúdio, ⋮ → **Root motion** cria o componente com o osso raiz encontrado pelo nome ou pela estrutura; escolha o que extrair (plano, vertical, giro) e a frente do osso.",
        "example": "Clipe de caminhada em loop: com Andar no plano e Salto de laço, o personagem avança a cada volta em vez de voltar ao início; com Personagem, o movimento passa pela física.",
        "next": "Presente na 0.3.1. Sem curvas de root motion editáveis à parte do clipe. Sem data prometida.",
        "purpose": "O passo do osso raiz move o personagem pela cena, com o osso ficando no lugar: andar, correr e girar saem do clipe.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Animação** / **Movimento** → **Root motion**.",
        "extra": "Salto e giro de laço corrigem a descontinuidade entre o último e o primeiro quadro; Osso fica no lugar remove o deslocamento do próprio osso.",
        "related": "[Estúdio v2](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#estúdio-de-animação-v2)"
      }
    },
    {
      "typeId": "astra.physics2d.field.gravity",
      "name": "Campo de gravidade 2D",
      "description": "Gravidade XY em área sobre corpos dinâmicos 2D",
      "family": "Física 2D",
      "subfamily": "Campos",
      "api": "GravityField2D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area2d.html",
      "aliases": "Area2D Gravity Zone",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-half-y"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-offset-y"
        },
        {
          "id": "vector_x",
          "name": "Vetor X",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-vector-x"
        },
        {
          "id": "vector_y",
          "name": "Vetor Y",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "-9.81",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-vector-y"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-wake-bodies"
        },
        {
          "id": "replace_world_gravity",
          "name": "Substituir gravidade do mundo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "Sobrepostos somam vetores e cancelam a gravidade padrão uma única vez",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sobrepostos somam vetores e cancelam a gravidade padrão uma única vez",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-replace-world-gravity"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Retângulo",
          "domain": "Retângulo | Círculo",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-gravity/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Gravidade XY em área sobre corpos dinâmicos 2D",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Campos** → **Campo de gravidade 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.field.wind",
      "name": "Campo de vento 2D",
      "description": "Acoplamento XY à velocidade do ar com massa real",
      "family": "Física 2D",
      "subfamily": "Campos",
      "api": "WindField2D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area2d.html",
      "aliases": "Area2D Wind Vento",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-half-y"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-offset-y"
        },
        {
          "id": "vector_x",
          "name": "Vetor X",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s",
          "help": "",
          "default": "5",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-vector-x"
        },
        {
          "id": "vector_y",
          "name": "Vetor Y",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Componente do vetor de contribuição do campo, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-vector-y"
        },
        {
          "id": "coefficient",
          "name": "Acoplamento",
          "kind": "número",
          "group": "Efeito",
          "unit": "kg/s",
          "help": "",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coeficiente da contribuição de vento, combinado com o vetor/campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-coefficient"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-wake-bodies"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Retângulo",
          "domain": "Retângulo | Círculo",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-wind/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Acoplamento XY à velocidade do ar com massa real",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Campos** → **Campo de vento 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.field.drag",
      "name": "Campo de arrasto 2D",
      "description": "Amortecimento linear XY e angular de Body2D",
      "family": "Física 2D",
      "subfamily": "Campos",
      "api": "DragField2D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area2d.html",
      "aliases": "Area2D Damp Drag",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-half-y"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-offset-y"
        },
        {
          "id": "linear_drag",
          "name": "Arrasto linear",
          "kind": "número",
          "group": "Efeito",
          "unit": "1/s",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Arrasto linear aplicado pelo campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-linear-drag"
        },
        {
          "id": "angular_drag",
          "name": "Arrasto angular",
          "kind": "número",
          "group": "Efeito",
          "unit": "1/s",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Arrasto angular aplicado pelo campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-angular-drag"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-wake-bodies"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Retângulo",
          "domain": "Retângulo | Círculo",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-drag/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Amortecimento linear XY e angular de Body2D",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Campos** → **Campo de arrasto 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.field.radial",
      "name": "Campo radial 2D",
      "description": "Atração, repulsão e vórtice no plano XY",
      "family": "Física 2D",
      "subfamily": "Campos",
      "api": "RadialField2D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area2d.html",
      "aliases": "Area2D Point Gravity Vortex",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia extensão X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia extensão Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-half-y"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "3",
          "domain": "0.001 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-radius"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Volume",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-offset-y"
        },
        {
          "id": "acceleration",
          "name": "Aceleração radial",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "-9.81",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração radial em relação à origem do campo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-acceleration"
        },
        {
          "id": "tangential_acceleration",
          "name": "Aceleração tangencial",
          "kind": "número",
          "group": "Efeito",
          "unit": "m/s²",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração tangencial em torno da origem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-tangential-acceleration"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Efeito",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-enabled"
        },
        {
          "id": "wake_bodies",
          "name": "Acordar corpos",
          "kind": "booleano",
          "group": "Alcance",
          "unit": "",
          "help": "Desligado: corpos em repouso permanecem dormindo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado: corpos em repouso permanecem dormindo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-wake-bodies"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Volume",
          "unit": "",
          "help": "Escala e orientação são as do objeto e de seus pais",
          "default": "Retângulo",
          "domain": "Retângulo | Círculo",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala e orientação são as do objeto e de seus pais",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-shape"
        },
        {
          "id": "falloff",
          "name": "Queda de influência",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "default": "Uniforme",
          "domain": "Uniforme | Linear | Suave",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro vale 1; Linear e Suave chegam a zero na borda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-falloff"
        },
        {
          "id": "affected_layer",
          "name": "Camada afetada",
          "kind": "enumeração",
          "group": "Alcance",
          "unit": "",
          "help": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas ou uma camada física do projeto; não altera a matriz de colisão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-field-radial/#field-affected-layer"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Atração, repulsão e vórtice no plano XY",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Campos** → **Campo radial 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.event_connection",
      "name": "Conexão física 2D",
      "description": "Evento real de sensor/contato 2D altera ativação do receptor",
      "family": "Física 2D",
      "subfamily": "Eventos",
      "api": "PhysicsEventConnection2D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_area2d.html",
      "aliases": "Area2D Trigger2D Signal Evento Conexao",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics2d.body",
          "message": "Adicione Body2D ao objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Conexão",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-event-connection/#field-enabled"
        },
        {
          "id": "event",
          "name": "Evento",
          "kind": "enumeração",
          "group": "Conexão",
          "unit": "",
          "help": "Sensor exige um Colisor 2D sensor; contato exige uma forma sólida no emissor",
          "default": "Entrada sensor",
          "domain": "Entrada sensor | Perm. sensor | Saída sensor | Entrada contato | Perm. contato | Saída contato",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sensor exige um Colisor 2D sensor; contato exige uma forma sólida no emissor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-event-connection/#field-event"
        },
        {
          "id": "action",
          "name": "Ação",
          "kind": "enumeração",
          "group": "Conexão",
          "unit": "",
          "help": "Executada antes do callback C#; permanência pode disparar a cada passo físico",
          "default": "Desconectado",
          "domain": "Desconectado | Ativar objeto | Desativar objeto | Alternar objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Executada antes do callback C#; permanência pode disparar a cada passo físico",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-event-connection/#field-action"
        },
        {
          "id": "receiver",
          "name": "Receptor",
          "kind": "referência",
          "group": "Conexão",
          "unit": "",
          "help": "Objeto cuja ativação será alterada",
          "default": "Escolher objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto cuja ativação será alterada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-event-connection/#field-receiver"
        },
        {
          "id": "other_filter",
          "name": "Outro objeto",
          "kind": "referência",
          "group": "Filtro",
          "unit": "",
          "help": "Opcional: somente eventos com este outro objeto; vazio aceita todos",
          "default": "Qualquer objeto",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Opcional: somente eventos com este outro objeto; vazio aceita todos",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-event-connection/#field-other-filter"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Evento real de sensor/contato 2D altera ativação do receptor",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Eventos** → **Conexão física 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.constant-force",
      "name": "Força constante 2D",
      "description": "Força XY e torque contínuos sobre Body2D dinâmico",
      "family": "Física 2D",
      "subfamily": "Forças",
      "api": "ConstantForce2D",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/ConstantForce2D.html",
      "aliases": "ConstantForce2D RelativeForce Propulsão",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics2d.body",
          "message": "Adicione Body2D ao objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "force_x",
          "name": "Força X",
          "kind": "número",
          "group": "Propulsão",
          "unit": "N",
          "help": "",
          "default": "0",
          "domain": "-1000000 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Força contínua em espaço mundial, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-constant-force/#field-force-x"
        },
        {
          "id": "force_y",
          "name": "Força Y",
          "kind": "número",
          "group": "Propulsão",
          "unit": "N",
          "help": "",
          "default": "0",
          "domain": "-1000000 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Força contínua em espaço mundial, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-constant-force/#field-force-y"
        },
        {
          "id": "relative_force_x",
          "name": "Força local X",
          "kind": "número",
          "group": "Propulsão",
          "unit": "N",
          "help": "",
          "default": "0",
          "domain": "-1000000 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Força contínua no espaço local do objeto, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-constant-force/#field-relative-force-x"
        },
        {
          "id": "relative_force_y",
          "name": "Força local Y",
          "kind": "número",
          "group": "Propulsão",
          "unit": "N",
          "help": "",
          "default": "0",
          "domain": "-1000000 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Força contínua no espaço local do objeto, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-constant-force/#field-relative-force-y"
        },
        {
          "id": "torque",
          "name": "Torque",
          "kind": "número",
          "group": "Propulsão",
          "unit": "N m",
          "help": "",
          "default": "0",
          "domain": "-1000000 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Torque contínuo sobre o Body2D dinâmico; não é orientação autoral.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-constant-force/#field-torque"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Propulsão",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-constant-force/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Força XY e torque contínuos sobre Body2D dinâmico",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Forças** → **Força constante 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.joint",
      "name": "Junta 2D",
      "description": "Fixed/Weld, Revolute, Prismatic ou Distance reais",
      "family": "Física 2D",
      "subfamily": "Juntas",
      "api": "Joint2D",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Joint2D.html",
      "aliases": "Joint2D FixedJoint2D HingeJoint2D SliderJoint2D DistanceJoint2D Spring",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics2d.body",
          "message": "Adicione Body2D ao objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "anchor_a_x",
          "name": "Anchor A X",
          "kind": "número",
          "group": "Anchors",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo A, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-anchor-a-x"
        },
        {
          "id": "anchor_a_y",
          "name": "Anchor A Y",
          "kind": "número",
          "group": "Anchors",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo A, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-anchor-a-y"
        },
        {
          "id": "anchor_b_x",
          "name": "Anchor B X",
          "kind": "número",
          "group": "Anchors",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo B, componente X. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-anchor-b-x"
        },
        {
          "id": "anchor_b_y",
          "name": "Anchor B Y",
          "kind": "número",
          "group": "Anchors",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição da âncora no frame do corpo B, componente Y. Configure os dois frames compatíveis.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-anchor-b-y"
        },
        {
          "id": "reference_angle_degrees",
          "name": "Ângulo referência",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ângulo de referência relativo da junta 2D em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-reference-angle-degrees"
        },
        {
          "id": "axis_angle_degrees",
          "name": "Eixo local A",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Direção do eixo da junta 2D em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-axis-angle-degrees"
        },
        {
          "id": "length",
          "name": "Comprimento repouso",
          "kind": "número",
          "group": "Ajustes",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0.005 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento de referência da junta Distance.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-length"
        },
        {
          "id": "min_length",
          "name": "Comprimento mínimo",
          "kind": "número",
          "group": "Ajustes",
          "unit": "m",
          "help": "",
          "default": "0.005",
          "domain": "0.005 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento mínimo da junta Distance.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-min-length"
        },
        {
          "id": "max_length",
          "name": "Comprimento máximo",
          "kind": "número",
          "group": "Ajustes",
          "unit": "m",
          "help": "",
          "default": "100",
          "domain": "0.005 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento máximo da junta Distance.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-max-length"
        },
        {
          "id": "lower_limit",
          "name": "Limite inferior",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "-1",
          "domain": "-178 … 178",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior da junta 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-lower-limit"
        },
        {
          "id": "upper_limit",
          "name": "Limite superior",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-178 … 178",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite superior da junta 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-upper-limit"
        },
        {
          "id": "motor_speed",
          "name": "Velocidade motor",
          "kind": "número",
          "group": "Ajustes",
          "unit": "m/s",
          "help": "",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade linear alvo do motor da junta 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-motor-speed"
        },
        {
          "id": "motor_angular_speed_degrees",
          "name": "Motor angular",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus/s",
          "help": "",
          "default": "90",
          "domain": "-36000 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular alvo do motor 2D em graus/s.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-motor-angular-speed-degrees"
        },
        {
          "id": "max_motor_force",
          "name": "Força máxima motor",
          "kind": "número",
          "group": "Ajustes",
          "unit": "N",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de força do motor linear 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-max-motor-force"
        },
        {
          "id": "max_motor_torque",
          "name": "Torque máximo motor",
          "kind": "número",
          "group": "Ajustes",
          "unit": "N m",
          "help": "",
          "default": "100",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite de torque do motor angular 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-max-motor-torque"
        },
        {
          "id": "spring_hertz",
          "name": "Frequência mola",
          "kind": "número",
          "group": "Ajustes",
          "unit": "Hz",
          "help": "",
          "default": "5",
          "domain": "0 … 120",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frequência da mola 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-spring-hertz"
        },
        {
          "id": "spring_damping",
          "name": "Razão amortecimento",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "0.7",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento da mola da junta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-spring-damping"
        },
        {
          "id": "spring_target_translation",
          "name": "Translação alvo",
          "kind": "número",
          "group": "Ajustes",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Translação alvo da mola 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-spring-target-translation"
        },
        {
          "id": "spring_target_angle_degrees",
          "name": "Ângulo alvo",
          "kind": "número",
          "group": "Ajustes",
          "unit": "graus",
          "help": "",
          "default": "0",
          "domain": "-180 … 180",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ângulo alvo da mola 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-spring-target-angle-degrees"
        },
        {
          "id": "linear_hertz",
          "name": "Mola linear weld",
          "kind": "número",
          "group": "Ajustes",
          "unit": "Hz",
          "help": "",
          "default": "0",
          "domain": "0 … 120",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frequência da ligação linear 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-linear-hertz"
        },
        {
          "id": "angular_hertz",
          "name": "Mola angular weld",
          "kind": "número",
          "group": "Ajustes",
          "unit": "Hz",
          "help": "",
          "default": "0",
          "domain": "0 … 120",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Frequência da ligação angular 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-angular-hertz"
        },
        {
          "id": "linear_damping_ratio",
          "name": "Amortecimento linear weld",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Razão de amortecimento linear 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-linear-damping-ratio"
        },
        {
          "id": "angular_damping_ratio",
          "name": "Amortecimento angular weld",
          "kind": "número",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Razão de amortecimento angular 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-angular-damping-ratio"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Conexão",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-enabled"
        },
        {
          "id": "world_anchor",
          "name": "Conectar ao mundo",
          "kind": "booleano",
          "group": "Conexão",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Interpreta a âncora conforme a opção de mundo da junta 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-world-anchor"
        },
        {
          "id": "collide_connected",
          "name": "Colidir conectados",
          "kind": "booleano",
          "group": "Conexão",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Permite colisão entre os corpos conectados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-collide-connected"
        },
        {
          "id": "limit_enabled",
          "name": "Limites",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa os limites configurados da junta 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-limit-enabled"
        },
        {
          "id": "motor_enabled",
          "name": "Motor",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa motor da junta 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-motor-enabled"
        },
        {
          "id": "spring_enabled",
          "name": "Mola",
          "kind": "booleano",
          "group": "Ajustes",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa mola da junta 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-spring-enabled"
        },
        {
          "id": "kind",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Conexão",
          "unit": "",
          "help": "",
          "default": "Fixed / Weld",
          "domain": "Fixed / Weld | Revolute | Prismatic | Distance",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe a variante de luz/junta no domínio indicado; siga os campos e requisitos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-kind"
        },
        {
          "id": "target",
          "name": "Corpo conectado",
          "kind": "referência",
          "group": "Conexão",
          "unit": "",
          "help": "",
          "default": "Escolher Body2D",
          "domain": "astra.physics2d.body · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-joint/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Fixed/Weld, Revolute, Prismatic ou Distance reais",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Juntas** → **Junta 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.body",
      "name": "Corpo 2D",
      "description": "Corpo XY independente de física 3D",
      "family": "Física 2D",
      "subfamily": "Corpos",
      "api": "Body2D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_rigidbody2d.html",
      "aliases": "Rigidbody2D RigidBody2D Kinematic XY",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.physics2d.collider",
          "message": "Adicione uma forma 2D ao corpo"
        }
      ],
      "conflicts": [
        {
          "typeId": "astra.physics.body",
          "message": "Corpos 2D e 3D não compartilham o mesmo objeto"
        },
        {
          "typeId": "astra.physics.character",
          "message": "Personagem 3D possui a pose deste objeto"
        },
        {
          "typeId": "astra.physics.collider",
          "message": "Colisores 2D e 3D usam mundos separados"
        }
      ],
      "properties": [
        {
          "id": "mass",
          "name": "Massa",
          "kind": "número",
          "group": "Corpo",
          "unit": "kg",
          "help": "",
          "default": "1",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Massa do corpo dinâmico em kg; influencia resposta a força/impulso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-mass"
        },
        {
          "id": "gravity_scale",
          "name": "Escala gravidade",
          "kind": "número",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica gravidade mundial deste corpo 2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-gravity-scale"
        },
        {
          "id": "velocity_x",
          "name": "Velocidade X",
          "kind": "número",
          "group": "Movimento",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade linear inicial/autorada do corpo, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-velocity-x"
        },
        {
          "id": "velocity_y",
          "name": "Velocidade Y",
          "kind": "número",
          "group": "Movimento",
          "unit": "m/s",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade linear inicial/autorada do corpo, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-velocity-y"
        },
        {
          "id": "angular_velocity_degrees",
          "name": "Velocidade angular",
          "kind": "número",
          "group": "Movimento",
          "unit": "graus/s",
          "help": "",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular 2D em graus/s; não confundir com rad/s da API matemática.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-angular-velocity-degrees"
        },
        {
          "id": "linear_damping",
          "name": "Arrasto linear",
          "kind": "número",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "0.05",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento de velocidade linear.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-linear-damping"
        },
        {
          "id": "angular_damping",
          "name": "Arrasto angular",
          "kind": "número",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "0.05",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Amortecimento de velocidade angular.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-angular-damping"
        },
        {
          "id": "fixed_rotation",
          "name": "Fixar rotação",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Trava a rotação física do Body2D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-fixed-rotation"
        },
        {
          "id": "allow_sleep",
          "name": "Permitir repouso",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Permite dormir quando o corpo pode ficar em repouso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-allow-sleep"
        },
        {
          "id": "motion",
          "name": "Movimento",
          "kind": "enumeração",
          "group": "Corpo",
          "unit": "",
          "help": "",
          "default": "Dinâmico",
          "domain": "Estático | Cinemático | Dinâmico",
          "limitation": "",
          "capability": "",
          "invalidation": "corpo físico",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe autoridade estática/cinemática/dinâmica no domínio do corpo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-body/#field-motion"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Corpo XY independente de física 3D",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Corpos** → **Corpo 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.physics2d.collider",
      "name": "Colisor 2D",
      "description": "Caixa, círculo ou cápsula; sensor real",
      "family": "Física 2D",
      "subfamily": "Formas",
      "api": "Collider2D",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_collisionshape2d.html",
      "aliases": "CollisionShape2D Box Circle Capsule Sensor Trigger",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.physics.body",
          "message": "Corpos 2D e 3D não compartilham o mesmo objeto"
        },
        {
          "typeId": "astra.physics.character",
          "message": "Personagem 3D possui a pose deste objeto"
        },
        {
          "typeId": "astra.physics.collider",
          "message": "Colisores 2D e 3D usam mundos separados"
        }
      ],
      "properties": [
        {
          "id": "half_x",
          "name": "Meia largura",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.005 … 500",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-half-x"
        },
        {
          "id": "half_y",
          "name": "Meia altura",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.005 … 500",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-half-y"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.005 … 500",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da forma/volume selecionado; confira o tipo e os campos condicionais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-radius"
        },
        {
          "id": "capsule_half_length",
          "name": "Meia distância centros",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.005 … 500",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Metade da distância entre centros da cápsula 2D; raio é configurado separadamente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-capsule-half-length"
        },
        {
          "id": "offset_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-offset-y"
        },
        {
          "id": "friction",
          "name": "Atrito",
          "kind": "número",
          "group": "Contato",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Atrito nos contatos; compare deslizamento com o mesmo par de superfícies.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-friction"
        },
        {
          "id": "restitution",
          "name": "Restituição",
          "kind": "número",
          "group": "Contato",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Restituição nos contatos; controla ressalto conforme a combinação física.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-restitution"
        },
        {
          "id": "sensor",
          "name": "Sensor sem resposta",
          "kind": "booleano",
          "group": "Contato",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Participa como sensor/sobreposição; não é uma superfície sólida de contato.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-sensor"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "Caixa",
          "domain": "Caixa | Círculo | Cápsula Y",
          "limitation": "",
          "capability": "",
          "invalidation": "forma física",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe a geometria do colisor/campo no domínio indicado; os campos relevantes mudam por forma.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-physics2d-collider/#field-shape"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [
        {
          "id": "trigger_enter",
          "name": "Sensor: entrou",
          "help": "Outro corpo começou a sobrepor este sensor",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "trigger_exit",
          "name": "Sensor: saiu",
          "help": "Outro corpo deixou de sobrepor este sensor",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "collision_enter",
          "name": "Colisão: começou",
          "help": "Contato sólido começou; entregue aos dois colisores",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        },
        {
          "id": "collision_exit",
          "name": "Colisão: terminou",
          "help": "Contato sólido terminou; entregue aos dois colisores",
          "payload": [
            {
              "id": "other",
              "name": "Outro objeto",
              "kind": "objeto",
              "unit": ""
            }
          ]
        }
      ],
      "guide": {
        "title": "Física 2D",
        "route": "roadmap/fisica-2d",
        "use": "Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.",
        "example": "Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.",
        "next": "Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.",
        "purpose": "Caixa, círculo ou cápsula; sensor real",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Formas** → **Colisor 2D**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.audio.source",
      "name": "Fonte de áudio",
      "description": "Clipe de projeto com reprodução e espaço acústico",
      "family": "Áudio",
      "subfamily": "Reprodução",
      "api": "AudioSource",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-AudioSource.html",
      "aliases": "AudioSource AudioStreamPlayer AudioStreamPlayer3D som WAV",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "volume",
          "name": "Volume",
          "kind": "número",
          "group": "Som",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ganho linear de áudio do consumidor correspondente; 0 silencia e 1 conserva ganho unitário.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-volume"
        },
        {
          "id": "pitch",
          "name": "Velocidade / pitch",
          "kind": "número",
          "group": "Reprodução",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0.1 … 4",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Velocidade/pitch da reprodução; não altera o arquivo original.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-pitch"
        },
        {
          "id": "pan",
          "name": "Pan estéreo",
          "kind": "número",
          "group": "Espaço",
          "unit": "",
          "help": "Em 3D, vale para a parte 2D da mistura espacial",
          "default": "0",
          "domain": "-1 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Em 3D, vale para a parte 2D da mistura espacial",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-pan"
        },
        {
          "id": "min_distance",
          "name": "Distância mínima",
          "kind": "número",
          "group": "Espaço",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0.01 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância próxima de referência da atenuação 3D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-min-distance"
        },
        {
          "id": "max_distance",
          "name": "Distância máxima",
          "kind": "número",
          "group": "Espaço",
          "unit": "m",
          "help": "",
          "default": "100",
          "domain": "0.02 … 100001",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância máxima de referência da atenuação 3D.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-max-distance"
        },
        {
          "id": "rolloff_factor",
          "name": "Decaimento",
          "kind": "número",
          "group": "Espaço",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator de queda de ganho do modelo de atenuação.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-rolloff-factor"
        },
        {
          "id": "cone_inner",
          "name": "Cone interno",
          "kind": "número",
          "group": "Emissão",
          "unit": "°",
          "help": "",
          "default": "360",
          "domain": "0 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ângulo interno do cone acústico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-cone-inner"
        },
        {
          "id": "cone_outer",
          "name": "Cone externo",
          "kind": "número",
          "group": "Emissão",
          "unit": "°",
          "help": "",
          "default": "360",
          "domain": "0 … 360",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ângulo externo do cone acústico.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-cone-outer"
        },
        {
          "id": "cone_gain",
          "name": "Ganho fora do cone",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ganho fora da região interna do cone.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-cone-gain"
        },
        {
          "id": "doppler",
          "name": "Doppler",
          "kind": "número",
          "group": "Emissão",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 4",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator do efeito Doppler.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-doppler"
        },
        {
          "id": "spatial_blend",
          "name": "Mistura espacial",
          "kind": "número",
          "group": "Espaço",
          "unit": "",
          "help": "1 = totalmente 3D; 0 = 2D sem distância nem direção",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "0 usa apresentação 2D, 1 usa 3D; valores intermediários misturam. Confira Listener, distâncias e o recurso real.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-spatial-blend"
        },
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Som",
          "unit": "",
          "help": "0 é a mais importante; acima do limite de vozes, as de menor prioridade ficam virtuais",
          "default": "128",
          "domain": "0 … 256",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 é a prioridade mais importante. Ao exceder 32 vozes reais, as menos importantes podem ficar virtuais e conservar o progresso para retornar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-priority"
        },
        {
          "id": "loop_start",
          "name": "Início do loop",
          "kind": "número",
          "group": "Reprodução",
          "unit": "s",
          "help": "Ao repetir, volta a este ponto",
          "default": "0",
          "domain": "0 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Início do trecho repetido, em segundos do clipe. Exige loop ligado e intervalo válido.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-loop-start"
        },
        {
          "id": "loop_end",
          "name": "Fim do loop",
          "kind": "número",
          "group": "Reprodução",
          "unit": "s",
          "help": "Zero usa o fim do clipe",
          "default": "0",
          "domain": "0 … 36000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fim do trecho repetido, em segundos. Confira a duração real do WAV e início menor que fim.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-loop-end"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Som",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-enabled"
        },
        {
          "id": "mute",
          "name": "Silenciar",
          "kind": "booleano",
          "group": "Som",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Silencia sem remover o componente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-mute"
        },
        {
          "id": "loop",
          "name": "Repetir",
          "kind": "booleano",
          "group": "Reprodução",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Repete a reprodução/percurso no fim.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-loop"
        },
        {
          "id": "playback",
          "name": "Pedido",
          "kind": "enumeração",
          "group": "Reprodução",
          "unit": "",
          "help": "Pedido persistido; consulte o estado real na nota do componente.",
          "default": "Tocar",
          "domain": "Parar | Tocar | Pausar",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Pedido persistido; consulte o estado real na nota do componente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-playback"
        },
        {
          "id": "dimension",
          "name": "Dimensão",
          "kind": "enumeração",
          "group": "Espaço",
          "unit": "",
          "help": "",
          "default": "2D / estéreo",
          "domain": "2D / estéreo | 3D / espacial",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona áudio estéreo ou espacial conforme o domínio.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-dimension"
        },
        {
          "id": "rolloff",
          "name": "Atenuação",
          "kind": "enumeração",
          "group": "Espaço",
          "unit": "",
          "help": "",
          "default": "Inverso",
          "domain": "Linear | Inverso | Exponencial",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Modelo de atenuação por distância.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-rolloff"
        },
        {
          "id": "loading",
          "name": "Carregamento",
          "kind": "enumeração",
          "group": "Som",
          "unit": "",
          "help": "Streaming lê o arquivo aos poucos: para músicas e falas longas",
          "default": "Memória",
          "domain": "Memória | Streaming",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escolhe carregamento do clipe: Streaming lê progressivamente, em vez de presumir tudo em memória. WAV longo é importado para streaming; salve a cena após importar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-loading"
        },
        {
          "id": "bus",
          "name": "Bus",
          "kind": "referência",
          "group": "Som",
          "unit": "",
          "help": "",
          "default": "Master",
          "domain": "astra.audio.bus",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destino de mixer da fonte.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-source/#field-bus"
        }
      ],
      "resources": [
        {
          "id": "clip",
          "name": "Clipe WAV",
          "kind": "audio_clip",
          "group": "Som",
          "help": "",
          "inheritable": false
        }
      ],
      "methods": [
        {
          "id": "play",
          "name": "Tocar",
          "help": "Recomeça do início",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "pause",
          "name": "Pausar",
          "help": "Congela o cursor",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "resume",
          "name": "Retomar",
          "help": "Continua do cursor pausado",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "stop",
          "name": "Parar",
          "help": "Interrompe e libera a voz",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "seek",
          "name": "Posicionar",
          "help": "Move o cursor; aplicado pelo mixer",
          "result": "nada",
          "parameters": [
            {
              "id": "seconds",
              "name": "Posição",
              "kind": "número",
              "unit": "s"
            }
          ]
        },
        {
          "id": "is_virtual",
          "name": "Virtual",
          "help": "Verdadeiro quando a voz passou do limite de vozes e é acompanhada sem tocar",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Atribua um clipe do projeto ao Audio Source e confira reprodução, volume, mute e bus. Escolha escuta e espacialização; prioridade decide o listener efetivo.",
        "example": "Um Audio Source e um Audio Listener: toque um clipe, altere volume/mute e depois compare estéreo com 3D movendo a fonte.",
        "next": "Ampliar transporte, formatos, mixer e diagnóstico de backend. Seek não deve ser presumido como disponível porque há cursor de reprodução. Conferir saída física no aparelho é uma evidência separada.",
        "purpose": "Clipe de projeto com reprodução e espaço acústico",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Reprodução** → **Fonte de áudio**.",
        "extra": "Atribua o clipe WAV pelo seletor de recurso e o Bus pelo seletor de objeto. Esses recursos não são valores numéricos. Mistura espacial 0 = 2D e 1 = 3D. Até 32 vozes são reais; as menos prioritárias podem ficar virtuais. Streaming usa leitura progressiva para músicas longas. MP3/OGG não estão incluídos.",
        "related": "[Mixer, streaming e vozes](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#mixer-de-áudio)"
      }
    },
    {
      "typeId": "astra.audio.effect_sound",
      "name": "Som repetido",
      "description": "Toca o clipe da Fonte de áudio de tempos em tempos, com volume sorteado",
      "family": "Áudio",
      "subfamily": "Reprodução",
      "api": "EffectSound",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/AudioSource.PlayOneShot.html",
      "aliases": "EGA_EffectSound PlayOneShot InvokeRepeating Som Repetido Loop Efeito",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.audio.source",
          "message": "Adicione uma Fonte de áudio a este objeto: o som repetido toca o clipe dela"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "interval",
          "name": "Intervalo",
          "kind": "número",
          "group": "Som",
          "unit": "s",
          "help": "Tempo entre um toque e o próximo",
          "default": "2",
          "domain": "0.05 … 3600",
          "limitation": "Em Play: toca o clipe da Fonte de áudio depois do Atraso e a cada Intervalo, com volume sorteado; cada toque reinicia a voz (sem vozes sobrepostas como o PlayOneShot)",
          "capability": "audio.effect_sound",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo entre um toque e o próximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-effect-sound/#field-interval"
        },
        {
          "id": "start_delay",
          "name": "Atraso",
          "kind": "número",
          "group": "Som",
          "unit": "s",
          "help": "Espera antes do primeiro toque",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "Em Play: toca o clipe da Fonte de áudio depois do Atraso e a cada Intervalo, com volume sorteado; cada toque reinicia a voz (sem vozes sobrepostas como o PlayOneShot)",
          "capability": "audio.effect_sound",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes do primeiro toque",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-effect-sound/#field-start-delay"
        },
        {
          "id": "volume_min",
          "name": "Volume mínimo",
          "kind": "número",
          "group": "Volume",
          "unit": "",
          "help": "Menor volume sorteado",
          "default": "0.4",
          "domain": "0 … 1",
          "limitation": "Em Play: toca o clipe da Fonte de áudio depois do Atraso e a cada Intervalo, com volume sorteado; cada toque reinicia a voz (sem vozes sobrepostas como o PlayOneShot)",
          "capability": "audio.effect_sound",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Menor volume sorteado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-effect-sound/#field-volume-min"
        },
        {
          "id": "volume_max",
          "name": "Volume máximo",
          "kind": "número",
          "group": "Volume",
          "unit": "",
          "help": "Maior volume sorteado",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Em Play: toca o clipe da Fonte de áudio depois do Atraso e a cada Intervalo, com volume sorteado; cada toque reinicia a voz (sem vozes sobrepostas como o PlayOneShot)",
          "capability": "audio.effect_sound",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Maior volume sorteado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-effect-sound/#field-volume-max"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Som",
          "unit": "",
          "help": "Desligado, não toca nada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: toca o clipe da Fonte de áudio depois do Atraso e a cada Intervalo, com volume sorteado; cada toque reinicia a voz (sem vozes sobrepostas como o PlayOneShot)",
          "capability": "audio.effect_sound",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, não toca nada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-effect-sound/#field-enabled"
        },
        {
          "id": "repeating",
          "name": "Repetir",
          "kind": "booleano",
          "group": "Som",
          "unit": "",
          "help": "Toca de novo a cada intervalo",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: toca o clipe da Fonte de áudio depois do Atraso e a cada Intervalo, com volume sorteado; cada toque reinicia a voz (sem vozes sobrepostas como o PlayOneShot)",
          "capability": "audio.effect_sound",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Toca de novo a cada intervalo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-effect-sound/#field-repeating"
        },
        {
          "id": "random_volume",
          "name": "Volume sorteado",
          "kind": "booleano",
          "group": "Volume",
          "unit": "",
          "help": "Cada toque sorteia o volume entre o mínimo e o máximo",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: toca o clipe da Fonte de áudio depois do Atraso e a cada Intervalo, com volume sorteado; cada toque reinicia a voz (sem vozes sobrepostas como o PlayOneShot)",
          "capability": "audio.effect_sound",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cada toque sorteia o volume entre o mínimo e o máximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-effect-sound/#field-random-volume"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "No objeto com Fonte de áudio, adicione Som repetido. Defina Intervalo, Atraso e, com Volume sorteado, o Volume mínimo e máximo.",
        "example": "Fogueira: Fonte de áudio com um estalo curto, Som repetido com Intervalo 2 s, Volume sorteado 0,4 a 1. Os estalos repetem sem soar mecânicos.",
        "next": "Presente na 0.4.0. Lista de clipes sorteados não existe.",
        "purpose": "Toca o clipe da Fonte de áudio do mesmo objeto de tempos em tempos, com volume sorteado, como o PlayOneShot dos scripts de som dos pacotes de efeitos.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Reprodução** → **Som repetido**.",
        "extra": "Repetir desligado toca uma vez depois do Atraso. O clipe é o da Fonte de áudio; este componente não escolhe clipe próprio.",
        "related": "[Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)"
      }
    },
    {
      "typeId": "astra.audio.listener",
      "name": "Ouvinte de áudio",
      "description": "Pose e volume de escuta escolhidos por prioridade",
      "family": "Áudio",
      "subfamily": "Escuta",
      "api": "AudioListener",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-AudioListener.html",
      "aliases": "AudioListener AudioListener3D escuta",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "volume",
          "name": "Volume global",
          "kind": "número",
          "group": "Escuta",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ganho linear de áudio do consumidor correspondente; 0 silencia e 1 conserva ganho unitário.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-listener/#field-volume"
        },
        {
          "id": "priority",
          "name": "Prioridade",
          "kind": "número",
          "group": "Escuta",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "0 … 255",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Prioridade entre candidatos do mesmo sistema; compare o consumidor efetivo, não só o número no Inspector.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-listener/#field-priority"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Escuta",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-listener/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Atribua um clipe do projeto ao Audio Source e confira reprodução, volume, mute e bus. Escolha escuta e espacialização; prioridade decide o listener efetivo.",
        "example": "Um Audio Source e um Audio Listener: toque um clipe, altere volume/mute e depois compare estéreo com 3D movendo a fonte.",
        "next": "Ampliar transporte, formatos, mixer e diagnóstico de backend. Seek não deve ser presumido como disponível porque há cursor de reprodução. Conferir saída física no aparelho é uma evidência separada.",
        "purpose": "Pose e volume de escuta escolhidos por prioridade",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Escuta** → **Ouvinte de áudio**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.audio.bus",
      "name": "Bus de áudio",
      "description": "Nó do mixer: ganho, mute, solo, cadeia de efeitos e envios até Master",
      "family": "Áudio",
      "subfamily": "Mixer",
      "api": "AudioBus",
      "reference": "https://docs.godotengine.org/en/4.5/tutorials/audio/audio_buses.html",
      "aliases": "AudioMixerGroup AudioServer bus mixer",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "volume",
          "name": "Ganho",
          "kind": "número",
          "group": "Mixer",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ganho linear de áudio do consumidor correspondente; 0 silencia e 1 conserva ganho unitário.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-bus/#field-volume"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Mixer",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-bus/#field-enabled"
        },
        {
          "id": "mute",
          "name": "Silenciar",
          "kind": "booleano",
          "group": "Mixer",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Silencia sem remover o componente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-bus/#field-mute"
        },
        {
          "id": "solo",
          "name": "Solo",
          "kind": "booleano",
          "group": "Mixer",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Isola esse bus conforme o roteamento do mixer.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-bus/#field-solo"
        },
        {
          "id": "output",
          "name": "Saída",
          "kind": "referência",
          "group": "Mixer",
          "unit": "",
          "help": "",
          "default": "Master",
          "domain": "astra.audio.bus · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de saída; confira ciclos e destino Master.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-bus/#field-output"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "peak_db",
          "name": "Pico (dB)",
          "help": "Pico de saída do bus, com queda de 20 dB/s; -120 em silêncio",
          "result": "número",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Atribua um clipe do projeto ao Audio Source e confira reprodução, volume, mute e bus. Escolha escuta e espacialização; prioridade decide o listener efetivo.",
        "example": "Um Audio Source e um Audio Listener: toque um clipe, altere volume/mute e depois compare estéreo com 3D movendo a fonte.",
        "next": "Ampliar transporte, formatos, mixer e diagnóstico de backend. Seek não deve ser presumido como disponível porque há cursor de reprodução. Conferir saída física no aparelho é uma evidência separada.",
        "purpose": "Nó do mixer: ganho, mute, solo, cadeia de efeitos e envios até Master",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Mixer** → **Bus de áudio**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.audio.filter",
      "name": "Filtro de áudio",
      "description": "Passa-baixa, passa-alta, banda, rejeita-banda, pico e prateleiras",
      "family": "Áudio",
      "subfamily": "Mixer",
      "api": "AudioFilter",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_audioeffectfilter.html",
      "aliases": "AudioEffectFilter LowPass HighPass Lowpass Highpass EQ Equalizador Filtro abafar",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.audio.bus",
          "message": "Adicione Bus de áudio a este objeto: efeitos e envios processam o sinal do bus"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "cutoff",
          "name": "Frequência de corte",
          "kind": "número",
          "group": "Filtro",
          "unit": "Hz",
          "help": "",
          "default": "5000",
          "domain": "20 … 20000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Frequência de corte em Hz. No passa-baixa, reduzir abafa; nos demais modos, localiza a faixa conforme o Tipo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-filter/#field-cutoff"
        },
        {
          "id": "resonance",
          "name": "Ressonância",
          "kind": "número",
          "group": "Filtro",
          "unit": "",
          "help": "Q do filtro; 0,707 é plano",
          "default": "0.707",
          "domain": "0.1 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Q do filtro: .707 é uma resposta plana; aumentar ressalta a região do corte. Compare sem elevar o ganho excessivamente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-filter/#field-resonance"
        },
        {
          "id": "gain",
          "name": "Ganho",
          "kind": "número",
          "group": "Filtro",
          "unit": "dB",
          "help": "Reforço ou corte na faixa",
          "default": "0",
          "domain": "-24 … 24",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Reforço/corte da faixa em dB, usado nos modos Pico/Prateleira. Não é o ganho linear do Bus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-filter/#field-gain"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Filtro",
          "unit": "",
          "help": "Desligado deixa o sinal passar sem alteração",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado deixa o sinal passar sem alteração",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-filter/#field-enabled"
        },
        {
          "id": "mode",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "Filtro",
          "unit": "",
          "help": "Passa-baixa abafa (porta fechada, embaixo d'água); passa-alta afina (rádio, telefone)",
          "default": "Passa-baixa",
          "domain": "Passa-baixa | Passa-alta | Passa-banda | Rejeita-banda | Pico | Prateleira grave | Prateleira aguda",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Passa-baixa abafa (porta fechada, embaixo d'água); passa-alta afina (rádio, telefone)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-filter/#field-mode"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "No objeto do Bus, adicione o filtro. Ligue a Fonte ao Bus. Escolha Tipo antes de ajustar Frequência de corte, Ressonância ou Ganho; o efeito faz parte da cadeia ordenada de componentes.",
        "example": "Use WAV com bastante agudo, Tipo Passa-baixa, corte 1000 Hz e Q .707. Compare Ativo ligado/desligado. Passe para 5000 Hz para ouvir menos abafamento. É um exercício de escuta, não uma promessa de resultado em toda saída de áudio.",
        "next": "Filtro de bus presente na 0.2.3. WAV é o formato publicado; MP3/OGG e acústica automática não estão suportados. Sem cronograma de expansão.",
        "purpose": "Filtra o som de um Bus de áudio. Passa-baixa abafa; passa-alta retira graves; pico/prateleira modificam uma faixa.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Mixer** → **Filtro de áudio**.",
        "extra": "Um efeito sem fonte roteada não tem sinal para processar. Frequência usa Hz; Ganho usa dB. Não cria material acústico ou simulação automática de paredes.",
        "related": "[Mixer e roteamento](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#mixer-de-áudio)"
      }
    },
    {
      "typeId": "astra.audio.echo",
      "name": "Eco",
      "description": "Repetições atrasadas com realimentação",
      "family": "Áudio",
      "subfamily": "Mixer",
      "api": "AudioEcho",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-AudioEchoEffect.html",
      "aliases": "AudioEffectDelay Echo Delay Eco Atraso",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.audio.bus",
          "message": "Adicione Bus de áudio a este objeto: efeitos e envios processam o sinal do bus"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "delay",
          "name": "Atraso",
          "kind": "número",
          "group": "Eco",
          "unit": "ms",
          "help": "Intervalo entre as repetições",
          "default": "300",
          "domain": "1 … 5000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Intervalo entre repetições, em milissegundos. 300 ms = .3 s; não é a espera inicial de um tween.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-echo/#field-delay"
        },
        {
          "id": "feedback",
          "name": "Realimentação",
          "kind": "número",
          "group": "Eco",
          "unit": "",
          "help": "Quanto de cada repetição volta ao atraso",
          "default": "0.4",
          "domain": "0 … 0.95",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Fração da repetição que volta ao atraso. Menor encurta a cauda; valores altos prolongam repetições.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-echo/#field-feedback"
        },
        {
          "id": "wet",
          "name": "Mistura do eco",
          "kind": "número",
          "group": "Eco",
          "unit": "",
          "help": "",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ganho do sinal processado pelo efeito. Zero retira essa contribuição; não é porcentagem em 0–100.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-echo/#field-wet"
        },
        {
          "id": "dry",
          "name": "Sinal original",
          "kind": "número",
          "group": "Eco",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ganho do sinal original. Em um bus de retorno com Reverb, zero evita duplicar o caminho seco.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-echo/#field-dry"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Eco",
          "unit": "",
          "help": "Desligado esvazia as repetições",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado esvazia as repetições",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-echo/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Adicione Eco no objeto do Bus e roteie uma Fonte WAV a ele. Atraso é em milissegundos; Realimentação regula a cauda. Mistura do eco e Sinal original são ganhos separados.",
        "example": "Use Atraso 300 ms, Realimentação .4, Mistura .5 e Sinal original 1. Toque um som curto: as repetições devem decair. Reduza Realimentação para encurtar a cauda. Desligar Ativo esvazia as repetições.",
        "next": "Eco de bus presente na 0.2.3; não é propagação acústica por geometria. Sem expansão datada.",
        "purpose": "Repete o sinal de um Bus com atraso e realimentação. Use para uma repetição audível de voz ou efeito.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Mixer** → **Eco**.",
        "extra": "Não é atraso inicial da reprodução nem espera de um tween. Evite ganhos altos em cadeia; eles podem saturar o sinal.",
        "related": "[Cadeia do mixer](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#mixer-de-áudio)"
      }
    },
    {
      "typeId": "astra.audio.reverb",
      "name": "Reverberação",
      "description": "Sala simulada com tamanho, amortecimento e pré-atraso",
      "family": "Áudio",
      "subfamily": "Mixer",
      "api": "AudioReverb",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_audioeffectreverb.html",
      "aliases": "AudioEffectReverb SFX Reverb Reverberação Sala Caverna",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.audio.bus",
          "message": "Adicione Bus de áudio a este objeto: efeitos e envios processam o sinal do bus"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "room_size",
          "name": "Tamanho da sala",
          "kind": "número",
          "group": "Sala",
          "unit": "",
          "help": "Maior deixa a cauda mais longa",
          "default": "0.8",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Tamanho normalizado da sala algorítmica; maior prolonga a cauda. Não é a medida geométrica em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-reverb/#field-room-size"
        },
        {
          "id": "damping",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Sala",
          "unit": "",
          "help": "Absorção dos agudos pelas paredes",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Absorção dos agudos na cauda da reverberação. Compare com um som curto rico em agudos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-reverb/#field-damping"
        },
        {
          "id": "width",
          "name": "Largura",
          "kind": "número",
          "group": "Sala",
          "unit": "",
          "help": "Abertura estéreo da reverberação",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Abertura estéreo da cauda. Não muda a posição 3D da fonte.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-reverb/#field-width"
        },
        {
          "id": "predelay",
          "name": "Pré-atraso",
          "kind": "número",
          "group": "Sala",
          "unit": "ms",
          "help": "Tempo até as primeiras reflexões",
          "default": "20",
          "domain": "0 … 500",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera em milissegundos antes das primeiras reflexões; 20 significa .02 segundo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-reverb/#field-predelay"
        },
        {
          "id": "wet",
          "name": "Mistura da reverberação",
          "kind": "número",
          "group": "Mistura",
          "unit": "",
          "help": "",
          "default": "0.3",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ganho do sinal processado pelo efeito. Zero retira essa contribuição; não é porcentagem em 0–100.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-reverb/#field-wet"
        },
        {
          "id": "dry",
          "name": "Sinal original",
          "kind": "número",
          "group": "Mistura",
          "unit": "",
          "help": "Zero em um bus de envio deixa só a reverberação",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Ganho do sinal original. Em um bus de retorno com Reverb, zero evita duplicar o caminho seco.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-reverb/#field-dry"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Sala",
          "unit": "",
          "help": "Desligado corta a reverberação",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado corta a reverberação",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-reverb/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Adicione no Bus. Tamanho da sala e Amortecimento controlam a cauda; Pré-atraso em ms separa as primeiras reflexões. Em um bus só de retorno, Sinal original 0 deixa apenas reverberação.",
        "example": "Use Tamanho .8, Amortecimento .5, Largura 1 e Pré-atraso 20 ms. Compare Mistura 0 e .3 com uma voz curta. Para retorno separado, envie por Envio de áudio e use Sinal original 0 no destino.",
        "next": "Reverberação algorítmica de bus presente na 0.2.3. Não presume convolução, baking acústico ou leitura automática de uma sala. Sem data de expansão.",
        "purpose": "Acrescenta uma cauda de sala ao Bus de áudio. Use para dar ambiente sonoro a um sinal ou a um bus de envio.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Mixer** → **Reverberação**.",
        "extra": "Tamanho da sala é normalizado, não metros nem leitura da geometria. Desligar corta a reverberação. O bus de retorno precisa encaminhar sua saída para um destino audível.",
        "related": "[Mixer e envios](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#mixer-de-áudio)"
      }
    },
    {
      "typeId": "astra.audio.compressor",
      "name": "Compressor",
      "description": "Controla picos; com sidechain abaixa este bus quando outro soa",
      "family": "Áudio",
      "subfamily": "Mixer",
      "api": "AudioCompressor",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_audioeffectcompressor.html",
      "aliases": "AudioEffectCompressor Compressor Ducking Duck Volume Sidechain Limiter",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.audio.bus",
          "message": "Adicione Bus de áudio a este objeto: efeitos e envios processam o sinal do bus"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "threshold",
          "name": "Limiar",
          "kind": "número",
          "group": "Compressão",
          "unit": "dB",
          "help": "Acima deste nível o volume é reduzido",
          "default": "-20",
          "domain": "-60 … 0",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Nível em dB acima do qual o detector provoca redução de ganho; com Sidechain mede o outro Bus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-threshold"
        },
        {
          "id": "ratio",
          "name": "Razão",
          "kind": "número",
          "group": "Compressão",
          "unit": ": 1",
          "help": "4 reduz 4 dB acima do limiar para cada 1 dB que passa",
          "default": "4",
          "domain": "1 … 48",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Razão de compressão: 4 significa que 4 dB acima do limiar resultam em 1 dB acima dele.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-ratio"
        },
        {
          "id": "attack",
          "name": "Ataque",
          "kind": "número",
          "group": "Compressão",
          "unit": "ms",
          "help": "",
          "default": "20",
          "domain": "0.02 … 250",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo em milissegundos para reagir à redução; pequeno reage rápido aos picos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-attack"
        },
        {
          "id": "release",
          "name": "Liberação",
          "kind": "número",
          "group": "Compressão",
          "unit": "ms",
          "help": "",
          "default": "250",
          "domain": "1 … 2000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo em milissegundos para recuperar ganho após cair abaixo do limiar; controla a volta da música no ducking.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-release"
        },
        {
          "id": "makeup",
          "name": "Ganho de compensação",
          "kind": "número",
          "group": "Saída",
          "unit": "dB",
          "help": "",
          "default": "0",
          "domain": "0 … 24",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ganho de saída em dB aplicado após compressão; ajuste sem saturar o bus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-makeup"
        },
        {
          "id": "mix",
          "name": "Mistura",
          "kind": "número",
          "group": "Saída",
          "unit": "",
          "help": "Menor que 1 soma o sinal sem compressão (paralela)",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Mistura do sinal comprimido com o original; 1 = processado, valores menores permitem compressão paralela.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-mix"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Compressão",
          "unit": "",
          "help": "Desligado deixa o sinal passar sem alteração",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado deixa o sinal passar sem alteração",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-enabled"
        },
        {
          "id": "sidechain",
          "name": "Sidechain",
          "kind": "referência",
          "group": "Compressão",
          "unit": "",
          "help": "Comprime quando OUTRO bus soa: música abaixa quando há fala (ducking)",
          "default": "Próprio sinal",
          "domain": "astra.audio.bus · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprime quando OUTRO bus soa: música abaixa quando há fala (ducking)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-compressor/#field-sidechain"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "reduction_db",
          "name": "Redução (dB)",
          "help": "Quanto o compressor está abaixando agora",
          "result": "número",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Adicione no Bus da música. Para ducking, atribua o Bus das falas em Sidechain. Sem referência ele mede seu próprio sinal. Ajuste Limiar em dB, Razão e Ataque/Liberação em ms.",
        "example": "Com música e fala WAV roteadas a buses separados, use Limiar −20 dB, Razão 4, Ataque 20 ms e Liberação 250 ms. Atribua Falas ao Sidechain da música. Toque fala e confira Redução em dB no cartão do Compressor; a música deve recuperar o ganho após a liberação.",
        "next": "Compressão e ducking presentes na 0.2.3. Não é automix universal, loudness normalizado ou sistema de diálogos completo. Sem data prometida.",
        "purpose": "Reduz picos acima de um limiar. Com Sidechain, reduz o bus quando outro bus toca: a música abaixa durante a fala.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Mixer** → **Compressor**.",
        "extra": "Atalho: + → Áudio → Bus com ducking; escolha o bus de fala no seletor. O outro bus ainda precisa existir e receber a fonte. Ganho de compensação recupera nível de saída; não elimina a compressão.",
        "related": "[Ducking passo a passo](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#mixer-de-áudio)"
      }
    },
    {
      "typeId": "astra.audio.send",
      "name": "Envio de áudio",
      "description": "Copia o sinal deste ponto da cadeia para outro bus",
      "family": "Áudio",
      "subfamily": "Mixer",
      "api": "AudioSend",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/AudioMixer.html",
      "aliases": "Send Receive Envio Aux Reverb send",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.audio.bus",
          "message": "Adicione Bus de áudio a este objeto: efeitos e envios processam o sinal do bus"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "level",
          "name": "Nível do envio",
          "kind": "número",
          "group": "Envio",
          "unit": "",
          "help": "Fração do sinal deste ponto da cadeia que vai ao destino",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Fração linear copiada ao Bus de destino neste ponto da cadeia. Zero não envia; não é volume master.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-send/#field-level"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Envio",
          "unit": "",
          "help": "Desligado não envia nada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado não envia nada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-send/#field-enabled"
        },
        {
          "id": "target",
          "name": "Destino",
          "kind": "referência",
          "group": "Envio",
          "unit": "",
          "help": "Bus que recebe a cópia, por exemplo um bus só com Reverb",
          "default": "Nenhum",
          "domain": "astra.audio.bus · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus que recebe a cópia, por exemplo um bus só com Reverb",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-send/#field-target"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Adicione no Bus de origem, escolha outro Bus em Destino e ajuste Nível do envio. Sua posição entre os componentes decide se copia antes ou depois de um efeito.",
        "example": "Crie um Bus de retorno com Reverberação, Sinal original 0 e Mistura .3. No Bus de origem, atribua esse retorno no Envio e use Nível .5. Compare .5 e 0 para ouvir a contribuição do retorno mantendo o caminho original.",
        "next": "Envio ordenado no mixer presente na 0.2.3. Não declara toda topologia de feedback nem roteamento arbitrário entre engines. Sem data de expansão.",
        "purpose": "Copia uma fração do sinal do ponto atual da cadeia para outro Bus. Use para uma reverberação compartilhada sem substituir o caminho original.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Mixer** → **Envio de áudio**.",
        "extra": "Destino vazio não envia. Confira o encaminhamento do bus de retorno; uma referência válida não garante que ele alcance a saída. Evite ciclos de roteamento.",
        "related": "[Mixer e retorno](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#mixer-de-áudio)"
      }
    },
    {
      "typeId": "astra.audio.snapshot",
      "name": "Snapshot de mixer",
      "description": "Leva ganhos e efeitos a valores salvos com transição",
      "family": "Áudio",
      "subfamily": "Mixer",
      "api": "AudioSnapshot",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/AudioMixerSnapshots.html",
      "aliases": "AudioMixerSnapshot TransitionTo Snapshot Estado do mixer",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "transition",
          "name": "Transição",
          "kind": "número",
          "group": "Snapshot",
          "unit": "s",
          "help": "Tempo real até os valores do snapshot",
          "default": "1",
          "domain": "0 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo real até os valores do snapshot",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-transition"
        },
        {
          "id": "slot_0_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-0-value"
        },
        {
          "id": "slot_1_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-1-value"
        },
        {
          "id": "slot_2_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-2-value"
        },
        {
          "id": "slot_3_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-3-value"
        },
        {
          "id": "slot_4_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-4-value"
        },
        {
          "id": "slot_5_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-5-value"
        },
        {
          "id": "slot_6_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-6-value"
        },
        {
          "id": "slot_7_value",
          "name": "Valor",
          "kind": "número",
          "group": "Valores",
          "unit": "",
          "help": "Limitado à faixa da propriedade de destino",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Valor-alvo deste slot de mixer, na unidade do Parâmetro selecionado (Hz, dB ou ganho linear). A escrita é limitada pela faixa do destino; a faixa ampla deste campo não a contorna.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-7-value"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Snapshot",
          "unit": "",
          "help": "Desligado recusa transições",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado recusa transições",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-enabled"
        },
        {
          "id": "apply_at_start",
          "name": "Aplicar ao iniciar",
          "kind": "booleano",
          "group": "Snapshot",
          "unit": "",
          "help": "Os valores entram no primeiro quadro do Play, sem transição",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Os valores entram no primeiro quadro do Play, sem transição",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-apply-at-start"
        },
        {
          "id": "slot_0_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-0-parameter"
        },
        {
          "id": "slot_1_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-1-parameter"
        },
        {
          "id": "slot_2_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-2-parameter"
        },
        {
          "id": "slot_3_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-3-parameter"
        },
        {
          "id": "slot_4_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-4-parameter"
        },
        {
          "id": "slot_5_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-5-parameter"
        },
        {
          "id": "slot_6_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-6-parameter"
        },
        {
          "id": "slot_7_parameter",
          "name": "Parâmetro",
          "kind": "enumeração",
          "group": "Valores",
          "unit": "",
          "help": "Usa o primeiro componente daquele tipo no objeto",
          "default": "Ganho do bus",
          "domain": "Ganho do bus | Corte do filtro | Ressonância do filtro | Ganho do filtro | Mistura do eco | Mistura da reverberação | Tamanho da sala | Nível do envio | Limiar do compressor",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Usa o primeiro componente daquele tipo no objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-7-parameter"
        },
        {
          "id": "slot_0_target",
          "name": "Objeto 1",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-0-target"
        },
        {
          "id": "slot_1_target",
          "name": "Objeto 2",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-1-target"
        },
        {
          "id": "slot_2_target",
          "name": "Objeto 3",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-2-target"
        },
        {
          "id": "slot_3_target",
          "name": "Objeto 4",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-3-target"
        },
        {
          "id": "slot_4_target",
          "name": "Objeto 5",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-4-target"
        },
        {
          "id": "slot_5_target",
          "name": "Objeto 6",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-5-target"
        },
        {
          "id": "slot_6_target",
          "name": "Objeto 7",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-6-target"
        },
        {
          "id": "slot_7_target",
          "name": "Objeto 8",
          "kind": "referência",
          "group": "Valores",
          "unit": "",
          "help": "Bus de áudio, ou o objeto do bus com o efeito",
          "default": "Nenhum",
          "domain": "qualquer objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "nada",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Bus de áudio, ou o objeto do bus com o efeito",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-audio-snapshot/#field-slot-7-target"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "transition_to",
          "name": "Transicionar",
          "help": "Leva os valores atuais aos do snapshot no tempo dado; negativo usa a Transição do componente",
          "result": "nada",
          "parameters": [
            {
              "id": "seconds",
              "name": "Duração",
              "kind": "número",
              "unit": "s"
            }
          ]
        },
        {
          "id": "apply",
          "name": "Aplicar",
          "help": "Aplica os valores na hora, sem transição",
          "result": "nada",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Áudio",
        "route": "roadmap/audio",
        "use": "Para cada slot, escolha Objeto (o Bus ou o objeto do efeito), Parâmetro e Valor. O parâmetro determina a unidade e a faixa real; o limite amplo da tabela de Valor não contorna o destino. Slots sem destino não configuram um efeito.",
        "example": "No slot 1, selecione um Bus de música, Parâmetro Ganho do bus e Valor .3; Transição 1 s. Em Play, a fachada AudioSnapshot.TransitionTo(1f) leva o ganho ao alvo. Aplicar ao iniciar liga aplicação imediata no primeiro quadro, sem transição. Prepare outro snapshot com ganho 1 para restaurar.",
        "next": "Snapshots de até oito valores e transição presentes na 0.2.3. Não representam preset universal de toda propriedade do mixer; destinos arbitrários não suportados. Sem expansão datada.",
        "purpose": "Guarda até oito valores-alvo de mixer e faz uma transição entre o estado atual e esses valores. Use para água, pausa ou mudanças de ambiente sonoro.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Áudio** / **Mixer** → **Snapshot de mixer**.",
        "extra": "Parâmetros aceitos: ganho do bus (linear), corte do filtro (Hz), Q, ganho do filtro (dB), mistura de Eco/Reverb, tamanho do Reverb, nível de Envio e limiar do Compressor (dB). A seleção usa o primeiro componente daquele tipo no objeto; se houver dois filtros, não presume escolher o segundo. Transição usa tempo real. Não guarda a cena, clipes ou o progresso de gameplay.",
        "related": "[Mixer e comandos](/pt-br/snapshot-2026-10-06/versoes/preview-0-2-3/#mixer-de-áudio)"
      }
    },
    {
      "typeId": "astra.path",
      "name": "Path",
      "description": "Curva Bézier local com pontos persistentes",
      "family": "Lógica",
      "subfamily": "Caminhos",
      "api": "PathComponent",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_path3d.html",
      "aliases": "Path Curve3D Spline Caminho Bezier",
      "schemaVersion": 2,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "up_x",
          "name": "Up X",
          "kind": "número",
          "group": "Orientação",
          "unit": "",
          "help": "Up inicial local; vetor zero é inválido.",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Up inicial local; vetor zero é inválido.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-up-x"
        },
        {
          "id": "up_y",
          "name": "Up Y",
          "kind": "número",
          "group": "Orientação",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Vetor vertical inicial do frame do caminho; vetor total zero é inválido, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-up-y"
        },
        {
          "id": "up_z",
          "name": "Up Z",
          "kind": "número",
          "group": "Orientação",
          "unit": "",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Vetor vertical inicial do frame do caminho; vetor total zero é inválido, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-up-z"
        },
        {
          "id": "closed",
          "name": "Fechado",
          "kind": "booleano",
          "group": "Caminho",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fecha a curva ligando o último ponto ao primeiro.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-closed"
        },
        {
          "id": "point_position_x",
          "name": "Posição X",
          "kind": "número",
          "group": "Posição",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição local do ponto selecionado da curva, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-position-x"
        },
        {
          "id": "point_position_y",
          "name": "Posição Y",
          "kind": "número",
          "group": "Posição",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição local do ponto selecionado da curva, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-position-y"
        },
        {
          "id": "point_position_z",
          "name": "Posição Z",
          "kind": "número",
          "group": "Posição",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição local do ponto selecionado da curva, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-position-z"
        },
        {
          "id": "point_in_x",
          "name": "Entrada X",
          "kind": "número",
          "group": "Tangentes",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Tangente de entrada do ponto selecionado da curva, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-in-x"
        },
        {
          "id": "point_in_y",
          "name": "Entrada Y",
          "kind": "número",
          "group": "Tangentes",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Tangente de entrada do ponto selecionado da curva, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-in-y"
        },
        {
          "id": "point_in_z",
          "name": "Entrada Z",
          "kind": "número",
          "group": "Tangentes",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Tangente de entrada do ponto selecionado da curva, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-in-z"
        },
        {
          "id": "point_out_x",
          "name": "Saída X",
          "kind": "número",
          "group": "Tangentes",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Tangente de saída do ponto selecionado da curva, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-out-x"
        },
        {
          "id": "point_out_y",
          "name": "Saída Y",
          "kind": "número",
          "group": "Tangentes",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Tangente de saída do ponto selecionado da curva, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-out-y"
        },
        {
          "id": "point_out_z",
          "name": "Saída Z",
          "kind": "número",
          "group": "Tangentes",
          "unit": "u",
          "help": "",
          "default": "",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Tangente de saída do ponto selecionado da curva, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-out-z"
        },
        {
          "id": "point_roll",
          "name": "Roll",
          "kind": "número",
          "group": "Orientação",
          "unit": "°",
          "help": "Ângulo contínuo, sem reduzir módulo 360.",
          "default": "",
          "domain": "-3600 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": true,
          "tweenable": false,
          "slots": 0,
          "usage": "Ângulo contínuo, sem reduzir módulo 360.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path/#field-point-roll"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Caminhos e seguidores",
        "route": "roadmap/caminhos",
        "use": "Crie Path com pontos/tangentes persistentes e atribua o objeto ao Path Follow. Distância e orientação dependem da curva e da pose mundial.",
        "example": "Autore uma curva com três pontos, atribua o alvo e percorra em velocidade constante; salve/reabra os pontos e compare orientação +Z e direção reversa.",
        "next": "Aprofundar ferramentas de pontos/tangentes, visualização e cenários de escala/lifecycle. Path não é navmesh, pathfinding ou spline universal importada.",
        "purpose": "Curva Bézier local com pontos persistentes",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Caminhos** → **Path**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.path.follow",
      "name": "Path Follow",
      "description": "Percorre curva em distância mundial e orienta +Z",
      "family": "Lógica",
      "subfamily": "Caminhos",
      "api": "PathFollow",
      "reference": "https://docs.godotengine.org/en/4.5/classes/class_pathfollow3d.html",
      "aliases": "Path Follow Caminho Curva Percurso",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "progress_distance",
          "name": "Distância inicial",
          "kind": "número",
          "group": "Percurso",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "0 … 1000000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância inicial mundial ao longo da curva.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-progress-distance"
        },
        {
          "id": "speed",
          "name": "Velocidade",
          "kind": "número",
          "group": "Percurso",
          "unit": "u/s",
          "help": "",
          "default": "1",
          "domain": "0 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade de reprodução/percurso/motor na unidade do componente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-speed"
        },
        {
          "id": "duration",
          "name": "Duração",
          "kind": "número",
          "group": "Percurso",
          "unit": "s",
          "help": "",
          "default": "5",
          "domain": "0.001 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo para completar o percurso no modo por duração; modo velocidade usa Speed.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-duration"
        },
        {
          "id": "offset_x",
          "name": "Deslocamento lateral",
          "kind": "número",
          "group": "Orientação",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo X.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento vertical",
          "kind": "número",
          "group": "Orientação",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Y.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento tangente",
          "kind": "número",
          "group": "Orientação",
          "unit": "u",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do resultado/volume em relação à origem configurada, eixo Z.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-enabled"
        },
        {
          "id": "autoplay",
          "name": "Iniciar no Play",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inicia a reprodução automaticamente ao ativar a execução; não é o mesmo que repetição.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-autoplay"
        },
        {
          "id": "loop",
          "name": "Repetir percurso",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Repete a reprodução/percurso no fim.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-loop"
        },
        {
          "id": "backwards",
          "name": "Sentido inverso",
          "kind": "booleano",
          "group": "Execução",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Percorre a curva na direção reversa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-backwards"
        },
        {
          "id": "orient",
          "name": "Orientar +Z",
          "kind": "booleano",
          "group": "Orientação",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alinha orientação ao frame do caminho.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-orient"
        },
        {
          "id": "mode",
          "name": "Avanço",
          "kind": "enumeração",
          "group": "Percurso",
          "unit": "",
          "help": "",
          "default": "Velocidade mundial",
          "domain": "Velocidade mundial | Duração do percurso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Seleciona o modo do componente no domínio indicado; revise os campos que aparecem após trocar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-mode"
        },
        {
          "id": "target",
          "name": "Caminho",
          "kind": "referência",
          "group": "Percurso",
          "unit": "",
          "help": "",
          "default": "Escolher Path",
          "domain": "astra.path · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-path-follow/#field-target"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "restart",
          "name": "Reiniciar",
          "help": "Volta à distância inicial e avança",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "stop",
          "name": "Parar",
          "help": "Congela pose e progresso",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "progress",
          "name": "Progresso",
          "help": "Distância percorrida no mundo",
          "result": "número",
          "parameters": []
        },
        {
          "id": "playing",
          "name": "Em movimento",
          "help": "Verdadeiro enquanto avança",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Caminhos e seguidores",
        "route": "roadmap/caminhos",
        "use": "Crie Path com pontos/tangentes persistentes e atribua o objeto ao Path Follow. Distância e orientação dependem da curva e da pose mundial.",
        "example": "Autore uma curva com três pontos, atribua o alvo e percorra em velocidade constante; salve/reabra os pontos e compare orientação +Z e direção reversa.",
        "next": "Aprofundar ferramentas de pontos/tangentes, visualização e cenários de escala/lifecycle. Path não é navmesh, pathfinding ou spline universal importada.",
        "purpose": "Percorre curva em distância mundial e orienta +Z",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **Caminhos** → **Path Follow**.",
        "extra": ""
      }
    },
    {
      "typeId": "astra.navigation.surface",
      "name": "Superfície de navegação",
      "description": "Assa a malha de navegação dos colisores estáticos e a carrega no Play",
      "family": "Navegação",
      "subfamily": "Malha",
      "api": "NavSurface",
      "reference": "https://docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/NavMeshSurface.html",
      "aliases": "NavMesh NavMeshSurface NavigationRegion3D Bake Malha Pathfinding Recast",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "agent_radius",
          "name": "Raio do agente",
          "kind": "número",
          "group": "Agente",
          "unit": "m",
          "help": "Distância mantida das paredes; a malha recua por este raio",
          "default": "0.5",
          "domain": "0 … 50",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio do agente para o bake, em metros: a malha recua essa distância das paredes. Agentes maiores que ele podem raspar; asse de novo ao mudar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-agent-radius"
        },
        {
          "id": "agent_height",
          "name": "Altura do agente",
          "kind": "número",
          "group": "Agente",
          "unit": "m",
          "help": "Espaço livre mínimo acima do chão",
          "default": "2",
          "domain": "0.05 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espaço livre mínimo acima do chão, em metros. Passagens mais baixas ficam fora da malha.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-agent-height"
        },
        {
          "id": "agent_max_climb",
          "name": "Altura do degrau",
          "kind": "número",
          "group": "Agente",
          "unit": "m",
          "help": "Desnível que o agente sobe sem link",
          "default": "0.4",
          "domain": "0 … 50",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desnível que o agente vence sem link, em metros (degrau). Maior junta plataformas próximas; menor exige rampas ou links.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-agent-max-climb"
        },
        {
          "id": "agent_max_slope",
          "name": "Inclinação máxima",
          "kind": "número",
          "group": "Agente",
          "unit": "°",
          "help": "Rampas mais íngremes não entram na malha",
          "default": "45",
          "domain": "0 … 89",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inclinação máxima caminhável, em graus. Rampas mais íngremes não entram na malha.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-agent-max-slope"
        },
        {
          "id": "volume_center_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Coleta",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coordenada X do centro do volume de coleta, no espaço do objeto da Superfície. Usada só com Coletar = Volume.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-volume-center-x"
        },
        {
          "id": "volume_center_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Coleta",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coordenada Y do centro do volume de coleta, no espaço do objeto. Usada só com Coletar = Volume.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-volume-center-y"
        },
        {
          "id": "volume_center_z",
          "name": "Centro Z",
          "kind": "número",
          "group": "Coleta",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-100000 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Coordenada Z do centro do volume de coleta, no espaço do objeto. Usada só com Coletar = Volume.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-volume-center-z"
        },
        {
          "id": "volume_size_x",
          "name": "Tamanho X",
          "kind": "número",
          "group": "Coleta",
          "unit": "m",
          "help": "",
          "default": "20",
          "domain": "0.1 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Largura do volume de coleta em metros (eixo X do objeto). Colisores fora dele não entram no bake.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-volume-size-x"
        },
        {
          "id": "volume_size_y",
          "name": "Tamanho Y",
          "kind": "número",
          "group": "Coleta",
          "unit": "m",
          "help": "",
          "default": "6",
          "domain": "0.1 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do volume de coleta em metros. Inclua o chão e o espaço livre do agente.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-volume-size-y"
        },
        {
          "id": "volume_size_z",
          "name": "Tamanho Z",
          "kind": "número",
          "group": "Coleta",
          "unit": "m",
          "help": "",
          "default": "20",
          "domain": "0.1 … 100000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Profundidade do volume de coleta em metros (eixo Z do objeto).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-volume-size-z"
        },
        {
          "id": "cell_size",
          "name": "Tamanho da célula",
          "kind": "número",
          "group": "Precisão",
          "unit": "m",
          "help": "Menor detalhe horizontal; menor é mais preciso e mais lento",
          "default": "0.2",
          "domain": "0.01 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho horizontal da célula de voxel, em metros. Menor aumenta precisão e tempo de bake; maior pode fechar vãos estreitos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-cell-size"
        },
        {
          "id": "cell_height",
          "name": "Altura da célula",
          "kind": "número",
          "group": "Precisão",
          "unit": "m",
          "help": "Menor detalhe vertical",
          "default": "0.1",
          "domain": "0.01 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura da célula de voxel, em metros. Define a precisão vertical dos degraus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-cell-height"
        },
        {
          "id": "min_region_area",
          "name": "Área mínima de região",
          "kind": "número",
          "group": "Precisão",
          "unit": "m²",
          "help": "Ilhas menores são descartadas",
          "default": "2",
          "domain": "0 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Área mínima, em m², de uma ilha de malha. Ilhas menores (topos de caixas, quinas) são descartadas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-min-region-area"
        },
        {
          "id": "tile_size",
          "name": "Tile",
          "kind": "número",
          "group": "Precisão",
          "unit": "células",
          "help": "Lado do tile; obstáculos reconstroem só os tiles que tocam",
          "default": "64",
          "domain": "16 … 128",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lado do tile em células. Obstáculos e links reconstroem só os tiles que tocam; tiles menores reconstroem menos por vez.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-tile-size"
        },
        {
          "id": "edge_max_length",
          "name": "Aresta máxima",
          "kind": "número",
          "group": "Avançado",
          "unit": "m",
          "help": "Zero não limita o comprimento das bordas",
          "default": "12",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento máximo das bordas da malha, em metros; zero não limita.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-edge-max-length"
        },
        {
          "id": "edge_max_error",
          "name": "Erro de borda",
          "kind": "número",
          "group": "Avançado",
          "unit": "células",
          "help": "Quanto o contorno pode se afastar das paredes",
          "default": "1.3",
          "domain": "0.1 … 10",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o contorno simplificado pode se afastar das paredes, em células. Maior gera menos vértices.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-edge-max-error"
        },
        {
          "id": "detail_sample_distance",
          "name": "Amostra de detalhe",
          "kind": "número",
          "group": "Avançado",
          "unit": "células",
          "help": "Menor que 1 desliga a malha de detalhe de altura",
          "default": "6",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância de amostragem da malha de detalhe de altura, em células. Abaixo de 1 desliga o detalhe.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-detail-sample-distance"
        },
        {
          "id": "detail_sample_max_error",
          "name": "Erro de detalhe",
          "kind": "número",
          "group": "Avançado",
          "unit": "células",
          "help": "",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Erro máximo de altura da malha de detalhe, em células.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-detail-sample-max-error"
        },
        {
          "id": "enabled",
          "name": "Ativa",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Desligada não carrega a malha no Play; o bake é preservado",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligada não carrega a malha no Play; o recurso assado é preservado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-enabled"
        },
        {
          "id": "collect",
          "name": "Coletar",
          "kind": "enumeração",
          "group": "Coleta",
          "unit": "",
          "help": "Colisores estáticos que entram no bake",
          "default": "Toda a cena",
          "domain": "Toda a cena | Este objeto e filhos | Volume",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quais colisores estáticos entram: toda a cena, este objeto e filhos, ou só os que tocam o Volume.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-collect"
        },
        {
          "id": "layer",
          "name": "Camada dos colisores",
          "kind": "enumeração",
          "group": "Coleta",
          "unit": "",
          "help": "Todas ou só uma camada física do projeto",
          "default": "Todas",
          "domain": "Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Todas as camadas físicas ou só uma. Colisores de outras camadas não viram chão.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-surface/#field-layer"
        }
      ],
      "resources": [
        {
          "id": "data",
          "name": "Malha assada",
          "kind": "navmesh",
          "group": "Geral",
          "help": "Recurso .navmesh produzido pelo bake; o Play carrega este arquivo",
          "inheritable": false
        }
      ],
      "methods": [
        {
          "id": "is_ready",
          "name": "Pronta",
          "help": "Verdadeiro quando a malha desta superfície está carregada no Play",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "polygon_count",
          "name": "Polígonos",
          "help": "Polígonos da malha carregada, com recortes de obstáculos",
          "result": "inteiro",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Crie pela folha Criar → Navegação → Superfície ou adicione a um objeto vazio. Ajuste as medidas do agente (raio, altura, degrau, inclinação) e toque **Assar** na Inspeção. O resultado vira o recurso Navegação/<nome>.navmesh do projeto.",
        "example": "Com um chão estático 20×20 m e uma parede de 12 m, mantenha raio .5, altura 2, degrau .4 e inclinação 45°. Asse: o cartão mostra polígonos, área e tiles, e o viewport desenha a malha com um vão ao redor da parede. Mova a parede e veja o cartão passar a \"Desatualizada\"; asse de novo.",
        "next": "Presente na 0.3.0. Áreas nomeadas por projeto, volume modificador e superfície que acompanha o objeto não estão implementados. Sem data prometida.",
        "purpose": "Assa a malha de navegação a partir dos colisores estáticos da cena e a carrega no Play. Agentes só andam onde existe malha assada.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Navegação** / **Malha** → **Superfície de navegação**.",
        "extra": "Coleta: toda a cena, só os filhos ou um volume (centro/tamanho no espaço do objeto); a camada física filtra os colisores. Objetos com Agente ou Obstáculo não viram chão. O bake roda em segundo plano com progresso e Cancelar; assar de novo reescreve o mesmo recurso. A atribuição do recurso é um passo de Desfazer. A malha fica onde foi assada: mover o objeto da Superfície não a desloca.",
        "related": "[Guia de navegação](/pt-br/snapshot-2026-10-09/sistemas/navegacao/) · [Notas 0.3.0](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-0/#navegação)"
      }
    },
    {
      "typeId": "astra.navigation.agent",
      "name": "Agente de navegação",
      "description": "Anda pela malha até um destino, desviando de outros agentes",
      "family": "Navegação",
      "subfamily": "Movimento",
      "api": "NavAgent",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-NavMeshAgent.html",
      "aliases": "NavMeshAgent NavigationAgent3D SetDestination Pathfinding IA Inimigo Seguir",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.path.follow",
          "message": "Agente e Seguir caminho escreveriam a mesma pose"
        },
        {
          "typeId": "astra.navigation.obstacle",
          "message": "Um objeto é agente ou obstáculo, não os dois"
        }
      ],
      "properties": [
        {
          "id": "speed",
          "name": "Velocidade",
          "kind": "número",
          "group": "Movimento",
          "unit": "m/s",
          "help": "",
          "default": "3.5",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade máxima pedida à multidão, em m/s. Com Personagem, o agente nunca passa da velocidade do próprio Personagem.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-speed"
        },
        {
          "id": "acceleration",
          "name": "Aceleração",
          "kind": "número",
          "group": "Movimento",
          "unit": "m/s²",
          "help": "",
          "default": "8",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto a velocidade pode mudar por segundo, em m/s². Também limita a frenagem ao chegar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-acceleration"
        },
        {
          "id": "angular_speed",
          "name": "Giro",
          "kind": "número",
          "group": "Movimento",
          "unit": "°/s",
          "help": "Velocidade de giro para a direção do movimento",
          "default": "120",
          "domain": "0 … 3600",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade de giro, em graus/s, para virar o objeto na direção do movimento (Personagem e própria pose).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-angular-speed"
        },
        {
          "id": "stopping_distance",
          "name": "Distância de parada",
          "kind": "número",
          "group": "Movimento",
          "unit": "m",
          "help": "Chega quando o caminho restante fica abaixo disto",
          "default": "0",
          "domain": "0 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância do destino em que o agente considera que chegou e para; emite o evento de chegada uma vez.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-stopping-distance"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Corpo",
          "unit": "m",
          "help": "Usado no desvio entre agentes",
          "default": "0.5",
          "domain": "0.05 … 50",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio usado no desvio entre agentes, em metros. Não altera a malha assada; use o raio da Superfície para isso.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-radius"
        },
        {
          "id": "height",
          "name": "Altura",
          "kind": "número",
          "group": "Corpo",
          "unit": "m",
          "help": "",
          "default": "2",
          "domain": "0.05 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do agente para o desvio, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-height"
        },
        {
          "id": "base_offset",
          "name": "Deslocamento da base",
          "kind": "número",
          "group": "Corpo",
          "unit": "m",
          "help": "Altura do pivô acima da malha quando o agente move o próprio objeto",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do pivô acima da malha, em metros, quando o agente move a própria pose.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-base-offset"
        },
        {
          "id": "jump_cost",
          "name": "Custo do salto",
          "kind": "número",
          "group": "Áreas",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "1 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplicador do custo de links e áreas de Salto. Maior faz o caminho evitar saltos quando há alternativa.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-jump-cost"
        },
        {
          "id": "difficult_cost",
          "name": "Custo da área difícil",
          "kind": "número",
          "group": "Áreas",
          "unit": "×",
          "help": "Multiplica o comprimento percorrido nessa área",
          "default": "4",
          "domain": "1 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplicador do custo da área Difícil. Com 1 atravessa; valores altos contornam.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-difficult-cost"
        },
        {
          "id": "repath_distance",
          "name": "Refazer caminho a",
          "kind": "número",
          "group": "Movimento",
          "unit": "m",
          "help": "O alvo precisa se mover isto para o caminho ser refeito",
          "default": "0.5",
          "domain": "0.05 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o objeto seguido precisa se mover, em metros, para o caminho ser refeito.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-repath-distance"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Desligado sai da multidão e para de mover o objeto",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado sai da multidão e para de mover o objeto; o destino guardado continua no Play.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-enabled"
        },
        {
          "id": "auto_braking",
          "name": "Frear ao chegar",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "Desacelera perto do destino; desligado mantém a velocidade até a distância de parada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desacelera antes do destino para parar na distância de parada. Desligado mantém a velocidade até chegar.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-auto-braking"
        },
        {
          "id": "update_rotation",
          "name": "Girar para o movimento",
          "kind": "booleano",
          "group": "Movimento",
          "unit": "",
          "help": "Gira o objeto em Y para a direção da velocidade",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gira o objeto em Y para a direção do movimento (Personagem e própria pose).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-update-rotation"
        },
        {
          "id": "use_jump",
          "name": "Usar links e áreas de salto",
          "kind": "booleano",
          "group": "Áreas",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Permite usar links e áreas de Salto no caminho.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-use-jump"
        },
        {
          "id": "use_difficult",
          "name": "Atravessar área difícil",
          "kind": "booleano",
          "group": "Áreas",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Permite atravessar a área Difícil, com o custo configurado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-use-difficult"
        },
        {
          "id": "avoidance",
          "name": "Desvio de agentes",
          "kind": "enumeração",
          "group": "Corpo",
          "unit": "",
          "help": "Qualidade da amostragem de velocidades contra outros agentes",
          "default": "Alto",
          "domain": "Nenhum | Baixo | Médio | Bom | Alto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Qualidade do desvio entre agentes: Nenhum desliga; Alto amostra mais velocidades e custa mais.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-avoidance"
        },
        {
          "id": "surface",
          "name": "Superfície",
          "kind": "referência",
          "group": "Geral",
          "unit": "",
          "help": "Malha usada pelo agente; vazio escolhe a superfície que contém o objeto",
          "default": "Mais próxima",
          "domain": "astra.navigation.surface",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Superfície cuja malha o agente usa; vazio escolhe a que contém o objeto no início do Play.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-surface"
        },
        {
          "id": "target",
          "name": "Seguir objeto",
          "kind": "referência",
          "group": "Geral",
          "unit": "",
          "help": "Persegue o objeto sem script; SetDestination substitui o alvo",
          "default": "Nenhum",
          "domain": "qualquer objeto · outro objeto",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto perseguido sem script. SetDestination substitui o alvo até Resume.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-agent/#field-target"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "set_destination",
          "name": "Ir para",
          "help": "Calcula o caminho e começa a andar; falso quando o ponto está longe da malha",
          "result": "booleano",
          "parameters": [
            {
              "id": "point",
              "name": "Ponto",
              "kind": "vetor",
              "unit": "m"
            }
          ]
        },
        {
          "id": "stop",
          "name": "Parar",
          "help": "Para no lugar e guarda o destino para Retomar",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "resume",
          "name": "Retomar",
          "help": "Volta ao último destino depois de Parar",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "warp",
          "name": "Teleportar",
          "help": "Move o objeto e o agente para o ponto mais próximo da malha",
          "result": "booleano",
          "parameters": [
            {
              "id": "point",
              "name": "Ponto",
              "kind": "vetor",
              "unit": "m"
            }
          ]
        },
        {
          "id": "remaining_distance",
          "name": "Distância restante",
          "help": "Comprimento do caminho até o destino; infinito sem caminho",
          "result": "número",
          "parameters": []
        },
        {
          "id": "path_status",
          "name": "Estado do caminho",
          "help": "0 sem caminho, 1 completo, 2 parcial, 3 inválido",
          "result": "inteiro",
          "parameters": []
        },
        {
          "id": "has_path",
          "name": "Tem caminho",
          "help": "Verdadeiro enquanto há um destino válido",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "is_on_link",
          "name": "Em link",
          "help": "Verdadeiro durante a travessia de um Link",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "velocity",
          "name": "Velocidade",
          "help": "Velocidade pedida pela multidão neste quadro",
          "result": "vetor",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "destination_reached",
          "name": "Chegou",
          "help": "Emitido uma vez quando o caminho restante fica abaixo da distância de parada",
          "payload": []
        },
        {
          "id": "path_failed",
          "name": "Caminho falhou",
          "help": "Emitido quando o destino não tem caminho",
          "payload": []
        },
        {
          "id": "link_entered",
          "name": "Entrou no link",
          "help": "Emitido quando o agente começa a atravessar um Link",
          "payload": []
        }
      ],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Em um objeto com Personagem, Motor dinâmico, corpo móvel ou sem física, adicione o Agente. Defina Velocidade, Aceleração e Distância de parada. Para perseguir sem script, escolha **Seguir objeto**; por script use SetDestination(Vector3).",
        "example": "Crie Criar → Navegação → Agente perseguidor com o alvo selecionado. Em Play, o Personagem contorna a parede até ficar à distância de parada. Pelo Behavior: `var agente = Object.GetComponent<NavAgent>()!.Value; agente.SetDestination(new Vector3(7,0,-7));` e inscreva `OnDestinationReached`.",
        "next": "Presente na 0.3.0. Prioridade de desvio, tipos de agente e animação de travessia de link personalizada não estão implementados. Sem data prometida.",
        "purpose": "Anda pela malha até um destino ou persegue um objeto, desviando de outros agentes. Entrega a velocidade a quem move o objeto.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Navegação** / **Movimento** → **Agente de navegação**.",
        "extra": "Personagem e Motor dinâmico recebem a velocidade pela posse de controle, fonte IA (a menor prioridade: jogador e scripts vencem); corpo móvel recebe velocidade linear; sem física, o agente move a própria pose (um filho com corpo físico impede isso e o cartão avisa). Frear ao chegar desacelera antes da distância de parada. Stop guarda o destino para Resume; Warp teleporta Personagem ou pose para a malha.",
        "related": "[Guia de navegação](/pt-br/snapshot-2026-10-09/sistemas/navegacao/) · [Posse de controle](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/)"
      }
    },
    {
      "typeId": "astra.navigation.obstacle",
      "name": "Obstáculo de navegação",
      "description": "Recorta a malha onde o objeto está, em tempo de execução",
      "family": "Navegação",
      "subfamily": "Malha",
      "api": "NavObstacle",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-NavMeshObstacle.html",
      "aliases": "NavMeshObstacle NavigationObstacle3D Carve Recorte Porta Bloqueio",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [
        {
          "typeId": "astra.navigation.agent",
          "message": "Um objeto é agente ou obstáculo, não os dois"
        }
      ],
      "properties": [
        {
          "id": "center_x",
          "name": "Centro X",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro do recorte em X, no espaço do objeto, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-center-x"
        },
        {
          "id": "center_y",
          "name": "Centro Y",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro do recorte em Y, no espaço do objeto, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-center-y"
        },
        {
          "id": "center_z",
          "name": "Centro Z",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Centro do recorte em Z, no espaço do objeto, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-center-z"
        },
        {
          "id": "size_x",
          "name": "Tamanho X",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0.01 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Largura da caixa recortada, em metros (escala do objeto aplicada).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-size-x"
        },
        {
          "id": "size_y",
          "name": "Tamanho Y",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0.01 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura da caixa recortada, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-size-y"
        },
        {
          "id": "size_z",
          "name": "Tamanho Z",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0.01 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Profundidade da caixa recortada, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-size-z"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0.5",
          "domain": "0.01 … 500",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio do cilindro recortado, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-radius"
        },
        {
          "id": "height",
          "name": "Altura",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "2",
          "domain": "0.01 … 1000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do cilindro recortado, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-height"
        },
        {
          "id": "move_threshold",
          "name": "Limiar de movimento",
          "kind": "número",
          "group": "Recorte",
          "unit": "m",
          "help": "Deslocamento que conta como movimento",
          "default": "0.1",
          "domain": "0 … 100",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento, em metros, que conta como movimento e refaz o recorte.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-move-threshold"
        },
        {
          "id": "stationary_time",
          "name": "Tempo até parado",
          "kind": "número",
          "group": "Recorte",
          "unit": "s",
          "help": "Parado por este tempo volta a recortar",
          "default": "0.5",
          "domain": "0 … 60",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tempo parado, em segundos, para o recorte voltar quando Recortar só parado está ligado.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-stationary-time"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Desligado devolve a área recortada à malha",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado devolve à malha a área recortada no quadro seguinte.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-enabled"
        },
        {
          "id": "carve_only_stationary",
          "name": "Recortar só parado",
          "kind": "booleano",
          "group": "Recorte",
          "unit": "",
          "help": "Em movimento o recorte sai; ao parar ele volta (menos reconstruções)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tira o recorte enquanto o objeto se move e o recoloca quando ele para: menos reconstruções.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-carve-only-stationary"
        },
        {
          "id": "shape",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "Caixa gira com o objeto em Y; cilindro fica de pé",
          "default": "Caixa",
          "domain": "Caixa | Cilindro",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Caixa (gira com o objeto em Y) ou Cilindro (fica de pé).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-obstacle/#field-shape"
        }
      ],
      "resources": [],
      "methods": [
        {
          "id": "is_carving",
          "name": "Recortando",
          "help": "Verdadeiro quando o recorte deste obstáculo está aplicado na malha",
          "result": "booleano",
          "parameters": []
        }
      ],
      "events": [],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "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.",
        "example": "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.",
        "next": "Presente na 0.3.0, sempre recortando. O modo \"só desvio\" da Unity (sem recorte) não existe. Sem data prometida.",
        "purpose": "Recorta a malha de navegação onde o objeto está, durante o Play. Use em portas, caixas móveis ou bloqueios temporários.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Navegação** / **Malha** → **Obstáculo de navegação**.",
        "extra": "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.",
        "related": "[Guia de navegação](/pt-br/snapshot-2026-10-09/sistemas/navegacao/#obstáculos)"
      }
    },
    {
      "typeId": "astra.navigation.link",
      "name": "Link de navegação",
      "description": "Liga dois pontos da malha: salto, escada, vão ou porta",
      "family": "Navegação",
      "subfamily": "Malha",
      "api": "NavLink",
      "reference": "https://docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/NavMeshLink.html",
      "aliases": "NavMeshLink OffMeshLink NavigationLink3D Salto Escada Ponte",
      "schemaVersion": 1,
      "allowMultiple": true,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "start_x",
          "name": "Início X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Início do link em X, no espaço do objeto, em metros. Deve ficar a menos do Raio de conexão de uma borda da malha.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-start-x"
        },
        {
          "id": "start_y",
          "name": "Início Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Início do link em Y, no espaço do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-start-y"
        },
        {
          "id": "start_z",
          "name": "Início Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "",
          "default": "-1",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Início do link em Z, no espaço do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-start-z"
        },
        {
          "id": "end_x",
          "name": "Fim X",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fim do link em X, no espaço do objeto, em metros. Deve ficar a menos do Raio de conexão de uma borda da malha.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-end-x"
        },
        {
          "id": "end_y",
          "name": "Fim Y",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fim do link em Y, no espaço do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-end-y"
        },
        {
          "id": "end_z",
          "name": "Fim Z",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "-10000 … 10000",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fim do link em Z, no espaço do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-end-z"
        },
        {
          "id": "radius",
          "name": "Raio de conexão",
          "kind": "número",
          "group": "Pontos",
          "unit": "m",
          "help": "Distância da malha em que cada ponta se conecta",
          "default": "0.5",
          "domain": "0.05 … 50",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância da malha, em metros, em que cada ponta se conecta.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-radius"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Desligado remove a conexão da malha",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado remove a conexão da malha; os tiles das pontas são reconstruídos.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-enabled"
        },
        {
          "id": "bidirectional",
          "name": "Nos dois sentidos",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Desligado só vai do início para o fim",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ligado permite atravessar nos dois sentidos; desligado só do início ao fim.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-bidirectional"
        },
        {
          "id": "area",
          "name": "Área",
          "kind": "enumeração",
          "group": "Geral",
          "unit": "",
          "help": "Salto exige que o agente use links e áreas de salto",
          "default": "Caminhável",
          "domain": "Caminhável | Salto | Difícil",
          "limitation": "",
          "capability": "",
          "invalidation": "pose e bounds",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Caminhável, Salto ou Difícil. Salto exige que o agente use links e áreas de salto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-link/#field-area"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Adicione ao objeto e posicione Início e Fim no espaço dele, cada um a menos do Raio de conexão de uma borda da malha. Área Salto exige que o agente use links e áreas de salto.",
        "example": "Com duas plataformas separadas por 4 m, ponha Início a .2 m da borda da primeira e Fim a .2 m da borda da segunda. Um agente com destino na outra plataforma atravessa pelo link e emite link_entered.",
        "next": "Presente na 0.3.0. Pontas que caem numa fatia de tile muito estreita podem não conectar; posicione-as dentro da malha. Sem data prometida.",
        "purpose": "Liga dois pontos da malha que não se tocam: vão, salto, escada ou porta.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Navegação** / **Malha** → **Link de navegação**.",
        "extra": "Vários links por objeto são permitidos. Mudanças em Play reconstroem só os tiles das pontas. Nos dois sentidos desligado permite ir só do início ao fim. A travessia é linear; Personagem e pose acompanham a multidão.",
        "related": "[Guia de navegação](/pt-br/snapshot-2026-10-09/sistemas/navegacao/#links)"
      }
    },
    {
      "typeId": "astra.navigation.modifier",
      "name": "Modificador de navegação",
      "description": "Muda a área dos colisores deste objeto no bake ou os ignora",
      "family": "Navegação",
      "subfamily": "Malha",
      "api": "NavModifier",
      "reference": "https://docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/NavMeshModifier.html",
      "aliases": "NavMeshModifier Area Área Custo Ignorar Bake",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "apply_to_children",
          "name": "Aplicar aos filhos",
          "kind": "booleano",
          "group": "Geral",
          "unit": "",
          "help": "Filhos sem modificador próprio herdam este",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Filhos sem modificador próprio herdam esta regra no bake.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-modifier/#field-apply-to-children"
        },
        {
          "id": "mode",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Geral",
          "unit": "",
          "help": "Ignorar tira os colisores do bake",
          "default": "Alterar área",
          "domain": "Alterar área | Ignorar no bake",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Alterar área muda o chão destes colisores; Ignorar no bake os tira da malha.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-modifier/#field-mode"
        },
        {
          "id": "area",
          "name": "Área",
          "kind": "enumeração",
          "group": "Geral",
          "unit": "",
          "help": "Área do chão destes colisores na malha",
          "default": "Não caminhável",
          "domain": "Caminhável | Não caminhável | Salto | Difícil",
          "limitation": "",
          "capability": "",
          "invalidation": "política resolvida",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Área do chão destes colisores: Caminhável, Não caminhável (buraco), Salto ou Difícil.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-navigation-modifier/#field-area"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Câmera e navegação",
        "route": "roadmap/camera-e-navegacao",
        "use": "Adicione ao objeto com colisores: Alterar área (Caminhável, Não caminhável, Salto, Difícil) ou Ignorar no bake. Aplicar aos filhos estende a regra a filhos sem modificador próprio. Asse a Superfície de novo.",
        "example": "Marque uma faixa de lama como Difícil: agentes com custo alto contornam, agentes com custo 1 atravessam. Marque um canteiro como Não caminhável e ele vira buraco na malha mesmo sendo baixo.",
        "next": "Presente na 0.3.0. Áreas nomeadas do projeto e volume modificador não estão implementados. Sem data prometida.",
        "purpose": "Muda a área do chão dos colisores deste objeto no bake, ou os tira do bake.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Navegação** / **Malha** → **Modificador de navegação**.",
        "extra": "A área é marcada no heightfield do bake, então vence a fusão de pequenos degraus. Os custos ficam no Agente (custo do salto e da área difícil), não no modificador.",
        "related": "[Guia de navegação](/pt-br/snapshot-2026-10-09/sistemas/navegacao/#áreas-e-modificadores)"
      }
    },
    {
      "typeId": "astra.effects.particle_system",
      "name": "Sistema de partículas",
      "description": "Emite, simula e desenha partículas: fogo, faíscas, fumaça, magia",
      "family": "Efeitos",
      "subfamily": "Partículas",
      "api": "ParticleSystem",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/ParticleSystemModules.html",
      "aliases": "ParticleSystem Shuriken GPUParticles3D CPUParticles3D VFX Fogo Faisca Fumaca Particulas",
      "schemaVersion": 5,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "duration",
          "name": "Duração",
          "kind": "número",
          "group": "Principal",
          "unit": "s",
          "help": "Comprimento de um ciclo de emissão",
          "default": "5",
          "domain": "0.05 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento de um ciclo de emissão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-duration"
        },
        {
          "id": "start_delay",
          "name": "Atraso inicial",
          "kind": "número",
          "group": "Principal",
          "unit": "s",
          "help": "Espera antes de começar a emitir",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Espera antes de começar a emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-delay"
        },
        {
          "id": "start_delay_min",
          "name": "Atraso inicial mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-delay-min"
        },
        {
          "id": "start_lifetime",
          "name": "Vida inicial",
          "kind": "número",
          "group": "Principal",
          "unit": "s",
          "help": "Quanto tempo cada partícula vive",
          "default": "5",
          "domain": "0.01 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto tempo cada partícula vive",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-lifetime"
        },
        {
          "id": "start_lifetime_min",
          "name": "Vida inicial mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "5",
          "domain": "0.01 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-lifetime-min"
        },
        {
          "id": "start_lifetime_multiplier",
          "name": "Vida inicial · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "s",
          "help": "Escala aplicada à curva",
          "default": "5",
          "domain": "0.01 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-lifetime-multiplier"
        },
        {
          "id": "start_speed",
          "name": "Velocidade inicial",
          "kind": "número",
          "group": "Principal",
          "unit": "m/s",
          "help": "Velocidade na direção da forma",
          "default": "5",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade na direção da forma",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-speed"
        },
        {
          "id": "start_speed_min",
          "name": "Velocidade inicial mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "m/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "5",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-speed-min"
        },
        {
          "id": "start_speed_multiplier",
          "name": "Velocidade inicial · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "m/s",
          "help": "Escala aplicada à curva",
          "default": "5",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-speed-multiplier"
        },
        {
          "id": "start_size",
          "name": "Tamanho inicial",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Lado do quadrado da partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lado do quadrado da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size"
        },
        {
          "id": "start_size_min",
          "name": "Tamanho inicial mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-min"
        },
        {
          "id": "start_size_multiplier",
          "name": "Tamanho inicial · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-multiplier"
        },
        {
          "id": "start_rotation",
          "name": "Rotação inicial",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Giro da partícula no plano da tela",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro da partícula no plano da tela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation"
        },
        {
          "id": "start_rotation_min",
          "name": "Rotação inicial mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-min"
        },
        {
          "id": "start_rotation_multiplier",
          "name": "Rotação inicial · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-multiplier"
        },
        {
          "id": "start_color_r",
          "name": "Cor inicial R",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Cor linear; acima de 1 é HDR",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cor linear; acima de 1 é HDR",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-r"
        },
        {
          "id": "start_color_g",
          "name": "Cor inicial G",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Cor linear; acima de 1 é HDR",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cor linear; acima de 1 é HDR",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-g"
        },
        {
          "id": "start_color_b",
          "name": "Cor inicial B",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Cor linear; acima de 1 é HDR",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cor linear; acima de 1 é HDR",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-b"
        },
        {
          "id": "start_color_a",
          "name": "Opacidade inicial",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Opacidade da cor inicial de cada partícula.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-a"
        },
        {
          "id": "start_color_min_r",
          "name": "Cor mínima R",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Outra ponta do sorteio de cor",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Outra ponta do sorteio de cor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-min-r"
        },
        {
          "id": "start_color_min_g",
          "name": "Cor mínima G",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Outra ponta do sorteio de cor",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Outra ponta do sorteio de cor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-min-g"
        },
        {
          "id": "start_color_min_b",
          "name": "Cor mínima B",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Outra ponta do sorteio de cor",
          "default": "1",
          "domain": "0 … 65504",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Outra ponta do sorteio de cor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-min-b"
        },
        {
          "id": "start_color_min_a",
          "name": "Opacidade mínima",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Opacidade da segunda cor quando a cor inicial é aleatória entre duas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-min-a"
        },
        {
          "id": "gravity_modifier",
          "name": "Gravidade",
          "kind": "número",
          "group": "Principal",
          "unit": "×",
          "help": "Fração da gravidade de 9,81 m/s² para baixo",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração da gravidade de 9,81 m/s² para baixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-gravity-modifier"
        },
        {
          "id": "gravity_modifier_min",
          "name": "Gravidade mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "×",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-100 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-gravity-modifier-min"
        },
        {
          "id": "gravity_modifier_multiplier",
          "name": "Gravidade · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "×",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-100 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-gravity-modifier-multiplier"
        },
        {
          "id": "simulation_speed",
          "name": "Velocidade da simulação",
          "kind": "número",
          "group": "Principal",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a velocidade de todo o sistema; 2 roda o efeito duas vezes mais rápido.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-simulation-speed"
        },
        {
          "id": "max_particles",
          "name": "Máximo de partículas",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Teto autoral; o nível do aparelho pode reduzir sem apagar este valor",
          "default": "1000",
          "domain": "1 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Teto autoral; o nível do aparelho pode reduzir sem apagar este valor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-max-particles"
        },
        {
          "id": "random_seed",
          "name": "Semente",
          "kind": "número",
          "group": "Principal",
          "unit": "",
          "help": "Mesma semente, mesma sequência de partículas",
          "default": "0",
          "domain": "0 … 16777215",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mesma semente, mesma sequência de partículas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-random-seed"
        },
        {
          "id": "emission_rate",
          "name": "Taxa por segundo",
          "kind": "número",
          "group": "Emissão",
          "unit": "/s",
          "help": "Partículas novas por segundo",
          "default": "10",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Partículas novas por segundo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-emission-rate"
        },
        {
          "id": "emission_rate_min",
          "name": "Taxa por segundo mínimo",
          "kind": "número",
          "group": "Emissão",
          "unit": "/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "10",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-emission-rate-min"
        },
        {
          "id": "emission_rate_multiplier",
          "name": "Taxa por segundo · multiplicador",
          "kind": "número",
          "group": "Emissão",
          "unit": "/s",
          "help": "Escala aplicada à curva",
          "default": "10",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-emission-rate-multiplier"
        },
        {
          "id": "burst_count",
          "name": "Rajadas",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Quantas rajadas o ciclo tem (até 4)",
          "default": "0",
          "domain": "0 … 4",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas rajadas o ciclo tem (até 4)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-count"
        },
        {
          "id": "burst_0_time",
          "name": "Rajada 1 · tempo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Momento no ciclo",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Momento no ciclo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-0-time"
        },
        {
          "id": "burst_0_count_min",
          "name": "Rajada 1 · mínimo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Partículas, sorteadas até o máximo",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Partículas, sorteadas até o máximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-0-count-min"
        },
        {
          "id": "burst_0_count_max",
          "name": "Rajada 1 · máximo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máximo de partículas da rajada; com mínimo diferente, cada rajada sorteia entre os dois.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-0-count-max"
        },
        {
          "id": "burst_0_cycles",
          "name": "Rajada 1 · ciclos",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "0 repete enquanto emitir",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 repete enquanto emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-0-cycles"
        },
        {
          "id": "burst_0_interval",
          "name": "Rajada 1 · intervalo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Entre ciclos da mesma rajada",
          "default": "0.01",
          "domain": "0.01 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Entre ciclos da mesma rajada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-0-interval"
        },
        {
          "id": "burst_0_probability",
          "name": "Rajada 1 · chance",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Chance de cada ciclo emitir",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Chance de cada ciclo emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-0-probability"
        },
        {
          "id": "burst_1_time",
          "name": "Rajada 2 · tempo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Momento no ciclo",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Momento no ciclo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-1-time"
        },
        {
          "id": "burst_1_count_min",
          "name": "Rajada 2 · mínimo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Partículas, sorteadas até o máximo",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Partículas, sorteadas até o máximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-1-count-min"
        },
        {
          "id": "burst_1_count_max",
          "name": "Rajada 2 · máximo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máximo de partículas da rajada; com mínimo diferente, cada rajada sorteia entre os dois.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-1-count-max"
        },
        {
          "id": "burst_1_cycles",
          "name": "Rajada 2 · ciclos",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "0 repete enquanto emitir",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 repete enquanto emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-1-cycles"
        },
        {
          "id": "burst_1_interval",
          "name": "Rajada 2 · intervalo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Entre ciclos da mesma rajada",
          "default": "0.01",
          "domain": "0.01 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Entre ciclos da mesma rajada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-1-interval"
        },
        {
          "id": "burst_1_probability",
          "name": "Rajada 2 · chance",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Chance de cada ciclo emitir",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Chance de cada ciclo emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-1-probability"
        },
        {
          "id": "burst_2_time",
          "name": "Rajada 3 · tempo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Momento no ciclo",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Momento no ciclo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-2-time"
        },
        {
          "id": "burst_2_count_min",
          "name": "Rajada 3 · mínimo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Partículas, sorteadas até o máximo",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Partículas, sorteadas até o máximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-2-count-min"
        },
        {
          "id": "burst_2_count_max",
          "name": "Rajada 3 · máximo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máximo de partículas da rajada; com mínimo diferente, cada rajada sorteia entre os dois.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-2-count-max"
        },
        {
          "id": "burst_2_cycles",
          "name": "Rajada 3 · ciclos",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "0 repete enquanto emitir",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 repete enquanto emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-2-cycles"
        },
        {
          "id": "burst_2_interval",
          "name": "Rajada 3 · intervalo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Entre ciclos da mesma rajada",
          "default": "0.01",
          "domain": "0.01 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Entre ciclos da mesma rajada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-2-interval"
        },
        {
          "id": "burst_2_probability",
          "name": "Rajada 3 · chance",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Chance de cada ciclo emitir",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Chance de cada ciclo emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-2-probability"
        },
        {
          "id": "burst_3_time",
          "name": "Rajada 4 · tempo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Momento no ciclo",
          "default": "0",
          "domain": "0 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Momento no ciclo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-3-time"
        },
        {
          "id": "burst_3_count_min",
          "name": "Rajada 4 · mínimo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Partículas, sorteadas até o máximo",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Partículas, sorteadas até o máximo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-3-count-min"
        },
        {
          "id": "burst_3_count_max",
          "name": "Rajada 4 · máximo",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "30",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Máximo de partículas da rajada; com mínimo diferente, cada rajada sorteia entre os dois.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-3-count-max"
        },
        {
          "id": "burst_3_cycles",
          "name": "Rajada 4 · ciclos",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "0 repete enquanto emitir",
          "default": "1",
          "domain": "0 … 10000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 repete enquanto emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-3-cycles"
        },
        {
          "id": "burst_3_interval",
          "name": "Rajada 4 · intervalo",
          "kind": "número",
          "group": "Emissão",
          "unit": "s",
          "help": "Entre ciclos da mesma rajada",
          "default": "0.01",
          "domain": "0.01 … 3600",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Entre ciclos da mesma rajada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-3-interval"
        },
        {
          "id": "burst_3_probability",
          "name": "Rajada 4 · chance",
          "kind": "número",
          "group": "Emissão",
          "unit": "",
          "help": "Chance de cada ciclo emitir",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Chance de cada ciclo emitir",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-burst-3-probability"
        },
        {
          "id": "shape_radius",
          "name": "Raio",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "Na aresta, é meio comprimento",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Na aresta, é meio comprimento",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-radius"
        },
        {
          "id": "shape_radius_thickness",
          "name": "Espessura do raio",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "0 emite da borda; 1 emite do volume inteiro",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "0 emite da borda; 1 emite do volume inteiro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-radius-thickness"
        },
        {
          "id": "shape_angle",
          "name": "Ângulo",
          "kind": "número",
          "group": "Forma",
          "unit": "°",
          "help": "Abertura do cone",
          "default": "25",
          "domain": "0 … 90",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Abertura do cone",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-angle"
        },
        {
          "id": "shape_arc",
          "name": "Arco",
          "kind": "número",
          "group": "Forma",
          "unit": "°",
          "help": "Fatia da volta usada",
          "default": "360",
          "domain": "0 … 360",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fatia da volta usada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-arc"
        },
        {
          "id": "shape_length",
          "name": "Comprimento",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "Altura do volume do cone",
          "default": "5",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura do volume do cone",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-length"
        },
        {
          "id": "shape_box_x",
          "name": "Caixa X",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho da caixa de emissão no eixo X, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-box-x"
        },
        {
          "id": "shape_box_y",
          "name": "Caixa Y",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho da caixa de emissão no eixo Y, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-box-y"
        },
        {
          "id": "shape_box_z",
          "name": "Caixa Z",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho da caixa de emissão no eixo Z, em metros.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-box-z"
        },
        {
          "id": "shape_position_x",
          "name": "Posição X",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento da forma de emissão no eixo X, no espaço do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-position-x"
        },
        {
          "id": "shape_position_y",
          "name": "Posição Y",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento da forma de emissão no eixo Y, no espaço do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-position-y"
        },
        {
          "id": "shape_position_z",
          "name": "Posição Z",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento da forma de emissão no eixo Z, no espaço do objeto.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-position-z"
        },
        {
          "id": "shape_rotation_x",
          "name": "Rotação X",
          "kind": "número",
          "group": "Forma",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro da forma de emissão em torno de X, em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-rotation-x"
        },
        {
          "id": "shape_rotation_y",
          "name": "Rotação Y",
          "kind": "número",
          "group": "Forma",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro da forma de emissão em torno de Y, em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-rotation-y"
        },
        {
          "id": "shape_rotation_z",
          "name": "Rotação Z",
          "kind": "número",
          "group": "Forma",
          "unit": "°",
          "help": "",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro da forma de emissão em torno de Z, em graus.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-rotation-z"
        },
        {
          "id": "shape_random_direction",
          "name": "Direção aleatória",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "Mistura a direção com uma direção sorteada",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mistura a direção com uma direção sorteada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-random-direction"
        },
        {
          "id": "shape_spherize_direction",
          "name": "Direção esférica",
          "kind": "número",
          "group": "Forma",
          "unit": "",
          "help": "Mistura a direção com a saída do centro",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mistura a direção com a saída do centro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-spherize-direction"
        },
        {
          "id": "size_over_lifetime",
          "name": "Tamanho no tempo",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplicador do tamanho ao longo da vida (constante ou curva conforme o modo).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime"
        },
        {
          "id": "size_over_lifetime_min",
          "name": "Tamanho no tempo mínimo",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-min"
        },
        {
          "id": "size_over_lifetime_multiplier",
          "name": "Tamanho no tempo · multiplicador",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-multiplier"
        },
        {
          "id": "rotation_over_lifetime",
          "name": "Velocidade angular",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "",
          "default": "45",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular ao longo da vida, em graus por segundo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime"
        },
        {
          "id": "rotation_over_lifetime_min",
          "name": "Velocidade angular mínimo",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "45",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-min"
        },
        {
          "id": "rotation_over_lifetime_multiplier",
          "name": "Velocidade angular · multiplicador",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "Escala aplicada à curva",
          "default": "45",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-multiplier"
        },
        {
          "id": "stretch_velocity_scale",
          "name": "Escala da velocidade",
          "kind": "número",
          "group": "Renderização",
          "unit": "s",
          "help": "Comprimento extra por m/s",
          "default": "0",
          "domain": "0 … 100",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento extra por m/s",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-stretch-velocity-scale"
        },
        {
          "id": "stretch_length_scale",
          "name": "Escala do comprimento",
          "kind": "número",
          "group": "Renderização",
          "unit": "×",
          "help": "Comprimento em tamanhos de partícula",
          "default": "2",
          "domain": "0 … 100",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Comprimento em tamanhos de partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-stretch-length-scale"
        },
        {
          "id": "sorting_fudge",
          "name": "Ajuste de ordem",
          "kind": "número",
          "group": "Renderização",
          "unit": "m",
          "help": "Desloca o sistema na ordem entre sistemas; positivo desenha antes (atrás)",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desloca o sistema na ordem entre sistemas; positivo desenha antes (atrás)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sorting-fudge"
        },
        {
          "id": "max_particle_size",
          "name": "Tamanho máximo na tela",
          "kind": "número",
          "group": "Renderização",
          "unit": "",
          "help": "Fração da altura da tela; limita o custo de partículas perto da câmera",
          "default": "0.5",
          "domain": "0 … 1",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração da altura da tela; limita o custo de partículas perto da câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-max-particle-size"
        },
        {
          "id": "material_tint_r",
          "name": "Tinta R",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Canal vermelho da tinta da textura própria; acima de 1 brilha com bloom.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-tint-r"
        },
        {
          "id": "material_tint_g",
          "name": "Tinta G",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Canal verde da tinta da textura própria; acima de 1 brilha com bloom.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-tint-g"
        },
        {
          "id": "material_tint_b",
          "name": "Tinta B",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "1",
          "domain": "0 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Canal azul da tinta da textura própria; acima de 1 brilha com bloom.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-tint-b"
        },
        {
          "id": "material_emission",
          "name": "Emissão",
          "kind": "número",
          "group": "Material",
          "unit": "×",
          "help": "Intensidade HDR; acima de 1 alimenta o brilho estourado",
          "default": "1",
          "domain": "0 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Intensidade HDR; acima de 1 alimenta o brilho estourado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-emission"
        },
        {
          "id": "material_scroll_x",
          "name": "Rolagem X",
          "kind": "número",
          "group": "Material",
          "unit": "/s",
          "help": "",
          "default": "0",
          "domain": "-64 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rolagem da textura própria, em repetições por segundo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-scroll-x"
        },
        {
          "id": "material_scroll_y",
          "name": "Rolagem Y",
          "kind": "número",
          "group": "Material",
          "unit": "/s",
          "help": "",
          "default": "0",
          "domain": "-64 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rolagem da textura própria, em repetições por segundo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-scroll-y"
        },
        {
          "id": "material_noise_scale",
          "name": "Escala do ruído",
          "kind": "número",
          "group": "Material",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0.05 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala do ruído que recorta a textura própria.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-noise-scale"
        },
        {
          "id": "material_noise_scroll_x",
          "name": "Rolagem do ruído X",
          "kind": "número",
          "group": "Material",
          "unit": "/s",
          "help": "",
          "default": "0",
          "domain": "-64 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rolagem do ruído, em repetições por segundo; anima a borda de fumaça e fogo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-noise-scroll-x"
        },
        {
          "id": "material_noise_scroll_y",
          "name": "Rolagem do ruído Y",
          "kind": "número",
          "group": "Material",
          "unit": "/s",
          "help": "",
          "default": "0",
          "domain": "-64 … 64",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rolagem do ruído, em repetições por segundo; anima a borda de fumaça e fogo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-noise-scroll-y"
        },
        {
          "id": "material_noise_strength",
          "name": "Recorte do ruído",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "Quanto o ruído apaga a opacidade",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o ruído apaga a opacidade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-noise-strength"
        },
        {
          "id": "material_noise_distortion",
          "name": "Distorção do ruído",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "Quanto o ruído desloca a textura principal",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto o ruído desloca a textura principal",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-noise-distortion"
        },
        {
          "id": "material_center_glow",
          "name": "Brilho central",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "Clareia o miolo denso, como fogo quente",
          "default": "0",
          "domain": "0 … 16",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Clareia o miolo denso, como fogo quente",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-center-glow"
        },
        {
          "id": "material_center_glow_power",
          "name": "Concentração do brilho",
          "kind": "número",
          "group": "Material",
          "unit": "",
          "help": "",
          "default": "4",
          "domain": "1 … 32",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Concentra o brilho central da partícula; maior deixa o miolo mais pontual.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-center-glow-power"
        },
        {
          "id": "material_soft_distance",
          "name": "Partícula suave",
          "kind": "número",
          "group": "Material",
          "unit": "m",
          "help": "Esmaece perto das superfícies; 0 desliga",
          "default": "0",
          "domain": "0 … 100",
          "limitation": "Exige profundidade da cena amostrável; sem ela a partícula fica com borda dura",
          "capability": "render.particles.soft",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Esmaece perto das superfícies; 0 desliga",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-soft-distance"
        },
        {
          "id": "material_distortion",
          "name": "Força da distorção",
          "kind": "número",
          "group": "Material",
          "unit": "px",
          "help": "Deslocamento da imagem atrás, a 1 m da câmera",
          "default": "0",
          "domain": "0 … 1000",
          "limitation": "G6a: Mistura Distorção desloca uma cópia em meia resolução da cena pelo mapa normal do Material (ou pela lente da forma própria), na força em pixels a 1 m; exige o passe de pós dedicado e cópia por blit; partículas de trás não entram na cópia",
          "capability": "render.particles.distortion",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento da imagem atrás, a 1 m da câmera",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-distortion"
        },
        {
          "id": "velocity_x",
          "name": "Velocidade X",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Somada à velocidade da partícula, sem acumular",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Somada à velocidade da partícula, sem acumular",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-x"
        },
        {
          "id": "velocity_x_min",
          "name": "Velocidade X mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-x-min"
        },
        {
          "id": "velocity_x_multiplier",
          "name": "Velocidade X · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-x-multiplier"
        },
        {
          "id": "velocity_y",
          "name": "Velocidade Y",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Somada à velocidade da partícula, sem acumular",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Somada à velocidade da partícula, sem acumular",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-y"
        },
        {
          "id": "velocity_y_min",
          "name": "Velocidade Y mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-y-min"
        },
        {
          "id": "velocity_y_multiplier",
          "name": "Velocidade Y · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-y-multiplier"
        },
        {
          "id": "velocity_z",
          "name": "Velocidade Z",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Somada à velocidade da partícula, sem acumular",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Somada à velocidade da partícula, sem acumular",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-z"
        },
        {
          "id": "velocity_z_min",
          "name": "Velocidade Z mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-z-min"
        },
        {
          "id": "velocity_z_multiplier",
          "name": "Velocidade Z · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-z-multiplier"
        },
        {
          "id": "speed_modifier",
          "name": "Modificador de velocidade",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "×",
          "help": "Speed Modifier: escala o deslocamento ao longo da vida",
          "default": "1",
          "domain": "-100 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Speed Modifier: escala o deslocamento ao longo da vida",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-speed-modifier"
        },
        {
          "id": "speed_modifier_min",
          "name": "Modificador de velocidade mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "×",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "-100 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-speed-modifier-min"
        },
        {
          "id": "speed_modifier_multiplier",
          "name": "Modificador de velocidade · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "×",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-100 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-speed-modifier-multiplier"
        },
        {
          "id": "limit_speed",
          "name": "Velocidade máxima",
          "kind": "número",
          "group": "Limite de velocidade",
          "unit": "m/s",
          "help": "Acima disso a partícula é freada",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acima disso a partícula é freada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-limit-speed"
        },
        {
          "id": "limit_speed_min",
          "name": "Velocidade máxima mínimo",
          "kind": "número",
          "group": "Limite de velocidade",
          "unit": "m/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-limit-speed-min"
        },
        {
          "id": "limit_speed_multiplier",
          "name": "Velocidade máxima · multiplicador",
          "kind": "número",
          "group": "Limite de velocidade",
          "unit": "m/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-limit-speed-multiplier"
        },
        {
          "id": "limit_dampen",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Limite de velocidade",
          "unit": "",
          "help": "Dampen: fração do excesso removida (1 corta no limite)",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Dampen: fração do excesso removida (1 corta no limite)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-limit-dampen"
        },
        {
          "id": "limit_drag",
          "name": "Arrasto",
          "kind": "número",
          "group": "Limite de velocidade",
          "unit": "1/s",
          "help": "Drag: perda de velocidade por segundo, como resistência do ar",
          "default": "0",
          "domain": "0 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Drag: perda de velocidade por segundo, como resistência do ar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-limit-drag"
        },
        {
          "id": "force_x",
          "name": "Força X",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Aceleração neste eixo",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração neste eixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-x"
        },
        {
          "id": "force_x_min",
          "name": "Força X mínimo",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-x-min"
        },
        {
          "id": "force_x_multiplier",
          "name": "Força X · multiplicador",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-x-multiplier"
        },
        {
          "id": "force_y",
          "name": "Força Y",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Aceleração neste eixo",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração neste eixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-y"
        },
        {
          "id": "force_y_min",
          "name": "Força Y mínimo",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-y-min"
        },
        {
          "id": "force_y_multiplier",
          "name": "Força Y · multiplicador",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-y-multiplier"
        },
        {
          "id": "force_z",
          "name": "Força Z",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Aceleração neste eixo",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Aceleração neste eixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-z"
        },
        {
          "id": "force_z_min",
          "name": "Força Z mínimo",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-z-min"
        },
        {
          "id": "force_z_multiplier",
          "name": "Força Z · multiplicador",
          "kind": "número",
          "group": "Força no tempo",
          "unit": "m/s²",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-z-multiplier"
        },
        {
          "id": "noise_strength",
          "name": "Força do ruído",
          "kind": "número",
          "group": "Ruído",
          "unit": "m/s",
          "help": "Velocidade máxima do desvio",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade máxima do desvio",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-strength"
        },
        {
          "id": "noise_strength_min",
          "name": "Força do ruído mínimo",
          "kind": "número",
          "group": "Ruído",
          "unit": "m/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-strength-min"
        },
        {
          "id": "noise_strength_multiplier",
          "name": "Força do ruído · multiplicador",
          "kind": "número",
          "group": "Ruído",
          "unit": "m/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-strength-multiplier"
        },
        {
          "id": "noise_frequency",
          "name": "Frequência",
          "kind": "número",
          "group": "Ruído",
          "unit": "1/m",
          "help": "Tamanho do redemoinho: maior frequência, turbulência mais miúda",
          "default": "0.5",
          "domain": "0.01 … 20",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Tamanho do redemoinho: maior frequência, turbulência mais miúda",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-frequency"
        },
        {
          "id": "noise_scroll_speed",
          "name": "Rolagem",
          "kind": "número",
          "group": "Ruído",
          "unit": "1/s",
          "help": "Faz o campo de ruído mudar com o tempo",
          "default": "0",
          "domain": "-20 … 20",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Faz o campo de ruído mudar com o tempo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-scroll-speed"
        },
        {
          "id": "noise_octaves",
          "name": "Oitavas",
          "kind": "número",
          "group": "Ruído",
          "unit": "",
          "help": "Camadas de detalhe; cada uma custa uma amostra a mais por partícula",
          "default": "1",
          "domain": "1 … 4",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Camadas de detalhe; cada uma custa uma amostra a mais por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-octaves"
        },
        {
          "id": "collision_dampen",
          "name": "Amortecimento",
          "kind": "número",
          "group": "Colisão",
          "unit": "",
          "help": "Fração da velocidade ao longo do plano perdida no toque",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração da velocidade ao longo do plano perdida no toque",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-dampen"
        },
        {
          "id": "collision_bounce",
          "name": "Quique",
          "kind": "número",
          "group": "Colisão",
          "unit": "",
          "help": "Fração da velocidade contra o plano devolvida (0 gruda, 1 quica inteiro)",
          "default": "1",
          "domain": "0 … 2",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração da velocidade contra o plano devolvida (0 gruda, 1 quica inteiro)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-bounce"
        },
        {
          "id": "collision_lifetime_loss",
          "name": "Perda de vida",
          "kind": "número",
          "group": "Colisão",
          "unit": "",
          "help": "Fração da vida consumida a cada toque (1 morre ao tocar)",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração da vida consumida a cada toque (1 morre ao tocar)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-lifetime-loss"
        },
        {
          "id": "collision_min_kill_speed",
          "name": "Velocidade mínima",
          "kind": "número",
          "group": "Colisão",
          "unit": "m/s",
          "help": "Depois do toque, abaixo disso a partícula morre",
          "default": "0",
          "domain": "0 … 1000",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Depois do toque, abaixo disso a partícula morre",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-min-kill-speed"
        },
        {
          "id": "collision_radius_scale",
          "name": "Escala do raio",
          "kind": "número",
          "group": "Colisão",
          "unit": "×",
          "help": "Raio de colisão em relação ao tamanho da partícula",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio de colisão em relação ao tamanho da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-radius-scale"
        },
        {
          "id": "sub_emitter_birth_count",
          "name": "Partículas ao nascer",
          "kind": "número",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Quantas o sub-sistema emite por partícula nascida",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas o sub-sistema emite por partícula nascida",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-birth-count"
        },
        {
          "id": "sub_emitter_collision_count",
          "name": "Partículas ao colidir",
          "kind": "número",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Quantas o sub-sistema emite por toque",
          "default": "3",
          "domain": "0 … 1000",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas o sub-sistema emite por toque",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-collision-count"
        },
        {
          "id": "sub_emitter_death_count",
          "name": "Partículas ao morrer",
          "kind": "número",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Quantas o sub-sistema emite por partícula morta",
          "default": "5",
          "domain": "0 … 1000",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas o sub-sistema emite por partícula morta",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-death-count"
        },
        {
          "id": "emission_rate_over_distance",
          "name": "Taxa por distância",
          "kind": "número",
          "group": "Emissão",
          "unit": "/m",
          "help": "Rate over Distance: partículas por metro que o emissor anda (rastro de pegadas, fumaça de carro)",
          "default": "0",
          "domain": "0 … 100000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rate over Distance: partículas por metro que o emissor anda (rastro de pegadas, fumaça de carro)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-emission-rate-over-distance"
        },
        {
          "id": "inherit_velocity_multiplier",
          "name": "Multiplicador",
          "kind": "número",
          "group": "Herdar velocidade",
          "unit": "×",
          "help": "Parte da velocidade do emissor herdada no nascimento",
          "default": "1",
          "domain": "-100 … 100",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Parte da velocidade do emissor herdada no nascimento",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-inherit-velocity-multiplier"
        },
        {
          "id": "size_by_speed",
          "name": "Tamanho",
          "kind": "número",
          "group": "Tamanho pela velocidade",
          "unit": "×",
          "help": "Fator sobre o tamanho inicial",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fator sobre o tamanho inicial",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-by-speed"
        },
        {
          "id": "size_by_speed_min",
          "name": "Tamanho mínimo",
          "kind": "número",
          "group": "Tamanho pela velocidade",
          "unit": "×",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-by-speed-min"
        },
        {
          "id": "size_by_speed_multiplier",
          "name": "Tamanho · multiplicador",
          "kind": "número",
          "group": "Tamanho pela velocidade",
          "unit": "×",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-by-speed-multiplier"
        },
        {
          "id": "size_by_speed_range_min",
          "name": "Faixa mínima",
          "kind": "número",
          "group": "Tamanho pela velocidade",
          "unit": "m/s",
          "help": "Velocidade que lê o início da curva",
          "default": "0",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade que lê o início da curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-by-speed-range-min"
        },
        {
          "id": "size_by_speed_range_max",
          "name": "Faixa máxima",
          "kind": "número",
          "group": "Tamanho pela velocidade",
          "unit": "m/s",
          "help": "Velocidade que lê o fim da curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade que lê o fim da curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-by-speed-range-max"
        },
        {
          "id": "color_by_speed_range_min",
          "name": "Faixa mínima",
          "kind": "número",
          "group": "Cor pela velocidade",
          "unit": "m/s",
          "help": "Velocidade que lê o início da curva",
          "default": "0",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade que lê o início da curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-color-by-speed-range-min"
        },
        {
          "id": "color_by_speed_range_max",
          "name": "Faixa máxima",
          "kind": "número",
          "group": "Cor pela velocidade",
          "unit": "m/s",
          "help": "Velocidade que lê o fim da curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade que lê o fim da curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-color-by-speed-range-max"
        },
        {
          "id": "rotation_by_speed",
          "name": "Velocidade angular",
          "kind": "número",
          "group": "Rotação pela velocidade",
          "unit": "°/s",
          "help": "Giro por segundo",
          "default": "45",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro por segundo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-by-speed"
        },
        {
          "id": "rotation_by_speed_min",
          "name": "Velocidade angular mínimo",
          "kind": "número",
          "group": "Rotação pela velocidade",
          "unit": "°/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "45",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-by-speed-min"
        },
        {
          "id": "rotation_by_speed_multiplier",
          "name": "Velocidade angular · multiplicador",
          "kind": "número",
          "group": "Rotação pela velocidade",
          "unit": "°/s",
          "help": "Escala aplicada à curva",
          "default": "45",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-by-speed-multiplier"
        },
        {
          "id": "rotation_by_speed_range_min",
          "name": "Faixa mínima",
          "kind": "número",
          "group": "Rotação pela velocidade",
          "unit": "m/s",
          "help": "Velocidade que lê o início da curva",
          "default": "0",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade que lê o início da curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-by-speed-range-min"
        },
        {
          "id": "rotation_by_speed_range_max",
          "name": "Faixa máxima",
          "kind": "número",
          "group": "Rotação pela velocidade",
          "unit": "m/s",
          "help": "Velocidade que lê o fim da curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade que lê o fim da curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-by-speed-range-max"
        },
        {
          "id": "shape_donut_radius",
          "name": "Raio do tubo",
          "kind": "número",
          "group": "Forma",
          "unit": "m",
          "help": "Grossura da rosca; o Raio é o do anel",
          "default": "0.2",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Grossura da rosca; o Raio é o do anel",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-donut-radius"
        },
        {
          "id": "shape_mesh_scale",
          "name": "Escala da malha",
          "kind": "número",
          "group": "Forma",
          "unit": "×",
          "help": "Multiplica a malha da forma",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a malha da forma",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-mesh-scale"
        },
        {
          "id": "sheet_tiles_x",
          "name": "Colunas",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "",
          "help": "Quadros na horizontal da imagem (Tiles X)",
          "default": "1",
          "domain": "1 … 64",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quadros na horizontal da imagem (Tiles X)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-tiles-x"
        },
        {
          "id": "sheet_tiles_y",
          "name": "Linhas",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "",
          "help": "Quadros na vertical da imagem (Tiles Y)",
          "default": "1",
          "domain": "1 … 64",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quadros na vertical da imagem (Tiles Y)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-tiles-y"
        },
        {
          "id": "sheet_row",
          "name": "Linha",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "",
          "help": "Linha usada no modo Uma linha (0 é a de cima)",
          "default": "0",
          "domain": "0 … 63",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Linha usada no modo Uma linha (0 é a de cima)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-row"
        },
        {
          "id": "sheet_frame",
          "name": "Quadro no tempo",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "",
          "help": "Posição na sequência (0 = primeiro quadro, 1 = fim)",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Posição na sequência (0 = primeiro quadro, 1 = fim)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-frame"
        },
        {
          "id": "sheet_frame_min",
          "name": "Quadro no tempo mínimo",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "0 … 1",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-frame-min"
        },
        {
          "id": "sheet_frame_multiplier",
          "name": "Quadro no tempo · multiplicador",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "×",
          "help": "Escala aplicada à curva (1 percorre a sequência inteira)",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva (1 percorre a sequência inteira)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-frame-multiplier"
        },
        {
          "id": "sheet_start_frame",
          "name": "Quadro inicial",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "",
          "help": "Quadro somado ao do tempo; sorteado entre dois para variar o início",
          "default": "0",
          "domain": "0 … 4095",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quadro somado ao do tempo; sorteado entre dois para variar o início",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-start-frame"
        },
        {
          "id": "sheet_start_frame_min",
          "name": "Quadro inicial mínimo",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "0 … 4095",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-start-frame-min"
        },
        {
          "id": "sheet_cycles",
          "name": "Ciclos",
          "kind": "número",
          "group": "Folha de textura",
          "unit": "×",
          "help": "Quantas vezes a sequência roda durante a vida da partícula",
          "default": "1",
          "domain": "0.01 … 100",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas vezes a sequência roda durante a vida da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-cycles"
        },
        {
          "id": "light_ratio",
          "name": "Proporção",
          "kind": "número",
          "group": "Luzes",
          "unit": "",
          "help": "Fração das partículas que levam uma luz (sorteio fixo por partícula)",
          "default": "0.1",
          "domain": "0 … 1",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração das partículas que levam uma luz (sorteio fixo por partícula)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-ratio"
        },
        {
          "id": "light_max",
          "name": "Máximo de luzes",
          "kind": "número",
          "group": "Luzes",
          "unit": "",
          "help": "Teto de luzes deste sistema por quadro; as luzes do aparelho também têm teto",
          "default": "8",
          "domain": "0 … 64",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Teto de luzes deste sistema por quadro; as luzes do aparelho também têm teto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-max"
        },
        {
          "id": "light_range_multiplier",
          "name": "Multiplicador de alcance",
          "kind": "número",
          "group": "Luzes",
          "unit": "×",
          "help": "Escala o alcance da luz modelo",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala o alcance da luz modelo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-range-multiplier"
        },
        {
          "id": "light_intensity_multiplier",
          "name": "Multiplicador de intensidade",
          "kind": "número",
          "group": "Luzes",
          "unit": "×",
          "help": "Escala a intensidade da luz modelo",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala a intensidade da luz modelo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-intensity-multiplier"
        },
        {
          "id": "trail_ratio",
          "name": "Proporção",
          "kind": "número",
          "group": "Trilhas",
          "unit": "",
          "help": "Fração das partículas que deixam trilha (sorteio fixo por partícula)",
          "default": "1",
          "domain": "0 … 1",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Fração das partículas que deixam trilha (sorteio fixo por partícula)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trail-ratio"
        },
        {
          "id": "trail_lifetime",
          "name": "Vida da trilha",
          "kind": "número",
          "group": "Trilhas",
          "unit": "",
          "help": "Quanto dura cada ponto, em fração da vida da partícula",
          "default": "0.3",
          "domain": "0 … 1",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quanto dura cada ponto, em fração da vida da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trail-lifetime"
        },
        {
          "id": "trail_min_vertex_distance",
          "name": "Distância mínima",
          "kind": "número",
          "group": "Trilhas",
          "unit": "m",
          "help": "Um ponto novo só depois de andar isto (menos pontos, mais barato)",
          "default": "0.2",
          "domain": "0 … 10",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Um ponto novo só depois de andar isto (menos pontos, mais barato)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trail-min-vertex-distance"
        },
        {
          "id": "trail_width",
          "name": "Largura no início",
          "kind": "número",
          "group": "Trilhas",
          "unit": "×",
          "help": "Largura junto da partícula, em vezes o tamanho dela",
          "default": "1",
          "domain": "0 … 10",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Largura junto da partícula, em vezes o tamanho dela",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trail-width"
        },
        {
          "id": "trail_width_end",
          "name": "Largura no fim",
          "kind": "número",
          "group": "Trilhas",
          "unit": "×",
          "help": "Largura na ponta mais velha, em vezes o tamanho da partícula",
          "default": "0",
          "domain": "0 … 10",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Largura na ponta mais velha, em vezes o tamanho da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trail-width-end"
        },
        {
          "id": "start_size_y",
          "name": "Tamanho inicial Y",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Altura da partícula (X usa o Tamanho inicial)",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Altura da partícula (X usa o Tamanho inicial)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-y"
        },
        {
          "id": "start_size_y_min",
          "name": "Tamanho inicial Y mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-y-min"
        },
        {
          "id": "start_size_y_multiplier",
          "name": "Tamanho inicial Y · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-y-multiplier"
        },
        {
          "id": "start_size_z",
          "name": "Tamanho inicial Z",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Profundidade (só a malha usa)",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Profundidade (só a malha usa)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-z"
        },
        {
          "id": "start_size_z_min",
          "name": "Tamanho inicial Z mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-z-min"
        },
        {
          "id": "start_size_z_multiplier",
          "name": "Tamanho inicial Z · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "m",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-z-multiplier"
        },
        {
          "id": "start_rotation_x",
          "name": "Rotação inicial X",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Giro em torno do X da partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro em torno do X da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-x"
        },
        {
          "id": "start_rotation_x_min",
          "name": "Rotação inicial X mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-x-min"
        },
        {
          "id": "start_rotation_x_multiplier",
          "name": "Rotação inicial X · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-x-multiplier"
        },
        {
          "id": "start_rotation_y",
          "name": "Rotação inicial Y",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Giro em torno do Y da partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro em torno do Y da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-y"
        },
        {
          "id": "start_rotation_y_min",
          "name": "Rotação inicial Y mínimo",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-y-min"
        },
        {
          "id": "start_rotation_y_multiplier",
          "name": "Rotação inicial Y · multiplicador",
          "kind": "número",
          "group": "Principal",
          "unit": "°",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-y-multiplier"
        },
        {
          "id": "size_over_lifetime_y",
          "name": "Tamanho no tempo Y",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplicador do tamanho no eixo Y ao longo da vida, quando Tamanho no tempo usa eixos separados (o X é o campo Tamanho no tempo).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-y"
        },
        {
          "id": "size_over_lifetime_y_min",
          "name": "Tamanho no tempo Y mínimo",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-y-min"
        },
        {
          "id": "size_over_lifetime_y_multiplier",
          "name": "Tamanho no tempo Y · multiplicador",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-y-multiplier"
        },
        {
          "id": "size_over_lifetime_z",
          "name": "Tamanho no tempo Z",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplicador do tamanho no eixo Z ao longo da vida, quando Tamanho no tempo usa eixos separados (o X é o campo Tamanho no tempo).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-z"
        },
        {
          "id": "size_over_lifetime_z_min",
          "name": "Tamanho no tempo Z mínimo",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "Limite inferior do sorteio por partícula",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-z-min"
        },
        {
          "id": "size_over_lifetime_z_multiplier",
          "name": "Tamanho no tempo Z · multiplicador",
          "kind": "número",
          "group": "Tamanho no tempo",
          "unit": "×",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "0 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-z-multiplier"
        },
        {
          "id": "rotation_over_lifetime_x",
          "name": "Velocidade angular X",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular em torno de X, em graus por segundo, quando Rotação no tempo usa eixos separados (partículas em malha ou alinhadas ao mundo).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-x"
        },
        {
          "id": "rotation_over_lifetime_x_min",
          "name": "Velocidade angular X mínimo",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-x-min"
        },
        {
          "id": "rotation_over_lifetime_x_multiplier",
          "name": "Velocidade angular X · multiplicador",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-x-multiplier"
        },
        {
          "id": "rotation_over_lifetime_y",
          "name": "Velocidade angular Y",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular em torno de Y, em graus por segundo, quando Rotação no tempo usa eixos separados (partículas em malha ou alinhadas ao mundo).",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-y"
        },
        {
          "id": "rotation_over_lifetime_y_min",
          "name": "Velocidade angular Y mínimo",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-y-min"
        },
        {
          "id": "rotation_over_lifetime_y_multiplier",
          "name": "Velocidade angular Y · multiplicador",
          "kind": "número",
          "group": "Rotação no tempo",
          "unit": "°/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-y-multiplier"
        },
        {
          "id": "velocity_orbital_x",
          "name": "Órbita X",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Gira as partículas em volta do eixo X do centro",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gira as partículas em volta do eixo X do centro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-x"
        },
        {
          "id": "velocity_orbital_x_min",
          "name": "Órbita X mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-x-min"
        },
        {
          "id": "velocity_orbital_x_multiplier",
          "name": "Órbita X · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-x-multiplier"
        },
        {
          "id": "velocity_orbital_y",
          "name": "Órbita Y",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Gira as partículas em volta do eixo Y do centro",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gira as partículas em volta do eixo Y do centro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-y"
        },
        {
          "id": "velocity_orbital_y_min",
          "name": "Órbita Y mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-y-min"
        },
        {
          "id": "velocity_orbital_y_multiplier",
          "name": "Órbita Y · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-y-multiplier"
        },
        {
          "id": "velocity_orbital_z",
          "name": "Órbita Z",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Gira as partículas em volta do eixo Z do centro",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gira as partículas em volta do eixo Z do centro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-z"
        },
        {
          "id": "velocity_orbital_z_min",
          "name": "Órbita Z mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-z-min"
        },
        {
          "id": "velocity_orbital_z_multiplier",
          "name": "Órbita Z · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "°/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-36000 … 36000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-z-multiplier"
        },
        {
          "id": "velocity_orbital_offset_x",
          "name": "Centro da órbita X",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m",
          "help": "Deslocamento do centro da órbita e da velocidade radial",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do centro da órbita e da velocidade radial",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-offset-x"
        },
        {
          "id": "velocity_orbital_offset_y",
          "name": "Centro da órbita Y",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m",
          "help": "Deslocamento do centro da órbita e da velocidade radial",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do centro da órbita e da velocidade radial",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-offset-y"
        },
        {
          "id": "velocity_orbital_offset_z",
          "name": "Centro da órbita Z",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m",
          "help": "Deslocamento do centro da órbita e da velocidade radial",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Deslocamento do centro da órbita e da velocidade radial",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-offset-z"
        },
        {
          "id": "velocity_radial",
          "name": "Radial",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Afasta (positivo) ou puxa (negativo) as partículas do centro",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Afasta (positivo) ou puxa (negativo) as partículas do centro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-radial"
        },
        {
          "id": "velocity_radial_min",
          "name": "Radial mínimo",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Limite inferior do sorteio por partícula",
          "default": "0",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limite inferior do sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-radial-min"
        },
        {
          "id": "velocity_radial_multiplier",
          "name": "Radial · multiplicador",
          "kind": "número",
          "group": "Velocidade no tempo",
          "unit": "m/s",
          "help": "Escala aplicada à curva",
          "default": "1",
          "domain": "-1000 … 1000",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Escala aplicada à curva",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-radial-multiplier"
        },
        {
          "id": "looping",
          "name": "Repetir",
          "kind": "booleano",
          "group": "Principal",
          "unit": "",
          "help": "Recomeça o ciclo ao terminar a duração",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Recomeça o ciclo ao terminar a duração",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-looping"
        },
        {
          "id": "prewarm",
          "name": "Pré-aquecer",
          "kind": "booleano",
          "group": "Principal",
          "unit": "",
          "help": "Começa como se já tivesse rodado um ciclo inteiro",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa como se já tivesse rodado um ciclo inteiro",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-prewarm"
        },
        {
          "id": "play_on_awake",
          "name": "Tocar ao iniciar",
          "kind": "booleano",
          "group": "Principal",
          "unit": "",
          "help": "Começa sozinho ao entrar em Play e na prévia da cena",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Começa sozinho ao entrar em Play e na prévia da cena",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-play-on-awake"
        },
        {
          "id": "auto_random_seed",
          "name": "Semente automática",
          "kind": "booleano",
          "group": "Principal",
          "unit": "",
          "help": "Semente derivada do objeto; desligue para fixar",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Semente derivada do objeto; desligue para fixar",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-auto-random-seed"
        },
        {
          "id": "emission_enabled",
          "name": "Emissão ativa",
          "kind": "booleano",
          "group": "Emissão",
          "unit": "",
          "help": "",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Liga o módulo Emissão; desligado, só rajadas por script (Emit) criam partículas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-emission-enabled"
        },
        {
          "id": "shape_enabled",
          "name": "Forma ativa",
          "kind": "booleano",
          "group": "Forma",
          "unit": "",
          "help": "Desligada: nascem no centro, para a frente (+Z)",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligada: nascem no centro, para a frente (+Z)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-enabled"
        },
        {
          "id": "color_over_lifetime_enabled",
          "name": "Cor no tempo ativa",
          "kind": "booleano",
          "group": "Cor no tempo",
          "unit": "",
          "help": "Multiplica a cor pela idade da partícula",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a cor pela idade da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-color-over-lifetime-enabled"
        },
        {
          "id": "size_over_lifetime_enabled",
          "name": "Tamanho no tempo ativo",
          "kind": "booleano",
          "group": "Tamanho no tempo",
          "unit": "",
          "help": "Multiplica o tamanho pela idade da partícula",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica o tamanho pela idade da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-enabled"
        },
        {
          "id": "rotation_over_lifetime_enabled",
          "name": "Rotação no tempo ativa",
          "kind": "booleano",
          "group": "Rotação no tempo",
          "unit": "",
          "help": "",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Liga o módulo Rotação no tempo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-enabled"
        },
        {
          "id": "velocity_over_lifetime_enabled",
          "name": "Velocidade no tempo ativa",
          "kind": "booleano",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Velocity over Lifetime: soma uma velocidade ao longo da vida",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocity over Lifetime: soma uma velocidade ao longo da vida",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-over-lifetime-enabled"
        },
        {
          "id": "limit_velocity_enabled",
          "name": "Limite de velocidade ativo",
          "kind": "booleano",
          "group": "Limite de velocidade",
          "unit": "",
          "help": "Limit Velocity over Lifetime: freia acima do limite e aplica arrasto",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Limit Velocity over Lifetime: freia acima do limite e aplica arrasto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-limit-velocity-enabled"
        },
        {
          "id": "force_over_lifetime_enabled",
          "name": "Força no tempo ativa",
          "kind": "booleano",
          "group": "Força no tempo",
          "unit": "",
          "help": "Force over Lifetime: aceleração somada à velocidade (vento, sucção)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Force over Lifetime: aceleração somada à velocidade (vento, sucção)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-over-lifetime-enabled"
        },
        {
          "id": "noise_enabled",
          "name": "Ruído ativo",
          "kind": "booleano",
          "group": "Ruído",
          "unit": "",
          "help": "Noise: turbulência que desvia as partículas (neve, fumaça, magia)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Noise: turbulência que desvia as partículas (neve, fumaça, magia)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-enabled"
        },
        {
          "id": "collision_enabled",
          "name": "Colisão ativa",
          "kind": "booleano",
          "group": "Colisão",
          "unit": "",
          "help": "Collision (Planes): partículas quicam em até dois planos da cena",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Collision (Planes): partículas quicam em até dois planos da cena",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-enabled"
        },
        {
          "id": "sub_emitters_enabled",
          "name": "Sub-emissores ativos",
          "kind": "booleano",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Sub Emitters: outro sistema emite quando a partícula nasce, colide ou morre",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sub Emitters: outro sistema emite quando a partícula nasce, colide ou morre",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitters-enabled"
        },
        {
          "id": "inherit_velocity_enabled",
          "name": "Herdar velocidade ativo",
          "kind": "booleano",
          "group": "Herdar velocidade",
          "unit": "",
          "help": "Inherit Velocity (Initial): a partícula nasce com a velocidade do emissor",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Inherit Velocity (Initial): a partícula nasce com a velocidade do emissor",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-inherit-velocity-enabled"
        },
        {
          "id": "size_by_speed_enabled",
          "name": "Tamanho pela velocidade ativo",
          "kind": "booleano",
          "group": "Tamanho pela velocidade",
          "unit": "",
          "help": "Size by Speed: tamanho lido pela velocidade da partícula",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Size by Speed: tamanho lido pela velocidade da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-by-speed-enabled"
        },
        {
          "id": "color_by_speed_enabled",
          "name": "Cor pela velocidade ativa",
          "kind": "booleano",
          "group": "Cor pela velocidade",
          "unit": "",
          "help": "Color by Speed: cor lida pela velocidade da partícula",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Color by Speed: cor lida pela velocidade da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-color-by-speed-enabled"
        },
        {
          "id": "rotation_by_speed_enabled",
          "name": "Rotação pela velocidade ativa",
          "kind": "booleano",
          "group": "Rotação pela velocidade",
          "unit": "",
          "help": "Rotation by Speed: velocidade angular lida pela velocidade da partícula",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Rotation by Speed: velocidade angular lida pela velocidade da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-by-speed-enabled"
        },
        {
          "id": "texture_sheet_enabled",
          "name": "Folha de textura ativa",
          "kind": "booleano",
          "group": "Folha de textura",
          "unit": "",
          "help": "Texture Sheet Animation: anima a partícula por quadros de uma grade na imagem do Material",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Texture Sheet Animation: anima a partícula por quadros de uma grade na imagem do Material",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-texture-sheet-enabled"
        },
        {
          "id": "lights_enabled",
          "name": "Luzes ativas",
          "kind": "booleano",
          "group": "Luzes",
          "unit": "",
          "help": "Lights: partículas acendem luzes pontuais copiadas de uma luz modelo (faíscas, tochas, magia)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Lights: partículas acendem luzes pontuais copiadas de uma luz modelo (faíscas, tochas, magia)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-lights-enabled"
        },
        {
          "id": "light_use_particle_color",
          "name": "Usar cor da partícula",
          "kind": "booleano",
          "group": "Luzes",
          "unit": "",
          "help": "A cor da luz é multiplicada pela cor da partícula",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A cor da luz é multiplicada pela cor da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-use-particle-color"
        },
        {
          "id": "light_size_affects_range",
          "name": "Tamanho afeta o alcance",
          "kind": "booleano",
          "group": "Luzes",
          "unit": "",
          "help": "O alcance é multiplicado pelo tamanho da partícula",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O alcance é multiplicado pelo tamanho da partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-size-affects-range"
        },
        {
          "id": "light_alpha_affects_intensity",
          "name": "Alfa afeta a intensidade",
          "kind": "booleano",
          "group": "Luzes",
          "unit": "",
          "help": "A luz apaga junto com a partícula",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A luz apaga junto com a partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-alpha-affects-intensity"
        },
        {
          "id": "trails_enabled",
          "name": "Trilhas ativas",
          "kind": "booleano",
          "group": "Trilhas",
          "unit": "",
          "help": "Trails: cada partícula deixa um rastro dos pontos por onde passou (faíscas, cometas, magia)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Trails: cada partícula deixa um rastro dos pontos por onde passou (faíscas, cometas, magia)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trails-enabled"
        },
        {
          "id": "trail_inherit_color",
          "name": "Herdar cor da partícula",
          "kind": "booleano",
          "group": "Trilhas",
          "unit": "",
          "help": "A trilha tem a cor atual da partícula; desligado, branca",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "A trilha tem a cor atual da partícula; desligado, branca",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trail-inherit-color"
        },
        {
          "id": "trail_fade",
          "name": "Esmaecer na ponta",
          "kind": "booleano",
          "group": "Trilhas",
          "unit": "",
          "help": "O alfa cai até zero na ponta mais velha",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Modo Particles da Unity: até 12 pontos por partícula, Proporção, Vida da trilha, Distância mínima, largura do início ao fim, cor herdada e esmaecer; segmentos como billboards esticados no passe das partículas, com o material do sistema. Sem modo Ribbon, sem Trail Material próprio; o componente TrailRenderer ainda não (a Linha cobre o LineRenderer)",
          "capability": "render.particles.trails",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O alfa cai até zero na ponta mais velha",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-trail-fade"
        },
        {
          "id": "size_3d",
          "name": "Tamanho 3D",
          "kind": "booleano",
          "group": "Principal",
          "unit": "",
          "help": "Largura (X), altura (Y) e profundidade (Z) separadas: a altura do quadro e a escala da malha por eixo",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Largura (X), altura (Y) e profundidade (Z) separadas: a altura do quadro e a escala da malha por eixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-3d"
        },
        {
          "id": "rotation_3d",
          "name": "Rotação 3D",
          "kind": "booleano",
          "group": "Principal",
          "unit": "",
          "help": "Giro em X, Y e Z: vale para malha e para os alinhamentos Mundo, Local e Velocidade",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro em X, Y e Z: vale para malha e para os alinhamentos Mundo, Local e Velocidade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-3d"
        },
        {
          "id": "size_separate_axes",
          "name": "Eixos separados",
          "kind": "booleano",
          "group": "Tamanho no tempo",
          "unit": "",
          "help": "Curvas próprias para Y e Z (o valor acima vale para X)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Curvas próprias para Y e Z (o valor acima vale para X)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-separate-axes"
        },
        {
          "id": "rotation_separate_axes",
          "name": "Eixos separados",
          "kind": "booleano",
          "group": "Rotação no tempo",
          "unit": "",
          "help": "Velocidade angular própria em X e Y (o valor acima gira em Z)",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Velocidade angular própria em X e Y (o valor acima gira em Z)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-separate-axes"
        },
        {
          "id": "start_delay_mode",
          "name": "Atraso inicial · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Entre duas constantes",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-delay-mode"
        },
        {
          "id": "start_lifetime_mode",
          "name": "Vida inicial · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-lifetime-mode"
        },
        {
          "id": "start_speed_mode",
          "name": "Velocidade inicial · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-speed-mode"
        },
        {
          "id": "start_size_mode",
          "name": "Tamanho inicial · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-mode"
        },
        {
          "id": "start_rotation_mode",
          "name": "Rotação inicial · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-mode"
        },
        {
          "id": "start_color_mode",
          "name": "Cor inicial · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Cor fixa, gradiente no tempo do ciclo, sorteio entre duas cores ou dois gradientes",
          "default": "Cor",
          "domain": "Cor | Gradiente | Entre duas cores | Entre dois gradientes | Cor aleatória",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cor fixa, gradiente no tempo do ciclo, sorteio entre duas cores ou dois gradientes",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-color-mode"
        },
        {
          "id": "gravity_modifier_mode",
          "name": "Gravidade · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-gravity-modifier-mode"
        },
        {
          "id": "simulation_space",
          "name": "Espaço",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Local: as partículas acompanham o objeto. Mundo: ficam onde nasceram",
          "default": "Local",
          "domain": "Local | Mundo",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Local: as partículas acompanham o objeto. Mundo: ficam onde nasceram",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-simulation-space"
        },
        {
          "id": "stop_action",
          "name": "Ao parar",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "O que acontece quando o sistema termina e não há partículas vivas",
          "default": "Nenhuma",
          "domain": "Nenhuma | Desativar objeto | Destruir objeto | Evento Parou",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O que acontece quando o sistema termina e não há partículas vivas",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-stop-action"
        },
        {
          "id": "emission_rate_mode",
          "name": "Taxa por segundo · modo",
          "kind": "enumeração",
          "group": "Emissão",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-emission-rate-mode"
        },
        {
          "id": "shape_type",
          "name": "Forma",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "Cone",
          "domain": "Esfera | Hemisfério | Cone | Caixa | Círculo | Aresta | Rosca | Retângulo | Malha",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Forma de onde as partículas nascem: Esfera, Hemisfério, Cone, Caixa, Círculo, Aresta, Rosca ou Retângulo.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-type"
        },
        {
          "id": "shape_mesh_placement",
          "name": "Nasce em",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "Vértice sorteado ou ponto da superfície, para a normal do triângulo",
          "default": "Superfície",
          "domain": "Vértice | Superfície",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Vértice sorteado ou ponto da superfície, para a normal do triângulo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-mesh-placement"
        },
        {
          "id": "shape_cone_emit_from",
          "name": "Emitir do",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "Base",
          "domain": "Base | Volume",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cone: nascer na Base ou em todo o Volume.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-cone-emit-from"
        },
        {
          "id": "shape_box_emit_from",
          "name": "Emitir da",
          "kind": "enumeração",
          "group": "Forma",
          "unit": "",
          "help": "",
          "default": "Volume",
          "domain": "Volume | Casca | Arestas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Caixa: nascer no Volume, na Casca ou nas Arestas.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-shape-box-emit-from"
        },
        {
          "id": "color_over_lifetime_mode",
          "name": "Cor no tempo · modo",
          "kind": "enumeração",
          "group": "Cor no tempo",
          "unit": "",
          "help": "",
          "default": "Gradiente",
          "domain": "Gradiente | Entre dois gradientes",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Um gradiente, ou aleatório entre dois gradientes por partícula.",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-color-over-lifetime-mode"
        },
        {
          "id": "size_over_lifetime_mode",
          "name": "Tamanho no tempo · modo",
          "kind": "enumeração",
          "group": "Tamanho no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Curva",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-mode"
        },
        {
          "id": "rotation_over_lifetime_mode",
          "name": "Velocidade angular · modo",
          "kind": "enumeração",
          "group": "Rotação no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-mode"
        },
        {
          "id": "render_mode",
          "name": "Modo",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Billboard encara a câmera; esticado alonga na direção da velocidade",
          "default": "Billboard",
          "domain": "Billboard | Billboard esticado | Malha | Nenhum",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Billboard encara a câmera; esticado alonga na direção da velocidade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-render-mode"
        },
        {
          "id": "sort_mode",
          "name": "Ordenação",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Ordem das partículas deste sistema na mistura",
          "default": "Nenhuma",
          "domain": "Nenhuma | Por distância | Mais antigas na frente | Mais novas na frente",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Ordem das partículas deste sistema na mistura",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sort-mode"
        },
        {
          "id": "material_blend",
          "name": "Mistura",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "Mistura cobre o fundo pela opacidade; Aditivo soma luz (fogo, magia); Distorção entorta a cena atrás",
          "default": "Mistura",
          "domain": "Mistura | Aditivo | Distorção",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mistura cobre o fundo pela opacidade; Aditivo soma luz (fogo, magia); Distorção entorta a cena atrás",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-blend"
        },
        {
          "id": "material_texture",
          "name": "Textura",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "Textura própria da engine",
          "default": "Ponto suave",
          "domain": "Ponto suave | Brilho | Chama | Fumaça | Faísca | Anel | Estrela | Quadrado",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Textura própria da engine",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-texture"
        },
        {
          "id": "material_noise",
          "name": "Ruído",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "Textura de ruído que recorta e deforma a principal",
          "default": "Nenhum",
          "domain": "Nenhum | Nuvens | Células | Faixas",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Textura de ruído que recorta e deforma a principal",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-noise"
        },
        {
          "id": "material_mask",
          "name": "Máscara",
          "kind": "enumeração",
          "group": "Material",
          "unit": "",
          "help": "Multiplica a opacidade por uma forma fixa na partícula",
          "default": "Nenhuma",
          "domain": "Nenhuma | Radial | Desvanece para cima | Anel",
          "limitation": "Texturas próprias da engine (8 formas, 3 ruídos, 3 máscaras) ou, com descritores bindless, a imagem e a cor base de um Material do projeto com shader Partícula (PK-10a); sem bindless fica a textura própria",
          "capability": "render.particles.material",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Multiplica a opacidade por uma forma fixa na partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-material-mask"
        },
        {
          "id": "velocity_x_mode",
          "name": "Velocidade X · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-x-mode"
        },
        {
          "id": "velocity_y_mode",
          "name": "Velocidade Y · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-y-mode"
        },
        {
          "id": "velocity_z_mode",
          "name": "Velocidade Z · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-z-mode"
        },
        {
          "id": "velocity_space",
          "name": "Espaço da velocidade",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Local: eixos do objeto. Mundo: eixos da cena",
          "default": "Local",
          "domain": "Local | Mundo",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Local: eixos do objeto. Mundo: eixos da cena",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-space"
        },
        {
          "id": "speed_modifier_mode",
          "name": "Modificador de velocidade · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-speed-modifier-mode"
        },
        {
          "id": "limit_speed_mode",
          "name": "Velocidade máxima · modo",
          "kind": "enumeração",
          "group": "Limite de velocidade",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-limit-speed-mode"
        },
        {
          "id": "force_x_mode",
          "name": "Força X · modo",
          "kind": "enumeração",
          "group": "Força no tempo",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-x-mode"
        },
        {
          "id": "force_y_mode",
          "name": "Força Y · modo",
          "kind": "enumeração",
          "group": "Força no tempo",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-y-mode"
        },
        {
          "id": "force_z_mode",
          "name": "Força Z · modo",
          "kind": "enumeração",
          "group": "Força no tempo",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-z-mode"
        },
        {
          "id": "force_space",
          "name": "Espaço da força",
          "kind": "enumeração",
          "group": "Força no tempo",
          "unit": "",
          "help": "Mundo: o vento não gira com o objeto",
          "default": "Mundo",
          "domain": "Local | Mundo",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mundo: o vento não gira com o objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-force-space"
        },
        {
          "id": "noise_strength_mode",
          "name": "Força do ruído · modo",
          "kind": "enumeração",
          "group": "Ruído",
          "unit": "",
          "help": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva ao longo da vida, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-noise-strength-mode"
        },
        {
          "id": "size_by_speed_mode",
          "name": "Tamanho · modo",
          "kind": "enumeração",
          "group": "Tamanho pela velocidade",
          "unit": "",
          "help": "Constante, curva pela velocidade, ou sorteio entre dois valores",
          "default": "Curva",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva pela velocidade, ou sorteio entre dois valores",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-by-speed-mode"
        },
        {
          "id": "color_by_speed_mode",
          "name": "Cor · modo",
          "kind": "enumeração",
          "group": "Cor pela velocidade",
          "unit": "",
          "help": "Gradiente lido pela velocidade, ou sorteio entre dois",
          "default": "Gradiente",
          "domain": "Gradiente | Entre dois gradientes",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Gradiente lido pela velocidade, ou sorteio entre dois",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-color-by-speed-mode"
        },
        {
          "id": "rotation_by_speed_mode",
          "name": "Velocidade angular · modo",
          "kind": "enumeração",
          "group": "Rotação pela velocidade",
          "unit": "",
          "help": "Constante, curva pela velocidade, ou sorteio entre dois valores",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva pela velocidade, ou sorteio entre dois valores",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-by-speed-mode"
        },
        {
          "id": "sheet_animation",
          "name": "Animação",
          "kind": "enumeração",
          "group": "Folha de textura",
          "unit": "",
          "help": "Folha inteira (todos os quadros em ordem) ou uma linha só",
          "default": "Folha inteira",
          "domain": "Folha inteira | Uma linha",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Folha inteira (todos os quadros em ordem) ou uma linha só",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-animation"
        },
        {
          "id": "sheet_row_mode",
          "name": "Escolha da linha",
          "kind": "enumeração",
          "group": "Folha de textura",
          "unit": "",
          "help": "Linha fixa ou sorteada por partícula",
          "default": "Escolhida",
          "domain": "Escolhida | Sorteada",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Linha fixa ou sorteada por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-row-mode"
        },
        {
          "id": "sheet_frame_mode",
          "name": "Quadro no tempo · modo",
          "kind": "enumeração",
          "group": "Folha de textura",
          "unit": "",
          "help": "Curva ao longo da vida (o padrão sobe de 0 a 1), constante, ou sorteio por partícula",
          "default": "Curva",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Curva ao longo da vida (o padrão sobe de 0 a 1), constante, ou sorteio por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-frame-mode"
        },
        {
          "id": "sheet_start_frame_mode",
          "name": "Quadro inicial · modo",
          "kind": "enumeração",
          "group": "Folha de textura",
          "unit": "",
          "help": "Constante, ou sorteio entre dois quadros por partícula",
          "default": "Constante",
          "domain": "Constante | Entre duas constantes",
          "limitation": "Modo Grid da Unity: Colunas x Linhas, Folha inteira ou Uma linha (escolhida ou sorteada), Quadro no tempo (curva), Quadro inicial e Ciclos; sem modo Sprites nem mistura entre quadros",
          "capability": "render.particles.texture_sheet",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, ou sorteio entre dois quadros por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sheet-start-frame-mode"
        },
        {
          "id": "start_size_y_mode",
          "name": "Tamanho inicial Y · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-y-mode"
        },
        {
          "id": "start_size_z_mode",
          "name": "Tamanho inicial Z · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-size-z-mode"
        },
        {
          "id": "start_rotation_x_mode",
          "name": "Rotação inicial X · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-x-mode"
        },
        {
          "id": "start_rotation_y_mode",
          "name": "Rotação inicial Y · modo",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-start-rotation-y-mode"
        },
        {
          "id": "scaling_mode",
          "name": "Modo de escala",
          "kind": "enumeração",
          "group": "Principal",
          "unit": "",
          "help": "Hierarquia: a escala do objeto e dos pais aumenta as partículas; Local: só a do objeto; Forma: só a forma de emissão",
          "default": "Forma",
          "domain": "Hierarquia | Local | Forma",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Hierarquia: a escala do objeto e dos pais aumenta as partículas; Local: só a do objeto; Forma: só a forma de emissão",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-scaling-mode"
        },
        {
          "id": "size_over_lifetime_y_mode",
          "name": "Tamanho no tempo Y · modo",
          "kind": "enumeração",
          "group": "Tamanho no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Curva",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-y-mode"
        },
        {
          "id": "size_over_lifetime_z_mode",
          "name": "Tamanho no tempo Z · modo",
          "kind": "enumeração",
          "group": "Tamanho no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Curva",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-size-over-lifetime-z-mode"
        },
        {
          "id": "rotation_over_lifetime_x_mode",
          "name": "Velocidade angular X · modo",
          "kind": "enumeração",
          "group": "Rotação no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-x-mode"
        },
        {
          "id": "rotation_over_lifetime_y_mode",
          "name": "Velocidade angular Y · modo",
          "kind": "enumeração",
          "group": "Rotação no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-rotation-over-lifetime-y-mode"
        },
        {
          "id": "collision_type",
          "name": "Tipo",
          "kind": "enumeração",
          "group": "Colisão",
          "unit": "",
          "help": "Planos: os objetos escolhidos; Mundo: colisores da física do Play (um raio por partícula, com teto por quadro)",
          "default": "Planos",
          "domain": "Planos | Mundo",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Planos: os objetos escolhidos; Mundo: colisores da física do Play (um raio por partícula, com teto por quadro)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-type"
        },
        {
          "id": "render_alignment",
          "name": "Alinhamento",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Vista: encara a câmera; Mundo: eixos da cena; Local: eixos do objeto; Velocidade: segue o movimento",
          "default": "Vista",
          "domain": "Vista | Mundo | Local | Velocidade",
          "limitation": "Ordenação por sistema e dentro do sistema; desenhadas depois dos transparentes da malha",
          "capability": "render.particles.billboard",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Vista: encara a câmera; Mundo: eixos da cena; Local: eixos do objeto; Velocidade: segue o movimento",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-render-alignment"
        },
        {
          "id": "mesh_shape",
          "name": "Malha",
          "kind": "enumeração",
          "group": "Renderização",
          "unit": "",
          "help": "Malha embutida de cada partícula; uma Malha do projeto escolhida abaixo tem prioridade",
          "default": "Quadrado",
          "domain": "Quadrado | Cubo | Esfera | Cilindro",
          "limitation": "G6a: Render Mode Mesh (Quadrado, Cubo, Esfera, Cilindro ou uma Malha do projeto), Render Alignment Vista/Mundo/Local/Velocidade, Tamanho 3D e Rotação 3D por partícula, Modo de escala; malha sem iluminação (o material de partícula), sem Mesh Distribution entre várias malhas",
          "capability": "render.particles.mesh",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Malha embutida de cada partícula; uma Malha do projeto escolhida abaixo tem prioridade",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-mesh-shape"
        },
        {
          "id": "velocity_orbital_x_mode",
          "name": "Órbita X · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-x-mode"
        },
        {
          "id": "velocity_orbital_y_mode",
          "name": "Órbita Y · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-y-mode"
        },
        {
          "id": "velocity_orbital_z_mode",
          "name": "Órbita Z · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-orbital-z-mode"
        },
        {
          "id": "velocity_radial_mode",
          "name": "Radial · modo",
          "kind": "enumeração",
          "group": "Velocidade no tempo",
          "unit": "",
          "help": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "default": "Constante",
          "domain": "Constante | Curva | Entre duas constantes | Entre duas curvas",
          "limitation": "Main, Emission (taxa e rajadas), Shape (6 formas), Velocity/Limit Velocity/Force over Lifetime, Noise (ruído de valor) e Cor/Tamanho/Rotação ao longo da vida; jobs por sistema, SoA, semente determinística",
          "capability": "render.particles.simulation",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Constante, curva no tempo, ou sorteio entre dois valores por partícula",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-velocity-radial-mode"
        },
        {
          "id": "sub_emitter_extra_0_type",
          "name": "Extra 1 · quando",
          "kind": "enumeração",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "default": "Ao nascer",
          "domain": "Ao nascer | Ao colidir | Ao morrer",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-0-type"
        },
        {
          "id": "sub_emitter_extra_1_type",
          "name": "Extra 2 · quando",
          "kind": "enumeração",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "default": "Ao nascer",
          "domain": "Ao nascer | Ao colidir | Ao morrer",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-1-type"
        },
        {
          "id": "sub_emitter_extra_2_type",
          "name": "Extra 3 · quando",
          "kind": "enumeração",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "default": "Ao nascer",
          "domain": "Ao nascer | Ao colidir | Ao morrer",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-2-type"
        },
        {
          "id": "sub_emitter_extra_3_type",
          "name": "Extra 4 · quando",
          "kind": "enumeração",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "default": "Ao nascer",
          "domain": "Ao nascer | Ao colidir | Ao morrer",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-3-type"
        },
        {
          "id": "sub_emitter_extra_4_type",
          "name": "Extra 5 · quando",
          "kind": "enumeração",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "default": "Ao nascer",
          "domain": "Ao nascer | Ao colidir | Ao morrer",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-4-type"
        },
        {
          "id": "sub_emitter_extra_5_type",
          "name": "Extra 6 · quando",
          "kind": "enumeração",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "default": "Ao nascer",
          "domain": "Ao nascer | Ao colidir | Ao morrer",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-5-type"
        },
        {
          "id": "sub_emitter_extra_6_type",
          "name": "Extra 7 · quando",
          "kind": "enumeração",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "default": "Ao nascer",
          "domain": "Ao nascer | Ao colidir | Ao morrer",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Acontecimento que dispara o sub-sistema extra (emite as rajadas dele)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-6-type"
        },
        {
          "id": "collision_plane_0",
          "name": "Plano 1",
          "kind": "referência",
          "group": "Colisão",
          "unit": "",
          "help": "O +Y do objeto é a normal; a partícula quica do lado de cima",
          "default": "Nenhum",
          "domain": "qualquer objeto · outro objeto",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O +Y do objeto é a normal; a partícula quica do lado de cima",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-plane-0"
        },
        {
          "id": "collision_plane_1",
          "name": "Plano 2",
          "kind": "referência",
          "group": "Colisão",
          "unit": "",
          "help": "Segundo plano (parede, teto)",
          "default": "Nenhum",
          "domain": "qualquer objeto · outro objeto",
          "limitation": "Modo Planes da Unity (até dois objetos-plano) e, desde o G6a, modo World em Play: um raio da física por partícula e quadro, com teto por sistema; quique, amortecimento, perda de vida e velocidade mínima. Sem colisão com a física na prévia do editor",
          "capability": "render.particles.collision",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Segundo plano (parede, teto)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-collision-plane-1"
        },
        {
          "id": "sub_emitter_birth",
          "name": "Ao nascer",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Sistema que emite onde cada partícula nasce",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sistema que emite onde cada partícula nasce",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-birth"
        },
        {
          "id": "sub_emitter_collision",
          "name": "Ao colidir",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Sistema que emite no ponto do toque (respingo, faísca)",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sistema que emite no ponto do toque (respingo, faísca)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-collision"
        },
        {
          "id": "sub_emitter_death",
          "name": "Ao morrer",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Sistema que emite onde cada partícula morre (fogos)",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Sistema que emite onde cada partícula morre (fogos)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-death"
        },
        {
          "id": "light_template",
          "name": "Luz modelo",
          "kind": "referência",
          "group": "Luzes",
          "unit": "",
          "help": "Objeto com Luz pontual ou spot: cor, intensidade, alcance e unidade copiados (pode ficar inativo)",
          "default": "Nenhuma",
          "domain": "astra.render.light · outro objeto",
          "limitation": "Luz modelo (ponto ou spot) copiada para a Proporção das partículas até o Máximo por sistema; cor da partícula, tamanho no alcance e alfa na intensidade. Sem sombra e sem Random Distribution: o sorteio é fixo por partícula",
          "capability": "render.particles.lights",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto com Luz pontual ou spot: cor, intensidade, alcance e unidade copiados (pode ficar inativo)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-light-template"
        },
        {
          "id": "sub_emitter_extra_0",
          "name": "Extra 1",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-0"
        },
        {
          "id": "sub_emitter_extra_1",
          "name": "Extra 2",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-1"
        },
        {
          "id": "sub_emitter_extra_2",
          "name": "Extra 3",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-2"
        },
        {
          "id": "sub_emitter_extra_3",
          "name": "Extra 4",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-3"
        },
        {
          "id": "sub_emitter_extra_4",
          "name": "Extra 5",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-4"
        },
        {
          "id": "sub_emitter_extra_5",
          "name": "Extra 6",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-5"
        },
        {
          "id": "sub_emitter_extra_6",
          "name": "Extra 7",
          "kind": "referência",
          "group": "Sub-emissores",
          "unit": "",
          "help": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "default": "Nenhum",
          "domain": "astra.effects.particle_system · outro objeto",
          "limitation": "Ao nascer, ao colidir e ao morrer, com quantidade por evento; o sub-sistema usa a própria forma e visual. Sem herdar cor, tamanho ou velocidade",
          "capability": "render.particles.sub_emitters",
          "invalidation": "desenho",
          "conditional": true,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Mais um sistema disparado no acontecimento escolhido; emite as rajadas dele",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/#field-sub-emitter-extra-6"
        }
      ],
      "resources": [
        {
          "id": "material",
          "name": "Material",
          "kind": "material",
          "group": "Material",
          "help": "Material do projeto com shader Partícula: a imagem dele (e a folha de quadros) substitui a textura própria",
          "inheritable": false
        },
        {
          "id": "mesh",
          "name": "Malha do projeto",
          "kind": "mesh",
          "group": "Renderização",
          "help": "Malha do projeto desenhada em cada partícula; vazia = a malha embutida acima",
          "inheritable": false
        },
        {
          "id": "shape_mesh",
          "name": "Malha da forma",
          "kind": "mesh",
          "group": "Forma",
          "help": "Malha do projeto de onde as partículas nascem; vazia, nascem no centro",
          "inheritable": false
        }
      ],
      "methods": [
        {
          "id": "play",
          "name": "Tocar",
          "help": "Inicia ou retoma a simulação e a emissão",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "stop",
          "name": "Parar",
          "help": "Para de emitir; as partículas vivas terminam a vida",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "stop_and_clear",
          "name": "Parar e limpar",
          "help": "Para de emitir e remove todas as partículas",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "pause",
          "name": "Pausar",
          "help": "Congela simulação e emissão",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "clear",
          "name": "Limpar",
          "help": "Remove as partículas vivas sem mudar o estado de reprodução",
          "result": "nada",
          "parameters": []
        },
        {
          "id": "emit",
          "name": "Emitir",
          "help": "Emite partículas agora, pela forma, mesmo parado",
          "result": "nada",
          "parameters": [
            {
              "id": "count",
              "name": "Quantidade",
              "kind": "inteiro",
              "unit": ""
            }
          ]
        },
        {
          "id": "is_playing",
          "name": "Tocando",
          "help": "Verdadeiro enquanto toca (emitindo ou com partículas vivas)",
          "result": "booleano",
          "parameters": []
        },
        {
          "id": "particle_count",
          "name": "Partículas vivas",
          "help": "Quantas partículas estão vivas neste quadro",
          "result": "inteiro",
          "parameters": []
        },
        {
          "id": "time",
          "name": "Tempo",
          "help": "Tempo do ciclo atual em segundos",
          "result": "número",
          "parameters": []
        }
      ],
      "events": [
        {
          "id": "stopped",
          "name": "Parou",
          "help": "O sistema terminou: não emite mais e não há partículas vivas (Ação ao parar = Evento Parou)",
          "payload": []
        }
      ],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Crie por + › Efeitos (Partículas, Fogo, Faíscas…) ou adicione a um objeto. O Inspector empilha os módulos na ordem da Unity, cada um com interruptor no cabeçalho: Principal, Emissão, Forma, Velocidade/Limite/Herança/Força no tempo, Cor/Tamanho/Rotação no tempo e pela velocidade, Ruído, Colisão, Sub-emissores, Folha de textura, Luzes, Trilhas, Renderização e Material. No viewport, Reproduzir/Parar/Reiniciar.",
        "example": "Para um fogo animado: Material do projeto com shader Particles Unlit em Aditivo e uma folha 4×4; Folha de textura com Colunas 4, Linhas 4, Folha inteira; Vida 1,2 s, Taxa 40/s, Forma Cone de 15°, Tamanho no tempo decrescente e Cor no tempo de amarelo a vermelho transparente. Para Faíscas à noite, ligue Luzes com Proporção 0,2 e Máximo de luzes 8.",
        "next": "Presente na 0.4.0. Módulo Externo de forças e partículas que empurram corpos físicos não existem.",
        "purpose": "Emite, simula e desenha partículas, no modelo do Particle System da Unity: fogo, faíscas, fumaça, chuva e magia, com módulos ligados um a um.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Partículas** → **Sistema de partículas**.",
        "extra": "Valores com mínimo e multiplicador seguem os modos da Unity (constante, aleatório entre dois, curva). Material escolhe um Material do projeto com shader Partícula: a imagem dele e a folha de quadros substituem a textura própria; em aparelho sem descritores bindless fica a textura própria. Colisão com Planos (até dois) ou com o Mundo (colisores da física do Play). Custo no POCO F7: 1.000 faíscas ~0,26 ms de GPU, 8.000 ~0,87 ms; quads grandes cobrindo a tela custam por preenchimento. API C#: Play, Stop, StopAndClear, Pause, Clear, Emit, IsPlaying, ParticleCount, Time e o evento Parou.",
        "related": "[Partículas](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#partículas)"
      }
    },
    {
      "typeId": "astra.effects.laser",
      "name": "Laser",
      "description": "Raio da frente do objeto até o primeiro colisor, desenhado pela Linha, com impacto no ponto",
      "family": "Efeitos",
      "subfamily": "Comportamentos",
      "api": "Laser",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Physics.Raycast.html",
      "aliases": "Laser Beam Raio Feixe Raycast LineRenderer",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.render.line",
          "message": "Adicione uma Linha a este objeto: o laser desenha por ela"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "max_length",
          "name": "Alcance",
          "kind": "número",
          "group": "Laser",
          "unit": "m",
          "help": "Distância máxima do raio; sem acerto, a linha termina aqui",
          "default": "20",
          "domain": "0.01 … 10000",
          "limitation": "Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto",
          "capability": "render.effects.laser",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Distância máxima do raio; sem acerto, a linha termina aqui",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-laser/#field-max-length"
        },
        {
          "id": "hit_offset",
          "name": "Afastamento do impacto",
          "kind": "número",
          "group": "Impacto",
          "unit": "m",
          "help": "O impacto fica esta distância para fora da superfície",
          "default": "0",
          "domain": "-10 … 10",
          "limitation": "Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto",
          "capability": "render.effects.laser",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O impacto fica esta distância para fora da superfície",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-laser/#field-hit-offset"
        },
        {
          "id": "texture_tiling",
          "name": "Repetições por metro",
          "kind": "número",
          "group": "Laser",
          "unit": "/m",
          "help": "Quantas vezes a imagem da Linha se repete por metro de raio (zero estica)",
          "default": "1",
          "domain": "0 … 100",
          "limitation": "Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto",
          "capability": "render.effects.laser",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Quantas vezes a imagem da Linha se repete por metro de raio (zero estica)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-laser/#field-texture-tiling"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Laser",
          "unit": "",
          "help": "Desligado, a linha e o impacto param de seguir o raio",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto",
          "capability": "render.effects.laser",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, a linha e o impacto param de seguir o raio",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-laser/#field-enabled"
        },
        {
          "id": "align_hit",
          "name": "Impacto alinhado ao laser",
          "kind": "booleano",
          "group": "Impacto",
          "unit": "",
          "help": "O impacto gira com o laser; desligado, encara a superfície atingida",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto",
          "capability": "render.effects.laser",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O impacto gira com o laser; desligado, encara a superfície atingida",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-laser/#field-align-hit"
        },
        {
          "id": "forward_axis",
          "name": "Frente",
          "kind": "enumeração",
          "group": "Laser",
          "unit": "",
          "help": "+Z é a frente da Astra; −Z é a frente de um efeito importado da Unity",
          "default": "+Z (Astra)",
          "domain": "+Z (Astra) | −Z (Unity)",
          "limitation": "Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto",
          "capability": "render.effects.laser",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "+Z é a frente da Astra; −Z é a frente de um efeito importado da Unity",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-laser/#field-forward-axis"
        },
        {
          "id": "hit_effect",
          "name": "Efeito de impacto",
          "kind": "referência",
          "group": "Impacto",
          "unit": "",
          "help": "Objeto levado ao ponto atingido; as partículas dele tocam enquanto o raio acerta algo",
          "default": "Nenhum",
          "domain": "qualquer objeto · outro objeto",
          "limitation": "Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto",
          "capability": "render.effects.laser",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Objeto levado ao ponto atingido; as partículas dele tocam enquanto o raio acerta algo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-laser/#field-hit-effect"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "No objeto com Linha, adicione Laser. Defina Alcance, Frente (+Z da Astra ou o eixo do pacote) e escolha o Efeito de impacto (um objeto filho com partículas). Repetições por metro faz a textura não esticar com o comprimento.",
        "example": "Numa arma com Linha aditiva vermelha, Laser com Alcance 20 e Efeito de impacto num filho Faíscas: apontando para uma parede a 6 m, a linha para na parede e as faíscas nascem no ponto, viradas para fora com Impacto alinhado ao laser.",
        "next": "Presente na 0.4.0. Filtro por camada e reflexo em espelho não existem.",
        "purpose": "Lança um raio da frente do objeto até o primeiro colisor e desenha-o pela Linha do mesmo objeto, com um efeito de impacto no ponto. Converte o script de laser dos pacotes de efeitos.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Comportamentos** → **Laser**.",
        "extra": "Afastamento do impacto recua o efeito da superfície para não entrar na parede. Sem colisor no alcance, a linha vai até o Alcance e o impacto some.",
        "related": "[Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)"
      }
    },
    {
      "typeId": "astra.effects.projectile",
      "name": "Projétil",
      "description": "Anda pela frente; no primeiro acerto cria o impacto, solta os rastros e some",
      "family": "Efeitos",
      "subfamily": "Comportamentos",
      "api": "Projectile",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Collider.OnCollisionEnter.html",
      "aliases": "Projectile ProjectileMover Bala Tiro Magia Bola de fogo Missile Bullet",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "speed",
          "name": "Velocidade",
          "kind": "número",
          "group": "Projétil",
          "unit": "m/s",
          "help": "Avança pela frente do objeto em Play",
          "default": "15",
          "domain": "0 … 10000",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": true,
          "slots": 0,
          "usage": "Avança pela frente do objeto em Play",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-speed"
        },
        {
          "id": "lifetime",
          "name": "Vida",
          "kind": "número",
          "group": "Projétil",
          "unit": "s",
          "help": "Destruído depois deste tempo mesmo sem acertar nada",
          "default": "5",
          "domain": "0.05 … 3600",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Destruído depois deste tempo mesmo sem acertar nada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-lifetime"
        },
        {
          "id": "radius",
          "name": "Raio",
          "kind": "número",
          "group": "Projétil",
          "unit": "m",
          "help": "Raio da esfera que testa o acerto contra os colisores da cena",
          "default": "0.1",
          "domain": "0 … 100",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Raio da esfera que testa o acerto contra os colisores da cena",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-radius"
        },
        {
          "id": "hit_offset",
          "name": "Afastamento do impacto",
          "kind": "número",
          "group": "Impacto",
          "unit": "m",
          "help": "O impacto nasce esta distância para fora da superfície",
          "default": "0",
          "domain": "-10 … 10",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O impacto nasce esta distância para fora da superfície",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-hit-offset"
        },
        {
          "id": "rotation_offset_x",
          "name": "Giro do impacto X",
          "kind": "número",
          "group": "Impacto",
          "unit": "°",
          "help": "Diferente de zero, o impacto usa este giro fixo",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Diferente de zero, o impacto usa este giro fixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-rotation-offset-x"
        },
        {
          "id": "rotation_offset_y",
          "name": "Giro do impacto Y",
          "kind": "número",
          "group": "Impacto",
          "unit": "°",
          "help": "Diferente de zero, o impacto usa este giro fixo",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Diferente de zero, o impacto usa este giro fixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-rotation-offset-y"
        },
        {
          "id": "rotation_offset_z",
          "name": "Giro do impacto Z",
          "kind": "número",
          "group": "Impacto",
          "unit": "°",
          "help": "Diferente de zero, o impacto usa este giro fixo",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Diferente de zero, o impacto usa este giro fixo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-rotation-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Projétil",
          "unit": "",
          "help": "Desligado, o projétil para onde está",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o projétil para onde está",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-enabled"
        },
        {
          "id": "face_shooter",
          "name": "Impacto virado para o atirador",
          "kind": "booleano",
          "group": "Impacto",
          "unit": "",
          "help": "O impacto gira com o projétil (meia-volta); desligado, encara a superfície",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O impacto gira com o projétil (meia-volta); desligado, encara a superfície",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-face-shooter"
        },
        {
          "id": "forward_axis",
          "name": "Frente",
          "kind": "enumeração",
          "group": "Projétil",
          "unit": "",
          "help": "+Z é a frente da Astra; −Z é a frente de um efeito importado da Unity",
          "default": "+Z (Astra)",
          "domain": "+Z (Astra) | −Z (Unity)",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "+Z é a frente da Astra; −Z é a frente de um efeito importado da Unity",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-forward-axis"
        },
        {
          "id": "detach_0",
          "name": "Soltar 1",
          "kind": "referência",
          "group": "Ao acertar",
          "unit": "",
          "help": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-detach-0"
        },
        {
          "id": "detach_1",
          "name": "Soltar 2",
          "kind": "referência",
          "group": "Ao acertar",
          "unit": "",
          "help": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-detach-1"
        },
        {
          "id": "detach_2",
          "name": "Soltar 3",
          "kind": "referência",
          "group": "Ao acertar",
          "unit": "",
          "help": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-detach-2"
        },
        {
          "id": "detach_3",
          "name": "Soltar 4",
          "kind": "referência",
          "group": "Ao acertar",
          "unit": "",
          "help": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "default": "Nenhum",
          "domain": "qualquer objeto · abaixo deste objeto",
          "limitation": "Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima",
          "capability": "render.effects.projectile",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Filho que fica na cena quando o projétil some (rastro, fumaça)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-projectile/#field-detach-3"
        }
      ],
      "resources": [
        {
          "id": "impact",
          "name": "Impacto",
          "kind": "prefab",
          "group": "Ao acertar",
          "help": "Prefab criado no ponto do acerto e destruído quando as partículas dele terminam",
          "inheritable": false
        },
        {
          "id": "muzzle",
          "name": "Disparo",
          "kind": "prefab",
          "group": "Projétil",
          "help": "Prefab criado na saída (clarão do disparo) e destruído quando termina",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao objeto do projétil. Defina Velocidade, Vida e Raio do teste de acerto, escolha os recursos Impacto e Disparo (prefabs) e, em Soltar 1..4, os filhos de rastro que devem continuar no mundo depois do acerto.",
        "example": "Bola de fogo: Velocidade 15 m/s, Vida 5 s, Raio 0,1; Impacto = prefab de explosão; Soltar 1 = filho Trilha. Instanciada pelo script a 1 m à frente do jogador, ela anda, acerta a parede, cria a explosão no ponto e a trilha se desfaz sozinha.",
        "next": "Presente na 0.4.0. Gravidade, ricochete e teleguiado não existem.",
        "purpose": "Move o objeto para a frente; no primeiro acerto cria o Impacto, solta os rastros configurados e some. Converte o script de projétil dos pacotes de efeitos.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Comportamentos** → **Projétil**.",
        "extra": "Impacto virado para o atirador orienta o efeito de volta para quem atirou; Giro do impacto corrige prefabs modelados em outro eixo. Disparo é criado na origem quando o projétil nasce.",
        "related": "[Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)"
      }
    },
    {
      "typeId": "astra.effects.rotator",
      "name": "Girar",
      "description": "Gira o objeto e os filhos numa velocidade constante, no espaço local",
      "family": "Efeitos",
      "subfamily": "Comportamentos",
      "api": "Rotator",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Transform.Rotate.html",
      "aliases": "Rotator Rotate Girar Rodar Spin Transform.Rotate Círculo mágico",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "speed_x",
          "name": "Velocidade X",
          "kind": "número",
          "group": "Girar",
          "unit": "°/s",
          "help": "Giro por segundo em torno do X local",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Em Play: soma a velocidade (graus por segundo em X, Y e Z) ao giro local do objeto a cada quadro; os filhos giram junto",
          "capability": "render.effects.rotator",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro por segundo em torno do X local",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-rotator/#field-speed-x"
        },
        {
          "id": "speed_y",
          "name": "Velocidade Y",
          "kind": "número",
          "group": "Girar",
          "unit": "°/s",
          "help": "Giro por segundo em torno do Y local",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Em Play: soma a velocidade (graus por segundo em X, Y e Z) ao giro local do objeto a cada quadro; os filhos giram junto",
          "capability": "render.effects.rotator",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro por segundo em torno do Y local",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-rotator/#field-speed-y"
        },
        {
          "id": "speed_z",
          "name": "Velocidade Z",
          "kind": "número",
          "group": "Girar",
          "unit": "°/s",
          "help": "Giro por segundo em torno do Z local",
          "default": "0",
          "domain": "-36000 … 36000",
          "limitation": "Em Play: soma a velocidade (graus por segundo em X, Y e Z) ao giro local do objeto a cada quadro; os filhos giram junto",
          "capability": "render.effects.rotator",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro por segundo em torno do Z local",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-rotator/#field-speed-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Girar",
          "unit": "",
          "help": "Desligado, o objeto fica parado",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: soma a velocidade (graus por segundo em X, Y e Z) ao giro local do objeto a cada quadro; os filhos giram junto",
          "capability": "render.effects.rotator",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o objeto fica parado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-rotator/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione e defina Velocidade X/Y/Z em graus por segundo.",
        "example": "Um portal mágico: Velocidade Z 45 °/s gira o anel de partículas e os filhos juntos.",
        "next": "Presente na 0.4.0.",
        "purpose": "Gira o objeto e os filhos numa velocidade constante, no espaço local.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Comportamentos** → **Girar**.",
        "extra": "Gira o transform do objeto; quem também escreve a rotação (animação, script) disputa com ele.",
        "related": "[Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)"
      }
    },
    {
      "typeId": "astra.effects.follow_camera",
      "name": "Seguir câmera",
      "description": "Mantém o objeto na posição da câmera do jogo mais um deslocamento em eixos do mundo, como a chuva presa ao jogador",
      "family": "Efeitos",
      "subfamily": "Comportamentos",
      "api": "FollowCamera",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/Manual/class-PositionConstraint.html",
      "aliases": "FollowCamera Seguir câmera PositionConstraint Constraint Chuva Neve Precipitação Weather Effect Clima",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [],
      "conflicts": [],
      "properties": [
        {
          "id": "offset_x",
          "name": "Deslocamento X",
          "kind": "número",
          "group": "Seguir",
          "unit": "m",
          "help": "Distância da câmera no eixo X do mundo",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "Em Play: põe o objeto na posição da câmera do jogo (MainCamera ou maior prioridade) mais o Deslocamento em eixos do mundo; giro e escala do autor ficam",
          "capability": "render.effects.follow_camera",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância da câmera no eixo X do mundo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-follow-camera/#field-offset-x"
        },
        {
          "id": "offset_y",
          "name": "Deslocamento Y",
          "kind": "número",
          "group": "Seguir",
          "unit": "m",
          "help": "Distância da câmera no eixo Y do mundo",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "Em Play: põe o objeto na posição da câmera do jogo (MainCamera ou maior prioridade) mais o Deslocamento em eixos do mundo; giro e escala do autor ficam",
          "capability": "render.effects.follow_camera",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância da câmera no eixo Y do mundo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-follow-camera/#field-offset-y"
        },
        {
          "id": "offset_z",
          "name": "Deslocamento Z",
          "kind": "número",
          "group": "Seguir",
          "unit": "m",
          "help": "Distância da câmera no eixo Z do mundo",
          "default": "0",
          "domain": "-10000 … 10000",
          "limitation": "Em Play: põe o objeto na posição da câmera do jogo (MainCamera ou maior prioridade) mais o Deslocamento em eixos do mundo; giro e escala do autor ficam",
          "capability": "render.effects.follow_camera",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Distância da câmera no eixo Z do mundo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-follow-camera/#field-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Seguir",
          "unit": "",
          "help": "Desligado, o objeto fica onde está",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: põe o objeto na posição da câmera do jogo (MainCamera ou maior prioridade) mais o Deslocamento em eixos do mundo; giro e escala do autor ficam",
          "capability": "render.effects.follow_camera",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, o objeto fica onde está",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-follow-camera/#field-enabled"
        }
      ],
      "resources": [],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "Adicione ao objeto do efeito e ajuste Deslocamento X, Y e Z em metros. A posição é a da câmera do jogo (a marcada MainCamera); o giro do objeto não muda.",
        "example": "Uma chuva de partículas com Forma Caixa de 40 × 1 × 40 m e Seguir câmera com Deslocamento Y 15: as gotas sempre nascem 15 m acima da câmera e cobrem a vista inteira, ande o jogador para onde andar.",
        "next": "Presente na 0.4.0. Seguir outro objeto que não a câmera fica para as restrições de posição.",
        "purpose": "Mantém o objeto na posição da câmera do jogo, mais um deslocamento nos eixos do mundo. Serve para chuva, neve e poeira que devem cercar o jogador onde ele estiver.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Comportamentos** → **Seguir câmera**.",
        "extra": "Equivale ao Position Constraint da Unity preso à câmera. Prefabs de efeito importados que prendiam a precipitação ao jogador por script chegam com este componente. O Clima da Astra já acompanha a câmera sozinho (Seguir a câmera no Clima).",
        "related": "[Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)"
      }
    },
    {
      "typeId": "astra.effects.collision_spawn",
      "name": "Instanciar ao colidir",
      "description": "Cada toque de partícula cria um prefab no ponto (respingo, faísca, explosão)",
      "family": "Efeitos",
      "subfamily": "Comportamentos",
      "api": "ParticleCollisionSpawn",
      "reference": "https://docs.unity3d.com/6000.0/Documentation/ScriptReference/MonoBehaviour.OnParticleCollision.html",
      "aliases": "OnParticleCollision ParticleCollisionInstance Impacto Respingo Colisao Instanciar",
      "schemaVersion": 1,
      "allowMultiple": false,
      "listedInAdd": true,
      "structuralInPlay": "ponto seguro",
      "propertiesInPlay": "ponto seguro",
      "requirements": [
        {
          "typeId": "astra.effects.particle_system",
          "message": "Adicione um Sistema de partículas com Colisão a este objeto"
        }
      ],
      "conflicts": [],
      "properties": [
        {
          "id": "destroy_delay",
          "name": "Duração do efeito",
          "kind": "número",
          "group": "Ao colidir",
          "unit": "s",
          "help": "Cada efeito criado é destruído depois deste tempo",
          "default": "5",
          "domain": "0.05 … 3600",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Cada efeito criado é destruído depois deste tempo",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-destroy-delay"
        },
        {
          "id": "offset",
          "name": "Afastamento",
          "kind": "número",
          "group": "Ao colidir",
          "unit": "m",
          "help": "O efeito nasce esta distância para fora da superfície",
          "default": "0",
          "domain": "-10 … 10",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O efeito nasce esta distância para fora da superfície",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-offset"
        },
        {
          "id": "max_per_frame",
          "name": "Máximo por quadro",
          "kind": "número",
          "group": "Ao colidir",
          "unit": "",
          "help": "Teto de efeitos criados num quadro (chuva de toques não trava o aparelho)",
          "default": "8",
          "domain": "1 … 64",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Teto de efeitos criados num quadro (chuva de toques não trava o aparelho)",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-max-per-frame"
        },
        {
          "id": "rotation_offset_x",
          "name": "Giro fixo X",
          "kind": "número",
          "group": "Giro",
          "unit": "°",
          "help": "Giro do efeito criado",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro do efeito criado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-rotation-offset-x"
        },
        {
          "id": "rotation_offset_y",
          "name": "Giro fixo Y",
          "kind": "número",
          "group": "Giro",
          "unit": "°",
          "help": "Giro do efeito criado",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro do efeito criado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-rotation-offset-y"
        },
        {
          "id": "rotation_offset_z",
          "name": "Giro fixo Z",
          "kind": "número",
          "group": "Giro",
          "unit": "°",
          "help": "Giro do efeito criado",
          "default": "0",
          "domain": "-360 … 360",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Giro do efeito criado",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-rotation-offset-z"
        },
        {
          "id": "enabled",
          "name": "Ativo",
          "kind": "booleano",
          "group": "Ao colidir",
          "unit": "",
          "help": "Desligado, os toques não criam nada",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Desligado, os toques não criam nada",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-enabled"
        },
        {
          "id": "world_space",
          "name": "Solto na cena",
          "kind": "booleano",
          "group": "Ao colidir",
          "unit": "",
          "help": "O efeito criado fica na cena; desligado, vira filho deste objeto",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O efeito criado fica na cena; desligado, vira filho deste objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-world-space"
        },
        {
          "id": "face_emitter",
          "name": "Virado para o emissor",
          "kind": "booleano",
          "group": "Giro",
          "unit": "",
          "help": "O efeito olha para este objeto",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "O efeito olha para este objeto",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-face-emitter"
        },
        {
          "id": "rotation_offset_only",
          "name": "Só o giro fixo",
          "kind": "booleano",
          "group": "Giro",
          "unit": "",
          "help": "Com giro fixo, usa só ele; desligado, soma o giro à direção da superfície",
          "default": "verdadeiro",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Com giro fixo, usa só ele; desligado, soma o giro à direção da superfície",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-rotation-offset-only"
        },
        {
          "id": "destroy_emitter",
          "name": "Destruir este objeto",
          "kind": "booleano",
          "group": "Ao colidir",
          "unit": "",
          "help": "Depois do primeiro toque, este objeto some meio segundo depois dos efeitos",
          "default": "falso",
          "domain": "verdadeiro | falso",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Depois do primeiro toque, este objeto some meio segundo depois dos efeitos",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-destroy-emitter"
        },
        {
          "id": "forward_axis",
          "name": "Frente dos efeitos",
          "kind": "enumeração",
          "group": "Giro",
          "unit": "",
          "help": "Eixo que aponta para a superfície: +Z nos efeitos da Astra, −Z nos importados da Unity",
          "default": "+Z (Astra)",
          "domain": "+Z (Astra) | −Z (Unity)",
          "limitation": "Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração",
          "capability": "render.effects.collision_spawn",
          "invalidation": "desenho",
          "conditional": false,
          "restrictedWrite": false,
          "perSlot": false,
          "tweenable": false,
          "slots": 0,
          "usage": "Eixo que aponta para a superfície: +Z nos efeitos da Astra, −Z nos importados da Unity",
          "url": "/pt-br/snapshot-2026-10-28/componentes/astra-effects-collision-spawn/#field-forward-axis"
        }
      ],
      "resources": [
        {
          "id": "effects",
          "name": "Efeitos",
          "kind": "prefab",
          "group": "Ao colidir",
          "help": "Prefabs criados em cada toque de partícula",
          "inheritable": false
        }
      ],
      "methods": [],
      "events": [],
      "guide": {
        "title": "Objetos, Behaviors e composição",
        "route": "roadmap/objetos-e-scripts",
        "use": "No objeto com Sistema de partículas e Colisão ligada, adicione Instanciar ao colidir e escolha os Efeitos. Defina Duração do efeito (quanto cada cópia vive) e Máximo por quadro.",
        "example": "Chuva de meteoros com Colisão no plano do chão: Efeitos = prefab de explosão pequena, Duração 2 s, Máximo por quadro 4. Cada meteoro que toca o chão deixa uma explosão; Virado para o emissor orienta a explosão para cima.",
        "next": "Presente na 0.4.0. Toques com a física da cena dependem da Colisão Mundo do Sistema de partículas.",
        "purpose": "Cada toque de partícula do Sistema de partículas deste objeto cria um prefab no ponto: respingo, faísca, explosão. Equivale ao OnParticleCollision dos scripts dos pacotes.",
        "location": "Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Comportamentos** → **Instanciar ao colidir**.",
        "extra": "Solto na cena deixa as cópias no mundo em vez de filhas do emissor. Destruir este objeto remove o emissor no primeiro toque (projéteis de partícula).",
        "related": "[Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)"
      }
    }
  ]
}