From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Sensor tipo "object" (objeto)

Sensor

O Objeto detecta objetos estáticos e dinâmicos mas não outros objetos que são sensores de "collisions" (colisões).

"Detect actor" (Detectar Ator)

O Sensor deve detectar somente os Objetos com a opção "Actor" (Ator) habilitada. Desmarque a caixa para que ele detecte todos os Objetos.

"Invisible" (Invisível)

Caso o Objeto esteja configurado para ser do tipo "Invisible" (Invisível), ele não é renderizado dentro da "Game Engine" (Máquina de Jogos).

"Advanced" (Avançado)

Configurações Avançadas de Colisão.

"Bounds" (Bordas ou Limiares)

GM Actors Bounding Menu.png

A BGE ou "Blender Game Engine" (Máquina de Jogos do Blender) possui um determinado número de maneiras de lidar com os formatos dos Objetos. A razão pela qual a BGE evita colisões altamente precisas, baseadas em colisões por face dos Objetos, é devido ao alto nível de processamento exigido para este tipo de tarefa. Portanto é mais rápido, durante o/a "Game Play" (Ação de Jogo) utilizar um sistema mais simples para definir a colisão, como uma caixa ou uma esfera para um Objeto o qual o seu formato é similar a estes.

GM Actors Object Centre.png

As bordas ou limiares destes Objetos são calculados a partir do centro dos Objetos, que normalmente são mostrados através do ponto rosa que fica no centro de seus Objetos. Não é incomum ou útil mover este centro para uma localização mais conveniente. Isto pode ser feito dentro do contexto Editing, F9 e escolhendo uma das 3 opções que focam em torno do movimento central (veja Malha para mais informações).

As Opções "Convex Hull" (Carcaça Convexa) e a opção estática "Triangle Mesh" (Malha Triangular)são desenhadas para utilizações com Objetos do Mundo como Objetos que fazem o "floor" (piso), muros, árvores, etc.

O Blender não possui uma maneira genérica de interagir com Objetos ocos. Um exemplo, que seria difícil de criar/reproduzir, seria um copo que pudesse sacudir dados.

Especificações Técnicas

(Retiradas a partir das Notas de lançamento da versão 2.49)

Sensor de "Object Type" (Tipos de Objeto)

Este é um novo sensor de Objetos para generalizar a detecção através de sensores como "Near" (Próximo) e tipo "Radar" (Radar), para definir a capacidade de colisão entre Objetos tipo "Static" (Estáticos).

Um novo tipo de Objeto físico tipo "Sensor"está disponível dentro da BGE para uma manutenção avançada das colisões. Ele é chamado de sensor por suas similaridades com os Objetos físicos que delineiam os Sensores do tipo Near e "Radar" (Radar). Bem como só Objetos do tipo "Near" (Próximo) e "Radar" (Radar), eles são:

  • "Static" (Estático) e "Ghost" (Fantasma)
  • Invisíveis por padrão.
  • Sempre ativos para garantir uma precisa detecção de colisão.
  • Capazes de detectar ambos os tipos de Objetos "Static" (Estático) e "Dynamic" (Dinâmicos).
  • Ignoram a colisão com os seus Similares ou Parentes.
  • São capazes de executar uma ampla gama de filtros de fase, baseados em:
    • Opções de Atores: O Objeto que estiver colidindo deverá possuir a "flag" (bandeira) do tipo "Actor" (Ator) para ser detectado.
    • Propriedade/Material: como especificado dentro dos sensores de colisão atrelados a ele.
      A filtragem de Ampla fase é importante por uma questão de performance: os pontos de colisão serão computados somente para os Objetos que passarem pelos filtros de ampla fase.
  • São automaticamente removidos da simulação quando nenhum sensor de colisão está ativo neles.

Diferentemente dos Objetos do tipo "Near" (Próximo) e "Radar" (Radar) ele pode:

  • Ter qualquer formato, incluindo Malhas triangulares.
  • Ser visível para operações de procura por erros (debugging) (simplesmente pela utilização do atuador "Visible" (Visível))
  • Ter múltiplos Sensores de colisão utilizando-os.

Também diferentemente destes, os Objetos do tipo Sensor são Objetos ordinários. Você pode movê-los de maneira livre ou parenteá-los. Quando parenteados a um Objeto do tipo dinâmico, eles podem prover um controle avançado sobre a colisão com este Objeto.

Os tipos de capacidade de colisão dependem do formato:

  • "box" (caixa), "sphere" (esfera), "cylinder" (cilindro), "cone" (cone), "convex hull" (Carcaça convexa) provêm detecção de volume.
  • Malhas triangulares provêm a detecção de superfície mas você pode dar um volume para estas superfícies pelo aumento da margem dentro do painel "Advanced Settings" (Configurações Avançnadas). A margem se aplica para ambos os lados da superfície.

Dicas para a melhoria de Performance:

  • Os Objetos do tipo Sensores, tem uma melhor performance do que os sensores do tipo "Near" (Próximo) e "Radar" (Radar): Eles perfazem menos sincronizações por causa das otimizações de gráficos da cena (Scenegraph optimizations) e eles podem ter múltiplos sensores de colisão atrelados neles (com diferentes propriedades de filtragem, por exemplo).
  • Sempre dê preferência para formatos mais simplificados ("box" (caixa), "sphere" (esfera) por exemplo) ao invés de formatos complexos sempre que possível.
  • Sempre tente utilizar a "broadphase filtering" (filtragem de ampla fase) (evitando sensores de colisão com propriedades nulas/materiais)
  • Utilize os Sensores de Colisão somente quando necessitar deles. Quando nenhum sensor de colisão está ativo no Objeto Sensor, ele é removido da simulação e não consome mais poder computacional.

Limitações Conhecidas:

  • quando estiver rodando o Blender em Modo de verificação de erros (debug mode), você verá um aviso de atenção na linha do console do Blender:
    "warning btCollisionDispatcher::needsCollision: static-static collision!"
    , que significa
    Atenção, O tipo de Disparador de Colisão::necessita do tipo de colisão de: Estático par Estático !
    .

Dentro do Modo padrão e distribuição, esta mensagem não é impressa.

  • A margem de Colisão não possui efeito em formatos de "Sphere" (Esfera), "Cone" (Cone) e formatos do tipo "Cylinder" (Cilindro).

Outras melhorias de performance:

  • Remoção da Interpolação desnecessária para os Objetos do tipo "Near" (Próximo) e "Radar" (Radar) pela extensão dos Objetos do tipo Sensores.
  • Utilização de Matriz direta ao invés de Quaternária para sincronizar a orientação.