Настройка видимости
Visible if — это функция, которая позволяет автоматически показывать или скрывать объект на экране в зависимости от заданных условий.
Это удобно, когда нужно управлять отображением элементов без ручного включения или выключения.
Условия видимости можно настраивать:
Кроме того, вы можете:
⚠️ Важно: показ или скрытие объекта работает только в BGE.
В дизайнере на сцене все объекты отображаются независимо от заданных условий.
Как установить условия видимости
Выберите объект, для которого хотите настроить отображение.
В правой панели «Редактировать объект» установите галочку «Виден если».
После этого станет доступна кнопка «Виден если», при нажатии на которую откроется окно настройки условий.
Окно настроек условия видимости
При нажатии на кнопку «Виден если» откроется окно в правой части экрана с двумя вкладками:
Объекты — позволяет задать условия на основе других объектов
DH — позволяет задать условия на основе значений из dh-путей
1. Установка условий видимости на основе другого объекта
На вкладке «Объекты» отображается список всех объектов на сцене с типами text, image и video (кроме самого целевого объекта).
Чтобы использовать объект в качестве условия:
Установите галочку рядом с нужным объектом — теперь целевой объект зависит от выбранного объекта
Справа от объекта иконка карандаша станет доступной — по ней можно настроить конкретное условие
Настройка условий
При нажатии на иконку карандаша открывается окно с настройками:
Заголовок — имя объекта, от которого зависит отображение целевого
Валидатор — тип условия (Равно, Не равно, Видимость)
Тип данных — Строка (по умолчанию) или Число
Условие — значение, которому должен соответствовать source или text объекта
Кнопка «Принять» — сохраняет указанные условия
Чтобы отписаться от объекта, просто снимите галочку рядом с его именем в списке.
✅ Пример №1:
Целевой объект виден, если зависимый объект равен "10"
Допустим, мы хотим, чтобы объект target_object отображался только тогда, когда объект dependent_text содержит значение "10".
Что нужно сделать:
target_object включаем чекбокс «Виден если».
Нажимаем кнопку «Виден если», чтобы открыть настройки.
Во вкладке «Объекты» находим и ставим галочку рядом с dependent_text.
Нажимаем на иконку карандаша справа от него, чтобы настроить условие.
В открывшемся окне настраиваем следующее:
Равно
Тип данных: Строка
Условие: 10
Нажимаем кнопку «Принять», чтобы сохранить.
Теперь нажимаем кнопку «Показать сцену», и убеждаемся, что target_object виден только тогда, когда у dependent_text значение "10".
✅ Пример №2:
Целевой объект виден, если виден зависимый объект
Допустим, мы хотим, чтобы объект target_object отображался только тогда, когда отображается объект dependent_text(Если у него не закрыт глазик и прозрачность не равна 0)
Что нужно сделать:
dependent_text устанавливаем следующие значения:
Видимость
Тип данных: *не имеет значение*
Условие: *не имеет значение*
Нажимаем кнопку «Принять», чтобы сохранить.
2. Установка условий видимости на основе dh-пути
На вкладке «DH» отображается список всех dh-путей, на которые вы уже подписались.
Если подписок пока нет, список будет пуст.
Добавление нового dh-пути
Чтобы добавить новый путь, нажмите кнопку «Добавить dh-путь» внизу окна. Откроется окно с настройками, аналогичное настройке условий для объектов.
Настройка условий для dh-пути
В открывшемся окне доступны следующие поля:
DH-путь — путь, на который вы хотите подписаться.
Валидатор — тип условия (например: Равно, Не равно).
Тип данных — Строка (по умолчанию) или Число.
Условие — значение, которому должен соответствовать source или text, полученное по dh-пути.
Кнопка «Принять» — сохраняет и добавляет условие в список.
После создания подписки:
dh-путь появится в списке вкладки «DH».
Вы можете включать или выключать подписку, устанавливая или снимая чекбокс рядом с путём.
Для редактирования условий нажмите на иконку карандаша.
Для удаления пути — нажмите на иконку мусорной корзины.
✅ Пример №3:
Целевой объект виден, если значение в dh-пути "/root/test_dh" НЕ равно "hide"
Что нужно сделать:
target_object включаем чекбокс «Виден если».
Нажимаем кнопку «Виден если», чтобы открыть настройки.
Во вкладке «DH» добавляем dh-путь "/root/test_dh" по кнопке "Добавить dh-путь"
В открывшемся окне настраиваем следующее:
/root/test_dh
Валидатор: Не равно
Тип данных: Строка
Условие: hide
Нажимаем кнопку «Принять», чтобы сохранить.
Когда срабатывает логика Visible if
Логика отображения/скрытия объекта по условиям Visible if срабатывает в следующих случаях:
— условия видимости проверяются при показе сцены в BGE При показе объекта
— если объект стал видимым, и от него зависят другие объекты, то они тоже автоматически покажутся или скроются в зависимости от заданных условий При использовании Instant Show
— если объект изменил своё состояние через Instant Show и от него зависят другие объекты, то они тоже автоматически покажутся или скроются в зависимости от заданных условий При получении данных по dh-пути
— если какой-либо объект подписан на данный dh-путь, то при обновлении значения произойдёт проверка условий и обновление видимости