Definir condições para afetar Rigidcorpos
Nas interfaces do usuário do componente Malha e, neste artigo, usamos "corpo/corpos" como atalhos para "Rigidbody/Rigidbody".
Alguns componentes têm uma propriedade chamada Corpos Afetados ...
... ou Corpos Afetados para Colisão.
Essa configuração torna apenas os corpos que atendem a determinadas pré-condições afetadas pelo componente (no caso de "Corpos Afetados") ou afetados quando colidem com o corpo ao qual o componente está anexado (no caso de "Corpos Afetados para Colisão"). Há quatro pré-condições main:
- Nome do objeto do jogo
- Marca de objeto do jogo
- Massa rigidbody
- Objeto de jogo raiz
Para exibir as pré-condições, clique na lista suspensa sinal de adição ("+").
Para entender a primeira pré-condição, Nome do Objeto do Jogo, vamos imaginar que há um jogo de dardos em sua cena e você tem vários GameObjects de dardos chamados Dart01, Dart02, Dart03 e assim por diante. Você deseja que qualquer dardo, mas apenas dardos, seja afetado pelo componente, portanto, filtre por qualquer GameObject que comece com as quatro letras "Dardo".
Clique na lista suspensa Filtro de Corpo "+" e selecione Nome do Objeto do Jogo.
Na caixa de texto ao lado de Começa com, digite "Dardo".
Você não está restrito a usar apenas Starts With. Você pode filtrar nomes exatos ou apenas nomes que terminam com determinadas letras e muito mais. Para ver todas as opções, clique na lista suspensa Começa com .
Observações
Ter várias instâncias da condição Nome do Objeto do Jogo pode fazer sentido em determinadas situações, por exemplo, para filtrar nomes que têm um determinado prefixo e um determinado sufixo.
O texto diferencia maiúsculas de minúsculas.
Para filtrar corpos com base em sua marca:
- Clique na lista suspensa Filtro de Corpo "+" e selecione Marca de Objeto do Jogo.
As opções para essa condição são semelhantes às opções para Nome do Objeto do Jogo.
Nota: A comparação de marcasdiferencia maiúsculas de minúsculas.
IMPORTANTE: O Unity permite que você crie marcas personalizadas, mas não é possível carregar marcas personalizadas na Malha. Você deve escolher uma das marcas predefinidas fornecidas pelo Unity.
Para filtrar corpos com base em sua massa:
- Clique na lista suspensa Filtro de Corpo "+" e selecione Massa de Corpo Rígido.
- Insira os valores de massa mínimo e máximo que um GameObject deve ter para ser afetado.
Importante: Recomendamos que você não tenha mais de uma instância dessa condição ativa a qualquer momento. Você pode acomodar todos os Possíveis GameObjects usando um único intervalo Mínimo/Máximo.
Para filtrar corpos com base em seu GameObject raiz:
Digamos que você tenha um GameObject raiz chamado "Robot1" em sua cena. Robot1 tem inúmeros objetos filho — braços, pernas e assim por diante — e eles têm seus próprios objetos filho. Você deseja que Robot1 e qualquer um dos GameObjects em sua hierarquia sejam afetados pelo componente.
- Clique na lista suspensa Filtro de Corpo "+" e selecione Objeto de Jogo Raiz.
- Realize um dos seguintes procedimentos:
Arraste o GameObject da Hierarquia e solte-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, pesquise GameObject que você deseja adicionar e, na lista resultante, clique duas vezes no nome do GameObject.
Observe que, neste exemplo, há três robôs na cena: Robot1, Robot2 e Robot3. Se você quisesse que todos os robôs fossem afetados, poderia adicionar uma condição Nome do Objeto do Jogo que afeta todos os objetos com o texto "Robô" em qualquer lugar no nome.
Importante: Recomendamos que você não tenha mais de uma instância dessa condição ativa a qualquer momento. Isso pode causar conflitos.
Filtragem com várias condições
Você pode ter mais de um filtro em sua condição. Por exemplo, digamos que você queira que apenas robôs maiores ou mais pesados , com um valor de massa mais alto, sejam afetados pelo componente. Você pode pesquisar nomes GameObject que contenham "Robô" que tenham um valor de massa mínimo de 100:
Nota: Se várias condições forem definidas, um corpo deverá corresponder a todas as condições a serem afetadas pelo componente.
Opções no menu de três pontos
Cada condição tem um menu de três ponto 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 para baixo na lista Corpos Afetados .
Excluir Condição: Remove a condição da lista Corpos Afetados .
Para tornar uma condição ativa ou inativa: Marque ou desmarque a caixa de seleção à esquerda do nome da condição.