Форум

Создание полосок здоровья у обьетов

07 января 2016 13:03 #6291
Здравствуйте. Появилась задача сделать полоску здоровья возле объекта, как тут . Прямоугольник запихивать, думаю плохая идея, т.к. при движении камеры придется постоянно поворачивать его. Подскажите как можно реализовать? В примерах не нашел подходящего функционала.
08 января 2016 01:46 #6307
Зравствуйте!
Такой прямоугольник можно сделать с помощью сферического биллбоарда, привязанного к объекту. А перемещение полоски лучше реализовать с помощью нодового материала.
Команда Blend4Web
https://twitter.com/AlexKowel
08 января 2016 16:43 #6339
Подскажите а такой вопрос уже рассматривался кем-то? Может в каком-нибудь приложении есть аналогичный пример
08 января 2016 23:00 #6353
Добрый день. Для построения интерфейса в браузере всегда есть два пути:

Первый подход, предложенный Александром - привязывать биллборды к блендеровским объектам. О биллбордах можно почитать здесь (искать по слову billboard). Здесь важно обратить внимание, что биллбоард позиционируется в направлении оси -Y. Я прикрепил небольшой пример с таким подходом и с использованием нодового материала. Значения ноды Value должны лежать в пределах -1..1 (поскольку я использовал UV-координаты). Вам нужно будет управлять значением этой ноды через API. Для этого существуют соответствующие функции.

Второй вариант: использовать html-элементы по аналогии с тем, как сделано в "Сказе о Пятигоре". В этом уроке немного затронута тема интерфейса. Для достижения нужного результата такой метод можно скомбинировать с аннотациями. Документация по ним так же в разделе объект

Первый подход на данный момент является более приоритетным. Поэтому, несмотря на возможную сложность, я бы выбрал все-таки его, поскольку вариант 2 наверняка будет тормозить в случае большого количества юнитов на экране.
Разработчик Blend4Web
08 января 2016 23:26 #6360
Спасибо за столь развернутый ответ, буду смотреть, пробовать. Со вторым вариантом масса трудностей возникнет при движении камеры (зум, движение влево-вправо)
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.