Hidden и Do Not Render как управлять из API (если можно)?

25 октября 2016 17:40
Как управлять из API этими свойствами ренедера "на лету" (конечно если можно) ?

т.е. в одном кадре объект рендерится а в другом уже нет итд…
для облегчения сцены или для еще каки то других тех целей

т.к. тут https://www.blend4web.com/api_doc/module-objects.html
ни чего не нашел (

* Rendering Properties > Hidden

Если это свойство активировано, объект будет невидим при запуске сцены.

* Rendering Properties > Do Not Render

Отключить рендеринг объекта (например, вспомогательный объект физики).
Денис
25 октября 2016 17:54
Как управлять из API этими свойствами ренедера "на лету" (конечно если можно) ?

т.е. в одном кадре объект рендерится а в другом уже нет итд…
для облегчения сцены или для еще каки то других тех целей

т.к. тут https://www.blend4web.com/api_doc/module-objects.html
ни чего не нашел (
Добрый день!

m_scenes.hide_object
m_scenes.show_object
Команда Blend4Web - разработчик
25 октября 2016 18:18
Ответ на сообщение пользователя Константин Хомяков
Добрый день!

m_scenes.hide_object
m_scenes.show_object

а… в сцене ))) понял.. , а каие то ограничения есть по использованию внутри идущего рендера?
и правильно ли я понимаю про то, что скрытый объект не рендерится?

и тогда проясните по второй функции "Do Not Render"
Денис
25 октября 2016 19:53
что скрытый объект не рендерится?
Тут есть нюанс.
Он только скрытый. Без галки на объекте "Do Not Render" просмотрщик сцены например все равно считает треугольники всех скрытых объектов. Не знаю почему так.
26 октября 2016 04:49
Ответ на сообщение пользователя Winter_Fox
Тут есть нюанс.
Он только скрытый. Без галки на объекте "Do Not Render" просмотрщик сцены например все равно считает треугольники всех скрытых объектов. Не знаю почему так.


ну и я вот и спрашиваю, важно же не только фиктивно скрыть , но и не тратить ресурсы на такой объект .
просим разъяснений от разработчиков. как правиьлно применять эти функции.
Спасибо.
Денис
26 октября 2016 10:26
есть как бы 3 уровня:
hidden - делает объект невидимым при старте, но с возможностью его включить в любой момент, поэтому для него генерируются необходимые буферы
do not render - объект никогда не будет виден, поэтому ресурсы видеокарты на него не тратятся, однако он присутствует в сцене как EMPTY, т.е. имеет позицию/поворот, может участвовать в констрейнтах и т.д.
do not export - объекта в сцене нет
Команда Blend4Web
26 октября 2016 14:38
Ответ на сообщение пользователя Иван Любовников
есть как бы 3 уровня:
hidden - делает объект невидимым при старте, но с возможностью его включить в любой момент, поэтому для него генерируются необходимые буферы
do not render - объект никогда не будет виден, поэтому ресурсы видеокарты на него не тратятся, однако он присутствует в сцене как EMPTY, т.е. имеет позицию/поворот, может участвовать в констрейнтах и т.д.
do not export - объекта в сцене нет

т.е. получается, что времнно исключить объект из сцены нельзя, без того чтобы на него терялись ресурсы?
или же hidden исключает объект из сцены и он не просчитывается пона не будет включен? и он не влияет на картинку в сцене как-то его нет?
Денис
26 октября 2016 14:42
т.е. получается, что времнно исключить объект из сцены нельзя, без того чтобы на него терялись ресурсы?
если только динамической загрузкой/выгрузкой

или же hidden исключает объект из сцены и он не просчитывается пона не будет включен? и он не влияет на картинку в сцене как-то его нет?
он просто не рендерится, т.е. на это время не тратится, но он занимает память на GPU и может обрабатываться на js движком в тех или иных ситуациях, но тем не менее отключение рендеринга уже сильно скажется
Команда Blend4Web
26 октября 2016 18:43
Ответ на сообщение пользователя Иван Любовников
если только динамической загрузкой/выгрузкой


он просто не рендерится, т.е. на это время не тратится, но он занимает память на GPU и может обрабатываться на js движком в тех или иных ситуациях, но тем не менее отключение рендеринга уже сильно скажется

попробую сделать замеры , спаисбо
Денис
09 декабря 2016 00:52
не стану создавать новую тему .. продолжаю ковыряться с управлением материалами из АПИ
вот в консоли вижу такие ошибки:

"B4W ERROR: set_nodemat_value() is deprecated, use material.set_nodemat_value() instead."

КОД который генерит эти ошибки:
	if ((ambMode)&&(!isHighColorMode)){m_obj.set_nodemat_value(m_scs.get_object_by_name("ss"), ["material.SectorPaint","Value.clr"], 1);}
	else{m_obj.set_nodemat_value(m_scs.get_object_by_name("ss"), ["material.SectorPaint","Value.clr"], 0);}
	m_obj.set_nodemat_value(m_scs.get_object_by_name("ss"), ["material.SectorPaint", "Value"], s);


что не так вызываю , не пойму ( ???


ОЧЕПЯТАЛСЯ )) и удивиляюсь … ИСПРАВИЛ САМ:
	if ((ambMode)&&(!isHighColorMode)){m_mat.set_nodemat_value(m_scs.get_object_by_name("ss"), ["material.SectorPaint","Value.clr"], 1);}
	else{m_mat.set_nodemat_value(m_scs.get_object_by_name("ss"), ["material.SectorPaint","Value.clr"], 0);}
	m_mat.set_nodemat_value(m_scs.get_object_by_name("ss"), ["material.SectorPaint", "Value"], s); //Value.clr



АКТУАЛЬНО:


Еще вижу кучу таких варнингов в ФФоксе :

"
Error: WebGL: texImage2D: Incurred CPU-side conversion, which is very slow. b4w.min.js:587:55
Error: WebGL: texImage2D: Incurred CPU pixel conversion, which is very slow. b4w.min.js:587:55
Error: WebGL: texImage2D: Chosen format/type incurred an expensive reformat: 0x1908/0x1401
"
и что бы это могло значить?
Денис
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.