Partager via


Définir des conditions pour affecter les rigidbodies

Dans les interfaces utilisateur du composant Mesh, et dans cet article, nous utilisons « corps/corps » comme raccourcis pour « Rigidbody/Rigidbodies ».

Certains composants ont une propriété nommée Corps affectés ...

___

... ou Corps affectés en cas de collision.

___

Ce paramètre fait en sorte que seuls les corps qui remplissent certaines conditions préalables sont affectés par le composant (dans le cas des « corps affectés ») ou affectés lorsqu’ils entrent en collision avec le corps auquel le composant est attaché (dans le cas des « corps affectés pour collision »). Il existe quatre conditions préalables main :

  1. Game Object Name
  2. Game Object Tag
  3. Masse du corps rigide
  4. Objet jeu racine

Pour afficher les conditions préalables, cliquez sur la liste déroulante signe plus (« + »).

___

Pour comprendre la première condition préalable, Game Object Name, imaginons qu’il existe un jeu de fléchettes dans votre scène et que vous avez de nombreux GameObjects de fléchettes qui sont nommés Dart01, Dart02, Dart03, etc. Vous souhaitez que toutes les fléchettes, mais uniquement les fléchettes, soient affectées par le composant. Vous filtrez donc pour tout GameObject qui commence par les quatre lettres « Dart ».

  1. Cliquez sur la liste déroulante Filtre de corps « + », puis sélectionnez Nom de l’objet du jeu.

  2. Dans la zone de texte en regard de Commence par, tapez « Dart ».

    ___

Vous n’êtes pas limité à l’utilisation de Commence par. Vous pouvez filtrer les noms exacts, ou uniquement les noms qui se terminent par certaines lettres, etc. Pour afficher toutes vos options, cliquez sur la liste déroulante Commence par .

___

Remarques

  • Le fait d’avoir plusieurs instances de la condition Game Object Name peut être utile dans certaines situations, par exemple pour filtrer les noms qui ont un préfixe donné et un suffixe donné.

  • Le texte respecte la casse.

Pour filtrer les corps en fonction de leur balise :

  • Cliquez sur la liste déroulante Filtre de corps « + », puis sélectionnez Balise d’objet game.

Les options de cette condition sont similaires à celles de Game Object Name.

Note: La comparaison des étiquettes respecte lacasse.

IMPORTANT: Unity vous permet de créer des balises personnalisées, mais vous ne pouvez pas charger de balises personnalisées dans Mesh. Vous devez choisir l’une des balises prédéfinies qu’Unity fournit.

Pour filtrer les corps en fonction de leur masse :

  1. Cliquez sur la liste déroulante Filtre de corps « + », puis sélectionnez Rigidbody Mass.
  2. Entrez les valeurs de masse minimale et maximale qu’un GameObject doit avoir pour être affecté.

Important: Nous vous recommandons de ne pas activer plusieurs instance de cette condition à tout moment. Vous pouvez prendre en charge tous les GameObjects potentiels à l’aide d’une seule plage Min/Max.

Pour filtrer les corps en fonction de leur GameObject racine :
Supposons que vous ayez un GameObject racine nommé « Robot1 » dans votre scène. Robot1 a de nombreux objets enfants ( bras, jambes, etc.) et ceux-ci ont leurs propres objets enfants. Vous souhaitez que Robot1 et tous les GameObjects de sa hiérarchie soient affectés par le composant.

  1. Cliquez sur la liste déroulante Filtre de corps « + », puis sélectionnez Objet de jeu racine.
  2. Effectuez l’une des opérations suivantes :
  • Faites glisser le GameObject à partir de la hiérarchie , puis déposez-le dans le champ Objet de jeu racine .

    -ou-

  • Cliquez sur le bouton rond dans le champ Objet de jeu racine ...

    ___

    … Ensuite, dans la fenêtre Sélectionner GameObject , recherchez GameObject que vous souhaitez ajouter, puis, dans la liste résultante, double-cliquez sur le nom du GameObject.

    ___

Notez que dans cet exemple, il existe trois robots dans la scène : Robot1, Robot2 et Robot3. Si vous souhaitez que tous les robots soient affectés, vous pouvez ajouter une condition Game Object Name qui affecte tous les objets avec le texte « Robot » n’importe où dans le nom.

___

Important: Nous vous recommandons de ne pas activer plusieurs instance de cette condition à tout moment. Cela peut entraîner des conflits.

Filtrage avec plusieurs conditions

Vous pouvez avoir plusieurs filtres dans votre condition. Par exemple, supposons que vous souhaitiez que seuls les robots plus grands ou plus lourds (ceux dont la valeur Mass est plus élevée) soient affectés par le composant. Vous pouvez rechercher des noms GameObject contenant « Robot » dont la valeur de masse minimale est 100 :

___

Note: Si plusieurs conditions sont définies, un corps doit correspondre à toutes les conditions à affecter par le composant.

Options du menu à trois points

Chaque condition a un menu à 3 points avec plusieurs options.

___

Déplacer la condition vers le haut : Déplace la condition d’une position plus haut dans la liste Corps affectés .

Déplacer la condition vers le bas : Déplace la condition d’une position plus bas dans la liste Corps affectés .

Supprimer la condition : Supprime la condition de la liste Corps affectés .

Pour rendre une condition active ou inactive : Activez ou désactivez la case à cocher à gauche du nom de la condition.

Étapes suivantes