Freigeben über


Festlegen von Bedingungen für die Auswirkung von Rigidbodies

In den UIs der Mesh-Komponente und in diesem Artikel verwenden wir "Body/Body" als Tastenkombinationen für "Starrkörper/Starrkörper".

Einige Komponenten verfügen über eine Eigenschaft mit dem Namen Betroffene Körper ...

___

... oder betroffene Körper für Kollision.

___

Diese Einstellung macht nur Körper, die bestimmte Voraussetzungen erfüllen, die von der Komponente betroffen sind (im Fall von "Betroffene Körper") oder betroffen sind, wenn sie mit dem Körper kollidieren, an den die Komponente angefügt ist (im Fall von "Betroffene Körper für Kollision"). Es gibt vier Standard Voraussetzungen:

  1. Name des Spielobjekts
  2. Game Object Tag
  3. Starrkörpermasse
  4. Stammspielobjekt

Klicken Sie zum Anzeigen der Vorbedingungen auf das Pluszeichen ("+") in der Dropdownliste.

___

Um die erste Voraussetzung, Game Object Name, zu verstehen, stellen wir uns vor, dass es in Ihrer Szene ein Dartspiel gibt und Sie zahlreiche Dart-GameObjects mit den Namen Dart01, Dart02, Dart03 usw. haben. Sie möchten, dass jeder Dart, aber nur Darts, von der Komponente betroffen ist, also filtern Sie nach jedem GameObject, das mit den vier Buchstaben "Dart" beginnt.

  1. Klicken Sie auf die Dropdownliste Textfilter "+", und wählen Sie dann Game Object Name (Game Object Name) aus.

  2. Geben Sie im Textfeld neben Beginnt mit "Dart" ein.

    ___

Sie sind nicht auf die Verwendung von "Start mit" beschränkt. Sie können nach genauen Namen oder nur nach Namen filtern, die mit bestimmten Buchstaben enden , und mehr. Um alle Optionen anzuzeigen, klicken Sie auf die Dropdownliste Beginnt mit .

___

Hinweise

  • Mehrere Instanzen der Game Object Name-Bedingung können in bestimmten Situationen sinnvoll sein, z. B. um nach Namen zu filtern, die ein bestimmtes Präfix und ein bestimmtes Suffix aufweisen.

  • Bei Text wird die Groß-/Kleinschreibung beachtet.

So filtern Sie nach Textkörpern basierend auf ihrem Tag:

  • Klicken Sie auf die Dropdownliste Textfilter "+", und wählen Sie dann Spielobjekttag aus.

Die Optionen für diese Bedingung ähneln den Optionen für Game Object Name.

Hinweis: Beim Tagvergleich wird die Groß-/Kleinschreibung beachtet.

WICHTIG: Mit Unity können Sie benutzerdefinierte Tags erstellen, aber Sie können keine benutzerdefinierten Tags in Mesh hochladen. Sie müssen eines der vordefinierten Tags auswählen, die Unity bereitstellt.

So filtern Sie nach Körpern basierend auf ihrer Masse:

  1. Klicken Sie auf die Dropdownliste Textfilter "+", und wählen Sie dann Starrkörpermasse aus.
  2. Geben Sie die minimalen und maximalen Massewerte ein, die ein GameObject aufweisen muss, um betroffen zu sein.

Wichtig: Es wird empfohlen, dass Sie zu keinem Zeitpunkt mehrere instance dieser Bedingung aktiv haben. Sie können alle potenziellen GameObjects in einem einzelnen Min/Max-Bereich unterbringen.

So filtern Sie nach Textkörpern basierend auf ihrem GameObject-Stammobjekt:
Angenommen, Sie haben ein GameObject-Stammobjekt namens "Robot1" in Ihrer Szene. Robot1 verfügt über zahlreiche Kinderobjekte – Arme, Beine usw. – und diese haben ihre eigenen untergeordneten Objekte. Sie möchten, dass Robot1 und jedes gameObjects in seiner Hierarchie von der Komponente beeinflusst werden.

  1. Klicken Sie auf die Dropdownliste Textfilter "+", und wählen Sie dann Stammspielobjekt aus.
  2. Führen Sie einen der folgenden Schritte aus:
  • Ziehen Sie das GameObject aus der Hierarchie , und legen Sie es dann im Feld Stammspielobjekt ab.

    Oder

  • Klicken Sie im Feld Stammspielobjekt auf die runde Schaltfläche ...

    ___

    … Suchen Sie dann im Fenster GameObject auswählen nach GameObject, das Sie hinzufügen möchten, und doppelklicken Sie dann in der resultierenden Liste auf den Namen des GameObject.

    ___

Beachten Sie, dass in diesem Beispiel drei Roboter in der Szene vorhanden sind: Robot1, Robot2 und Robot3. Wenn Sie möchten, dass alle Roboter betroffen sind, können Sie eine Game Object Name-Bedingung hinzufügen, die sich auf alle Objekte auswirkt, mit dem Text "Robot" an einer beliebigen Stelle im Namen.

___

Wichtig: Es wird empfohlen, dass Sie zu keinem Zeitpunkt mehrere instance dieser Bedingung aktiv haben. Dies kann zu Konflikten führen.

Filtern mit mehreren Bedingungen

Sie können mehr als einen Filter in Ihrer Bedingung haben. Angenommen, Sie möchten nur größere oder schwerere Roboter – solche mit einem höheren Mass-Wert – von der Komponente beeinflusst werden. Sie können nach GameObject-Namen suchen, die "Robot" enthalten und einen Mindestmassewert von 100 aufweisen:

___

Hinweis: Wenn mehrere Bedingungen definiert sind, muss ein Text mit allen Bedingungen übereinstimmen, die von der Komponente betroffen sind.

Optionen im Dreipunktmenü

Jede Bedingung verfügt über ein 3-Punkt-Menü mit mehreren Optionen.

___

Bedingung nach oben verschieben: Verschiebt die Bedingung in der Liste Betroffene Textkörper um eine Position höher.

Bedingung nach unten verschieben: Verschiebt die Bedingung in der Liste Betroffene Textkörper um eine Position nach unten.

Löschbedingung: Entfernt die Bedingung aus der Liste Betroffene Textkörper .

So machen Sie eine Bedingung aktiv oder inaktiv: Aktivieren oder deaktivieren Sie das Kontrollkästchen links neben dem Bedingungsnamen.

Nächste Schritte