Форум

Анимация прозрачности объектов с одинаковым материалом в разное время

02 ноября 2016 13:06
Здравствуйте. У меня есть объёмный проект на BGE, который я хочу портитовать под Blend4web. В проекте объекты часто плавно исчезают и появляются в нужное время по таймлайну. В сцене как правило не одна сотня объектов и многие из них имеют одинаковый материал, при этом скрываться должна только часть из них. В BGE это реализовывалось так:
1) включение параметра Object Color во вкладке материалов
2)анимация альфы параметра Object color во вкладке объекта


Вопрос: как эту задачу наименьшей кровью можно решить в Blend4web не назначая на каждый объект отдельный материал?
02 ноября 2016 14:55
Вопрос: как эту задачу наименьшей кровью можно решить в Blend4web не назначая на каждый объект отдельный материал?
Какими средствами вы планируете пользоваться для изменения параметров материала: нодовой логикой или средствами API и написанием JavaScript кода?
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
02 ноября 2016 15:02
Хотелось бы нодами)
02 ноября 2016 15:41
Хотелось бы нодами)
Именно плавно в данный момент можно только используя нодовые материалы использовав примерно такой сетап с нодой Value поданой в Alpha канал ноды Output. И в дальшейшем использовав ноду Set Shader Node Param изменять этот Value c 1 до 0. Нода Set Shader Node Param обращается к материалу через имя его объекта, поэтому прозрачность объекта будет изменена именно на этом объекте, а материал для всех объектов может быть один.


А с какой целью вам такой сетап? Может можно обойтись другими средствами? Например если нужно прятать объект по отдалении то можно воспользоваться настройкой LODов, или же Hide Show нодами. Дело в том что если вы измените прозрачность материала на объекте он всё еще будет рендерится на сцену, это снизит производитлеьность сцены.
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
02 ноября 2016 16:25
Ну, допустим у нас есть интерактивное справочное приложение по демонтажу определенного оборудования. При нажатии на определенный элемент интерфейса начинается анимация: отвёртка откручивает крепеж, крепеж поэлементно вылетает с места крепления и исчезает. То есть исчезновение должно произойти в определенный момент времени относительно проигрываемой анимации. Круто если бы можно было бы анимировать параметр прозрачности в NLA, как в случае с object color.
02 ноября 2016 16:51
Круто если бы можно было бы анимировать параметр прозрачности в NLA, как в случае с object color.
Подготовил для вас пример как это лучше всего реализовать.
Первая нода Play Animation проигрывает экшн объекта, вторая экшн материала, далее нода Hide Object прячет объект что бы он не рендерился на сцене для оптимизации. Обращение идет через имя объекта поэтому на всех объектах можно использовать один и тот же материал.

bolt_example.blend
Blend4Web и всё такое. Тридешу тридэ, моделю модели.
02 ноября 2016 19:27
Большое спасибо за оперативную помощь
03 ноября 2016 12:43
Чтобы не плодить темы, спрошу здесь. Можно ли посредством нодовой логики округлить число с плавающей точкой до целого. Или если нет такой возможности, можно ли взять переменную, созданную в редакторе логики, преобразовать скриптом и вернуть значение обратно в редактор?
03 ноября 2016 12:59
Чтобы не плодить темы, спрошу здесь. Можно ли посредством нодовой логики округлить число с плавающей точкой до целого. Или если нет такой возможности, можно ли взять переменную, созданную в редакторе логики, преобразовать скриптом и вернуть значение обратно в редактор?
Здравствуйте!

Встроенной функции для округления в нодовой логике нет, через скрипт можно с помощью ноды JS_Callback.
На англоязычном форуме была тема по ее использованию: https://www.blend4web.com/en/forums/topic/1988/
Команда Blend4Web - разработчик
Twitter
LinkedIn
09 ноября 2016 12:22
Снова здравствуйте. Наткнулся на проблему сортировки прозрачных объектов. Не могу понять что делаю не так. Есть ли возможность это поправить?

 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.