Форум

Отключение outline, если объект невидим

09 апреля 2018 15:01
Привет всем! Такая ситуация - реализован эффект подсветки объекта при наведении методом enable_mouse_hover_outline() https://prnt.sc/j2u2z1
Однако, объект подсвечивается будучи заслоненным https://prnt.sc/j2u2am
Есть ли возможность убирать подсветку, если объект не видим на экране?. Спасибо за ответы!
10 апреля 2018 12:12
Сама по себе фукнция не сложная и использует только внешний API, поэтому я бы скопировал код функции и исправил бы проблему следующим образом:
1) Поставил бы на планете флаг Selectable
2) Там где производится функция pick_object (в функции objects_outline) проверял бы имя объекта. Если это планета, то не изменял бы подсветку, в остальных случаях менял бы.

Суть заключается в том, что если планета Selectable, то этот невидимый объект она будет загораживать и при выборе объектов.
Александр (команда Blend4Web)
twitter
11 апреля 2018 00:41
Вариант, когда планета Selectable не подходит. Нарушается работа переключателя между хостпотами http://prntscr.com/j3jdfg Клик на хостпоте сначала делает невидимыми все ранее показанные аннотации и показывает соответствующую. Клик на планете (в случае, если она Selectable) убирает ранее показанную аннотацию, а так не нужно. При клике на планете ничего изменяться не должно. Ранее показанная аннотация должна оставаться видимой. Мой код дилетантский, ничего лучше придумать не смог, поэтому буду признателен за любую практическую помощь.
11 апреля 2018 12:36
Клик на планете (в случае, если она Selectable) убирает ранее показанную аннотацию, а так не нужно. При клике на планете ничего изменяться не должно. Ранее показанная аннотация должна оставаться видимой. Мой код дилетантский, ничего лучше придумать не смог, поэтому буду признателен за любую практическую помощь.

А в чем проблема обработать этот исключительный случай с кликом по планете? Точно так же проверить имя выбранного объекта. У вас вся логика на JS или есть еще на нодах?
Александр (команда Blend4Web)
twitter
11 апреля 2018 14:07
Вся логика на js.
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.