Поделиться через


Установка условий для воздействия на жесткие тела

В пользовательских интерфейсах компонента Сетка и в этой статье мы используем "body/bodies" в качестве сочетания клавиш для "Жесткое тело/жесткие тела".

Некоторые компоненты имеют свойство с именем Затронутые тела ...

___

... или Пострадавшие тела для столкновения.

___

Этот параметр создает только те тела, которые отвечают определенным предварительным требованиям, затронутым компонентом (в случае "Затронутые тела") или затронутыми при столкновении с телом, к которому прикреплен компонент (в случае "Пострадавшие тела для столкновения"). Существует четыре main предварительных условия:

  1. Имя объекта игры
  2. Тег объекта игры
  3. Жесткая масса
  4. Корневой игровой объект

Чтобы просмотреть предварительные условия, щелкните раскрывающийся список знак "плюс" ("+").

___

Чтобы понять первое предусловия , Имя объекта игры, предположим, что в сцене есть игра dart и у вас есть множество объектов dart GameObjects с именами Dart01, Dart02, Dart03 и т. д. Вы хотите, чтобы любой дартс, но только дартс, был затронут компонентом, поэтому вы отфильтруете любой GameObject, который начинается с четырех букв "Dart".

  1. Щелкните раскрывающийся список Фильтр текста "+" и выберите Имя объекта игры.

  2. В текстовом поле рядом с полем Начинается с введите "Dart".

    ___

Вы не ограничены только использованием starts with. Вы можете отфильтровать точные имена или только имена, заканчивающиеся определенными буквами, и многое другое. Чтобы просмотреть все параметры, щелкните раскрывающийся список Начинается с .

___

Примечания

  • Наличие нескольких экземпляров условия имени игрового объекта может иметь смысл в определенных ситуациях, например для фильтрации имен с заданным префиксом и заданным суффиксом.

  • В тексте учитывается регистр.

Чтобы отфильтровать тела по их тегу, выполните приведенные далее действия.

  • Щелкните раскрывающийся список Фильтр текста "+" и выберите Тег объекта игры.

Параметры для этого условия аналогичны параметрам для параметра Имя объекта игры.

Примечание: Сравнение тегов учитывает регистр.

ВАЖНО: Unity позволяет создавать пользовательские теги, но вы не можете отправлять настраиваемые теги в Сетку. Необходимо выбрать один из предварительно определенных тегов, которые предоставляет Unity.

Чтобы отфильтровать тела на основе их массы, выполните приведенные далее действия.

  1. Щелкните раскрывающийся список Фильтр текста "+" и выберите Массив жесткого тела.
  2. Введите минимальное и максимальное значения массы, которые должен иметь GameObject, чтобы его можно было затронуть.

Важно: Рекомендуется, чтобы в любое время не было активных экземпляров этого условия. Вы можете разместить все потенциальные объекты GameObject, используя один диапазон min/max.

Чтобы отфильтровать тела по корневому объекту GameObject, выполните приведенные далее действия.
Предположим, что в вашей сцене есть корневой gameObject с именем "Robot1". У Робота1 есть многочисленные дочерние объекты — руки, ноги и т. д., и у них есть собственные дочерние объекты. Вы хотите, чтобы компонент На Robot1 и любой из объектов GameObjects в иерархии влиял компонент.

  1. Щелкните раскрывающийся список Фильтр текста "+" и выберите Корневой игровой объект.
  2. Выполните одно из следующих действий.
  • Перетащите GameObject из иерархии , а затем перетащите его в поле Корневой игровой объект .

    -или-

  • Нажмите круглую кнопку в поле Корневой игровой объект ...

    ___

    … Затем в окне Select GameObject найдите GameObject, который вы хотите добавить, а затем в полученном списке дважды щелкните имя GameObject.

    ___

Обратите внимание, что в этом примере в сцене есть три робота: Robot1, Robot2 и Robot3. Если вы хотите, чтобы все роботы были затронуты, вы можете добавить условие Имя объекта игры , которое влияет на все объекты с текстом "Робот" в любом месте в имени.

___

Важно: Рекомендуется, чтобы в любое время не было активных экземпляров этого условия. Это может привести к конфликтам.

Фильтрация с несколькими условиями

В условии может быть несколько фильтров. Например, предположим, что вы хотите, чтобы компонент влиял только на более крупных или тяжелых роботов ( с более высоким значением Массы). Вы можете найти имена GameObject, содержащие слово "Робот" с минимальным массовым значением 100:

___

Примечание: Если определено несколько условий, тело должно соответствовать всем условиям, на которые влияет компонент.

Параметры в меню с тремя точками

Каждое условие имеет 3-точечное меню с несколькими параметрами.

___

Переместить условие вверх: Перемещает условие на одну позицию выше в списке Затронутые тела .

Переместить условие вниз: Перемещает условие на одну позицию ниже в списке Затронутые тела .

Условие удаления: Удаляет условие из списка Затронутые тела .

Чтобы сделать условие активным или неактивным, выполните приведенные далее действия. Установите или снимите флажок слева от имени условия.

Дальнейшие действия