Вопрос - ответ
04 марта 2016 11:07
05 марта 2016 13:24
Всем привет!
scenes.pick_object работает 0.3-0.5сек (достаточно большая задержка, т.е. клик на меше и только через пол секунды отклик: очень и очень заметно для пользователя и критично долго, все делается в памяти ведь, чтения с диска нет).
От чего зависит скорость pick_object? Может надо поменять немного алгоритм поиска объекта, по которому кликнули?
Ведь, как выяснил из-за этого и тормозит в том числе перемещение объекта мышью по сцене (создавал отдельную тему, потом удалил, решив, что это железо, но железо довольно мощное ж).
Так как в on_mouse_move я через pick_object тоже проверяю, над каким именно мешем находится перетаскиваемый объект (при этом pick_object сам по себе конечно не подходит для этого, т.к. он выдает как раз сам перемещаемый объект и только во время запаздывания перемещаемого меша от курсора выдает другой меш). Т.е. мне надо самому видимо, создать массив, в котором хранить координаты мешей (они проостой формы) на сцене и в онмаусмув искать по массиву, а не через pick_object. НО pick_object все равно работает медленно к сожалению (просто даже для выбора объекта пол секунды - это долго )
При этом, если отключить тени, то pick_object дает приемлемый отклик 0.03сек, то есть в 10! раз быстрее, как минимум. Как могут включенные тени влиять на pick_object ?
И еще вопрос. Можно ли как-то ограничить просчет теней по глубине/расстоянию? То есть может ли тормозить сцена из-за просчета теней потому например, что от меша, который отбрасывает тени идет просчет в сторону всех мешей, которые могут принимать тени, а между тем реально тень ложится только на 1% мешей сцены? Но вряд ли так, наверно ж просчет идтет от источника света по каждому полигону пока не ляжет на какой-либо меш.
scenes.pick_object работает 0.3-0.5сек (достаточно большая задержка, т.е. клик на меше и только через пол секунды отклик: очень и очень заметно для пользователя и критично долго, все делается в памяти ведь, чтения с диска нет).
От чего зависит скорость pick_object? Может надо поменять немного алгоритм поиска объекта, по которому кликнули?
Ведь, как выяснил из-за этого и тормозит в том числе перемещение объекта мышью по сцене (создавал отдельную тему, потом удалил, решив, что это железо, но железо довольно мощное ж).
Так как в on_mouse_move я через pick_object тоже проверяю, над каким именно мешем находится перетаскиваемый объект (при этом pick_object сам по себе конечно не подходит для этого, т.к. он выдает как раз сам перемещаемый объект и только во время запаздывания перемещаемого меша от курсора выдает другой меш). Т.е. мне надо самому видимо, создать массив, в котором хранить координаты мешей (они проостой формы) на сцене и в онмаусмув искать по массиву, а не через pick_object. НО pick_object все равно работает медленно к сожалению (просто даже для выбора объекта пол секунды - это долго )
При этом, если отключить тени, то pick_object дает приемлемый отклик 0.03сек, то есть в 10! раз быстрее, как минимум. Как могут включенные тени влиять на pick_object ?
И еще вопрос. Можно ли как-то ограничить просчет теней по глубине/расстоянию? То есть может ли тормозить сцена из-за просчета теней потому например, что от меша, который отбрасывает тени идет просчет в сторону всех мешей, которые могут принимать тени, а между тем реально тень ложится только на 1% мешей сцены? Но вряд ли так, наверно ж просчет идтет от источника света по каждому полигону пока не ляжет на какой-либо меш.
05 марта 2016 14:05
Привет всем. Вопрос. Делаю стандартную сцену с кубом силами PM-а. Там пытаюсь реализовать трассировку лучей двумя коммандами, как в поставляемом примере, прям буква в букву:
… и ниже
Но получаю два сообщения об ошибках js:
calc_ray: Non-compatible camera
append_ray_test_ext: No physics for object Camera
Галку "Enable Physics" я поставил. Куда рыть? Заранее спасибо.
m_cam.calc_ray(m_scenes.get_active_camera(), x, y, to);
… и ниже
var id = m_phy.append_ray_test_ext(obj_src, from, to, "ANY", ray_test_cb, true, false, true, true);
Но получаю два сообщения об ошибках js:
calc_ray: Non-compatible camera
append_ray_test_ext: No physics for object Camera
Галку "Enable Physics" я поставил. Куда рыть? Заранее спасибо.
show must go on
05 марта 2016 16:02
05 марта 2016 16:31
Ну я так предположил по мотивам темки, у меня такое же сообщение вроде вылезало.
Значит, прицепить тестовый пример, где это воспроизводится, а там может пока будешь делать и сам поймешь что не так )
Значит, прицепить тестовый пример, где это воспроизводится, а там может пока будешь делать и сам поймешь что не так )
05 марта 2016 16:45
Привет всем ещё раз.
Прикрепил
1. blend — файл(на всякий случай и json)
2. HTML-ку
3. JS, в котором пытаюсь вызвать calc_ray и append_ray_test_ext и получаю ошибку
calc_ray: Non-compatible camera
append_ray_test_ext: No physics for object Camera
ПРошу посмотреть, и подсказать, что я делаю не так.
Прикрепил
1. blend — файл(на всякий случай и json)
2. HTML-ку
3. JS, в котором пытаюсь вызвать calc_ray и append_ray_test_ext и получаю ошибку
calc_ray: Non-compatible camera
append_ray_test_ext: No physics for object Camera
ПРошу посмотреть, и подсказать, что я делаю не так.
show must go on
05 марта 2016 17:52
ares_495, попробовал открыть документацию
Там пишут:
- в настройках окружения "Enable Physics" (ну это есть)
- на камере на закладке Physics надо включить опцию "Enable Physics"
- во вкладке Material должна быть активирована панель Special: Collision (сделал это для материалов шара куба)
Все заработало вроде. Поправленный пример приложил. Запуск прямо из папки.
Спасибо за вопрос, возможно, тоже пригодится, а то через маусмув таскать меши как-то медленно получается, может так быстрее будет :) Правда ray_test_cb какая-то адская функция, с кучей вызовов api )
Там пишут:
- в настройках окружения "Enable Physics" (ну это есть)
- на камере на закладке Physics надо включить опцию "Enable Physics"
- во вкладке Material должна быть активирована панель Special: Collision (сделал это для материалов шара куба)
Все заработало вроде. Поправленный пример приложил. Запуск прямо из папки.
Спасибо за вопрос, возможно, тоже пригодится, а то через маусмув таскать меши как-то медленно получается, может так быстрее будет :) Правда ray_test_cb какая-то адская функция, с кучей вызовов api )
05 марта 2016 18:21
Добрый день, решить залить проект на GitHub, посмотрел "Публикация Blend4Web контента на GitHub Pages", но когда я ввожу "git push -u origin master" мне выдаёт "Username for 'https://github.com': " я ввожу свой username, он выдаёт "Password for 'https://мой username@github.com':" и здесь я не могу ничего написать, потому что клава блокируется…