Вопрос - ответ

21 февраля 2016 02:46 #7597

Есть отдельные попытки рейтрейсинга на webgl, но они нежизнеспособны в плане массового использования, это как попытки сделать летающий скейтборд из фильма Back to the Future.
http://www.lexus-int.com/amazinginmotion/slide/?gclid=CMiq59XCh8sCFYHVcgodw1kCxA забавно, что презентовали его на следующий день после Вашего сообщения (03 авг - 04 авг). Эх, за пол года не сильно продвинулся, HTML+CSS, только подобрался к JS, о webGL вообще молчу, развлекаюсь с SVG. Будьте добры, поделитесь линками на примеры рейтрейсинга на webgl!
21 февраля 2016 15:28 #7598
Ничего, скоро продвинетесь. Упорство и труд, все перетрут.
http://antipark.ru/dopusk-sro-stroiteley-vstuplenie-np.html
21 февраля 2016 23:57 #7609
Всем привет. Вернулся к старому вопросу по поводу крайне медленной отрисовки сцены.
Выяснил, что все дело в тенях.
Т.е. если в рендере отключить генерацию теней, то все хорошо работает, объекты можно перемещать по сцене более менее без лагов. Но если включить генерацию теней, то начинаются жуткие тормоза как при изначальной отрисовке сцены, так и большая задержка по отклику на реакцию мыши (перетаскивание объектов).
Но без теней сцена резко теряет вид.

На сцене
- две источника Hemi, у которых отключена генерация теней
- освещение мира (генерация теней включена).
- и порядка 20 объектов, которые:
- отбрасывают тень
- сами не принимают тени и отражения (вообще отражения практически не влияют на скорость отрисовки)
- каждый из 20 объектов имеет 3 тыс. полигонов.
- все эти 20 объектов отбрасывают тени просто на плоскость, ну и выделяется рельеф самих объектов.

Вопрос. Что можно сделать с тенями, чтобы они были и чтобы работало не так медленно?
22 февраля 2016 05:36 #7611

Ответ на сообщение пользователя Grohot
Всем привет. Вернулся к старому вопросу по поводу крайне медленной отрисовки сцены.
Выяснил, что все дело в тенях.
Т.е. если в рендере отключить генерацию теней, то все хорошо работает, объекты можно перемещать по сцене более менее без лагов. Но если включить генерацию теней, то начинаются жуткие тормоза как при изначальной отрисовке сцены, так и большая задержка по отклику на реакцию мыши (перетаскивание объектов).
Но без теней сцена резко теряет вид.

На сцене
- две источника Hemi, у которых отключена генерация теней
- освещение мира (генерация теней включена).
- и порядка 20 объектов, которые:
- отбрасывают тень
- сами не принимают тени и отражения (вообще отражения практически не влияют на скорость отрисовки)
- каждый из 20 объектов имеет 3 тыс. полигонов.
- все эти 20 объектов отбрасывают тени просто на плоскость, ну и выделяется рельеф самих объектов.

Вопрос. Что можно сделать с тенями, чтобы они были и чтобы работало не так медленно?

Ya dumaiu narisovat samim teni )))
Акылбек
22 февраля 2016 08:06 #7614
Ответ на сообщение пользователя Grohot
Вопрос. Что можно сделать с тенями, чтобы они были и чтобы работало не так медленно?
Попробуйте поиграться с настройками теней.
Например, уменьшить resolution.
Включить каскадные тени и настроить дальность прорисовки конкретно для вашей сцены.

P.S. Если используете SSAO, советую его отключить а карты затенения запечь в текстуру.

Ответ на сообщение пользователя Акылбек
Ya dumaiu narisovat samim teni )))
Как я понял у него объекты перемещаются по сцене, а этот вариант больше подходит для статичных объектов и источников освещения.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
23 февраля 2016 00:21 #7635
Попробуйте поиграться с настройками теней.
Например, уменьшить resolution.
Включить каскадные тени и настроить дальность прорисовки конкретно для вашей сцены.
Разрешение менять пробовал. Не помогло.
Ощутимо помогло в комплексе:
1 - изменил тип камеры (была Target, поставил статичную)
2 - уменьшил число полигонов мешей (в среднем каждый объект был порядка 3000 полигонов)
уменьшил в среднем до 500. Таких объектов порядка 50 штук на сцене.

Стало пошустрее, но при этом ощутимо теряется резкость, чистота линий.
Возможно, ли это как-то выправить свойствами материала или каким-нибудь запеканием нормалей от высокополигональной модели не знаю. Может кто-то подсказать по этому поводу?
В документации про запекание нормалей не нашел.

Возникло еще несколько мелких вопросов:
1. по scenes.set_outline_intensity. Возможно ли регулировать как бы жесткость выделения (т.е. например, чтобы меш выделялся не размытым свечением, а более четким контуром)

2. возможно ли с помощью m_scenes.pick_object как-то определить объект над, которым находится мышь, при условии, что нужный объект перекрывается другим объектом? (т.е. клик идет на одном объекте, а обратиться надо к обратиться надо к объекту, который за ним или например, мы тащим объект и надо выделять объекты, над которыми мы его тащим).

3. В примере объекты таскаются мышью с большой инерционностью, т.е. не успевают за мышью.
Видимо, сам по себе js + отрисовка не успевают. Возможно ли это как-то решить особенно, если объект перемещается в одной плоскости, без большой перспективы? Например, на время перемещения перемещать не сам меш, а как бы его скрин, а на mouseup снова отрисовать объект :) Или может есть более гуманные варианты?
24 февраля 2016 07:08 #7653
Здравствуйте. После сборки в проекта в менеджере запускается сцена без меню плеера. Как добавить меню веб плеера, с кнопками для выбора качества, вращения сцены
24 февраля 2016 07:24 #7654
И еще один вопрос. Пытаюсь из менеджера проектов запустить сцену с прелоадером и все никак иже несколько суток сижу и ничего картинка висит и все . Загрузки нет, простой новогодний прелоадер. полазил на форму находил примеры делал все по ним и не вкакую. Запускаю пример через сервер все работает, запускаю у себя ничего не работает. Как правильно прописать путь в js к json файлу когда проект находится в менеджере?
24 февраля 2016 11:19 #7658
Добрый день.

Здравствуйте. После сборки в проекта в менеджере запускается сцена без меню плеера.

Вы написали своё приложение и после сборки в нём отсутствует интерфейс, который был в приложении до сборки?

Как добавить меню веб плеера, с кнопками для выбора качества, вращения сцены

В Webplayer был создан интерфейс в html-файле, потом на JavaScript была написана логика для него (обработчики нажатия на кнопки, анимация кнопок)
Разработчик Blend4Web
24 февраля 2016 11:29 #7659

И еще один вопрос. Пытаюсь из менеджера проектов запустить сцену с прелоадером и все никак иже несколько суток сижу и ничего картинка висит и все . Загрузки нет, простой новогодний прелоадер. полазил на форму находил примеры делал все по ним и не вкакую. Запускаю пример через сервер все работает, запускаю у себя ничего не работает. Как правильно прописать путь в js к json файлу когда проект находится в менеджере?

Как вы запускаете свой пример? Через сервер (с использованием менеджера проектов)? Или локально? Дело в том, что по умолчанию браузер не настроен на загрузку локальных ресурсов, поэтому мы рекомендуем создавать свои проекты при помощи менеджера проектов, что позволяет избежать вопросов, касающихся загрузки локальных ресурсов.

Путь к json лучше всего прописывать следующи образом:
var m_cfg    = require("config");
var path = m_cfg.get_std_assets_path() + "/your_app_name/your_scene_name.json";

m_cfg.get_std_assets_path() вернёт путь до директории /assets/

Если у вас не загружается сцена, попробуйте открыть консоль браузера (обычно она открывается на F12) и посмотрите, пожалуйста, что браузер вам сообщает. Можете также сделать скриншот и выложить его здесь, если не будет ясно в чём дело
Разработчик Blend4Web
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.