Установка условий для воздействия на жесткие тела
В пользовательских интерфейсах компонента Сетка и в этой статье мы используем "body/bodies" в качестве сочетания клавиш для "Жесткое тело/жесткие тела".
Некоторые компоненты имеют свойство с именем Затронутые тела ...
... или Пострадавшие тела для столкновения.
Этот параметр создает только те тела, которые отвечают определенным предварительным требованиям, затронутым компонентом (в случае "Затронутые тела") или затронутыми при столкновении с телом, к которому прикреплен компонент (в случае "Пострадавшие тела для столкновения"). Существует четыре main предварительных условия:
- Имя объекта игры
- Тег объекта игры
- Жесткая масса
- Корневой игровой объект
Чтобы просмотреть предварительные условия, щелкните раскрывающийся список знак "плюс" ("+").
Чтобы понять первое предусловия , Имя объекта игры, предположим, что в сцене есть игра dart и у вас есть множество объектов dart GameObjects с именами Dart01, Dart02, Dart03 и т. д. Вы хотите, чтобы любой дартс, но только дартс, был затронут компонентом, поэтому вы отфильтруете любой GameObject, который начинается с четырех букв "Dart".
Щелкните раскрывающийся список Фильтр текста "+" и выберите Имя объекта игры.
В текстовом поле рядом с полем Начинается с введите "Dart".
Вы не ограничены только использованием starts with. Вы можете отфильтровать точные имена или только имена, заканчивающиеся определенными буквами, и многое другое. Чтобы просмотреть все параметры, щелкните раскрывающийся список Начинается с .
Примечания
Наличие нескольких экземпляров условия имени игрового объекта может иметь смысл в определенных ситуациях, например для фильтрации имен с заданным префиксом и заданным суффиксом.
В тексте учитывается регистр.
Чтобы отфильтровать тела по их тегу, выполните приведенные далее действия.
- Щелкните раскрывающийся список Фильтр текста "+" и выберите Тег объекта игры.
Параметры для этого условия аналогичны параметрам для параметра Имя объекта игры.
Примечание: Сравнение тегов учитывает регистр.
ВАЖНО: Unity позволяет создавать пользовательские теги, но вы не можете отправлять настраиваемые теги в Сетку. Необходимо выбрать один из предварительно определенных тегов, которые предоставляет Unity.
Чтобы отфильтровать тела на основе их массы, выполните приведенные далее действия.
- Щелкните раскрывающийся список Фильтр текста "+" и выберите Массив жесткого тела.
- Введите минимальное и максимальное значения массы, которые должен иметь GameObject, чтобы его можно было затронуть.
Важно: Рекомендуется, чтобы в любое время не было активных экземпляров этого условия. Вы можете разместить все потенциальные объекты GameObject, используя один диапазон min/max.
Чтобы отфильтровать тела по корневому объекту GameObject, выполните приведенные далее действия.
Предположим, что в вашей сцене есть корневой gameObject с именем "Robot1". У Робота1 есть многочисленные дочерние объекты — руки, ноги и т. д., и у них есть собственные дочерние объекты. Вы хотите, чтобы компонент На Robot1 и любой из объектов GameObjects в иерархии влиял компонент.
- Щелкните раскрывающийся список Фильтр текста "+" и выберите Корневой игровой объект.
- Выполните одно из следующих действий.
Перетащите GameObject из иерархии , а затем перетащите его в поле Корневой игровой объект .
-или-
Нажмите круглую кнопку в поле Корневой игровой объект ...
… Затем в окне Select GameObject найдите GameObject, который вы хотите добавить, а затем в полученном списке дважды щелкните имя GameObject.
Обратите внимание, что в этом примере в сцене есть три робота: Robot1, Robot2 и Robot3. Если вы хотите, чтобы все роботы были затронуты, вы можете добавить условие Имя объекта игры , которое влияет на все объекты с текстом "Робот" в любом месте в имени.
Важно: Рекомендуется, чтобы в любое время не было активных экземпляров этого условия. Это может привести к конфликтам.
Фильтрация с несколькими условиями
В условии может быть несколько фильтров. Например, предположим, что вы хотите, чтобы компонент влиял только на более крупных или тяжелых роботов ( с более высоким значением Массы). Вы можете найти имена GameObject, содержащие слово "Робот" с минимальным массовым значением 100:
Примечание: Если определено несколько условий, тело должно соответствовать всем условиям, на которые влияет компонент.
Параметры в меню с тремя точками
Каждое условие имеет 3-точечное меню с несколькими параметрами.
Переместить условие вверх: Перемещает условие на одну позицию выше в списке Затронутые тела .
Переместить условие вниз: Перемещает условие на одну позицию ниже в списке Затронутые тела .
Условие удаления: Удаляет условие из списка Затронутые тела .
Чтобы сделать условие активным или неактивным, выполните приведенные далее действия. Установите или снимите флажок слева от имени условия.