Partilhar via


Definir condições para afetar os Rigidbodies

Nas UIs do componente mesh e neste artigo, utilizamos "corpo/corpos" como atalhos para "Rigidbody/Rigidbody".

Alguns componentes têm uma propriedade denominada Corpos Afetados ...

___

... ou Corpos Afetados para Colisão.

___

Esta definição faz apenas os corpos que cumprem determinadas condições prévias afetadas pelo componente (no caso de "Corpos Afetados") ou afetados quando colidem com o corpo ao qual o componente está ligado (no caso de "Corpos Afetados para Colisão"). Existem quatro condições principais:

  1. Nome do Objeto de Jogo
  2. Etiqueta de Objeto de Jogo
  3. Massa rigidbody
  4. Objeto de Jogo de Raiz

Para ver as condições prévias, clique no menu pendente sinal de adição ("+").

___

Para compreender a primeira pré-condição, Nome do Objeto de Jogo, imaginemos que há um jogo de dardos na sua cena e que tem numerosos GameObjects de dardos chamados Dart01, Dart02, Dart03, etc. Quer que qualquer dardo, mas apenas dardos, seja afetado pelo componente, para que filtre por qualquer GameObject que comece com as quatro letras "Dardo".

  1. Clique no menu pendente Filtro do Corpo "+" e, em seguida, selecione Nome do Objeto do Jogo.

  2. Na caixa de texto junto a Iniciar Com, escreva "Dardo".

    ___

Não está limitado a utilizar apenas o Starts With. Pode filtrar por nomes exatos ou apenas nomes que terminem com determinadas letras e muito mais. Para ver todas as suas opções, clique no menu pendente Começa Com .

___

Notas

  • Ter várias instâncias da condição Nome do Objeto de Jogo pode fazer sentido em determinadas situações, por exemplo, para filtrar nomes com um determinado prefixo e um determinado sufixo.

  • O texto é sensível às maiúsculas e minúsculas.

Para filtrar os corpos com base na respetiva etiqueta:

  • Clique no menu pendente Filtro do Corpo "+" e, em seguida, selecione Etiqueta de Objeto de Jogo.

As opções para esta condição são semelhantes às opções do Nome do Objeto de Jogo.

Nota: A comparação de etiquetas é sensível a maiúsculas e minúsculas.

IMPORTANTE: O Unity permite-lhe criar etiquetas personalizadas, mas não pode carregar etiquetas personalizadas no Mesh. Tem de escolher uma das etiquetas predefinidas fornecidas pelo Unity.

Para filtrar os corpos com base na respetiva massa:

  1. Clique no menu pendente Filtro do Corpo "+" e, em seguida, selecione Massa rigidbody.
  2. Introduza os valores de massa mínimo e máximo que um GameObject tem de ter para ser afetado.

Importante: Recomendamos que não tenha mais do que uma instância desta condição ativa em qualquer altura. Pode acomodar todos os potenciais GameObjects com um único intervalo Min/Max.

Para filtrar os corpos com base no GameObject raiz:
Digamos que tem um GameObject de raiz chamado "Robot1" na sua cena. O Robot1 tem inúmeros objetos subordinados ( braços, pernas, etc.) e estes têm os seus próprios objetos subordinados. Quer que o Robot1 e qualquer um dos GameObjects na respetiva hierarquia sejam afetados pelo componente.

  1. Clique no menu pendente Filtro do Corpo "+" e, em seguida, selecione Objeto de Jogo de Raiz.
  2. Faça um dos seguintes:
  • Arraste o GameObject da Hierarquia e, em seguida, largue-o no campo Objeto de Jogo raiz .

    -ou-

  • Clique no botão redondo no campo Objeto de Jogo raiz ...

    ___

    … em seguida, na janela Selecionar GameObject , procure GameObject que pretende adicionar e, em seguida, na lista resultante, faça duplo clique no nome do GameObject.

    ___

Tenha em atenção que, neste exemplo, existem três robôs em cena: Robot1, Robot2 e Robot3. Se quisesse que todos os robôs fossem afetados, poderia adicionar uma condição nome de objeto de jogo que afetasse todos os objetos com o texto "Robot" em qualquer lugar no nome.

___

Importante: Recomendamos que não tenha mais do que uma instância desta condição ativa em qualquer altura. Isto pode causar conflitos.

Filtrar com Múltiplas Condições

Pode ter mais do que um filtro na sua condição. Por exemplo, digamos que pretende que apenas robôs maiores ou mais pesados ( os que têm um valor de massa superior) sejam afetados pelo componente. Pode procurar nomes gameObject que contenham "Robot" que tenham um valor de massa mínimo de 100:

___

Nota: Se forem definidas múltiplas condições, um corpo tem de corresponder a todas as condições a afetar pelo componente.

Opções no menu de três pontos

Cada condição tem um menu de 3 pontos com várias opções.

___

Mover Condição Para Cima: Move a condição uma posição mais alta na lista Corpos Afetados .

Mover Condição Para Baixo: Move a condição uma posição mais abaixo na lista Corpos Afetados .

Eliminar Condição: Remove a condição da lista Corpos Afetados .

Para tornar uma condição ativa ou inativa: Selecione ou desmarque a caixa de verificação à esquerda do nome da condição.

Passos seguintes