Имеется карта, на ней кликабельный gameObject. Когда я нажимаю на него у меня появляется подсказка (ui элемент). Мне необходимо чтобы подсказка во время нахождения камеры над/рядом gameObject'ом находилась рядом с объектом. Но когда камера уходит от объекта, то ui элемент сдвигается к границе и остается там, до того момента когда gameObject не появится в кадре снова и подсказка не "прилипнет" к нему.. Т.е. ui элемент должен быть рядом с краем, до того пока не объект не появится в кадре, независимо от передвижения камеры.
Прошу подкинуть идей реализации или подсказок в какую сторону копать.
Можно проверить ГО Renderer.isVisible
https://docs.unity3d.com/ScriptReference/Renderer-isVisible.html
Если да, то находишь координаты ГО на экране
https://docs.unity3d.com/ScriptReference/Camera.WorldToScreenPoint.html
а затем перемещаешь туда свою подсказку. И держишь ее там пока ГО виден(с движением камеры нужно обновлять и позицию подсказки).
Если нет, то двигаешь подсказку к границе.
Думаю, что стоит копать в сторону OnBecameInvisible(), OnBecameVisible(), а также в сторону Screen, а точнее в сторону его атрибутов height, width, возможно сразу resolution.
То есть в Update()
при определённом условии вызывать подсказку, а в OnBecameVisible()
, OnBecameInvisible()
проверять показывается ли сейчас подсказка, и если да, то задавать ей расположение относительно размера экрана, например (ну или найти центр и относительно него задавать расположение).
А, вообще, я бы очень рекомендовал ознакомиться с UI, введённым в версии 4.6. У Unity есть прекрасный раздел Learn, в котором есть раздел обучающие материалы (tutorials). Тут можно найти уроки по UI.
Дело в том, что был введён Canvas (холст), который позволяет настроить расположение UI элементов на себе относительно камеры и выбрать как они будут вести себя: фиксировано располагаться, растягиваться вместе экраном и т.д. Посмотрите уроки, рекомендую. Ну или загляните в документацию
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно для уравнения написать отделение корней, часть написал, но все равно не правильно, помогите плиз, не пойму что написать
Доброго времени суток! Есть две таблицы customers с полями id_сustomer, last_name и тд (не имеет значения), и есть таблица orders c полями id_order, id_customer и тд
Есть экземпляр класса в другом потоке, это сервер который имеет изменяющийся список клиентовКак привязать этот список клиентов к компоненту...