Физика и Trimesh

28 марта 2015 14:00
Здравствуйте ещё раз)
У меня есть произвольный mesh с наклонными поверхностями который я импортировал из другого редактора. Но этот mesh распознаётся движком как "коробка". В документации прочитал что trimesh пока не поддерживается. Однако в физическом движке bullet вроде уже есть реализация этого.
Вопрос как выйти из этого положения, есть ли какой нить автоматический способ отрисовать произвольную коллизию? Ну или полуавтоматический…

Геометрия у меня довольно обширная, сравнима со средней картой для Counter Strike и рисовать тонну примитивов не очень хочется
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
28 марта 2015 17:06
Извиняюсь… Не до читал… Сделал через материал с параметром Special: Collision
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
28 марта 2015 19:04
Раз уж тему открыл. Есть вопрос по оптимизации физики…

Вот запустил пример уровня. Делал по уроку.

Но как можно заметить движения идут с прерываниями… Иногда персонаж проходит сквозь стену, но потом "возвращается", если это делать на большой скорости.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
28 марта 2015 19:55
Это же de_dust2!!!

Да, у нас есть небольшая проблема с физикой в том плане, что с целью оптимизации мы производим все расчёты в отдельном процессе, а потом передаём результаты в основной процесс для отрисовки. Проблема особенно проявляется на слабых компьютерах, где рендеринг идёт со скоростю < 60 FPS. Хотя, в вашем примере я заметил проблемы только в дверях (на достаточно слабой машине). Можно попробовать отделить физические материалы, уменьшить их полигонаж (важно для оптимизации) и увеличить занимемый ими объём, чтобы персонаж останавливался раньше, чем достигнет стен/двери.
Команда Blend4Web
https://twitter.com/AlexKowel
29 марта 2015 10:12
Да! Эт de_dust2 текстуры позже поправлю. Раньше пытался сделать на cannon.js

Сейчас буду пробовать оптимизировать уровень. А есть способы посмотреть отладочную информацию физического движка?
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
30 марта 2015 00:06
Отладочную информацию в реальном времени посмотреть нельзя, зато можно воспрользоваться встроенным профайлером в chrome (нужно выбрать отладку worker-процесса). Также можно собрать статистику по физическому движку, для этого имеется метод physics_worker() в модуле debug.
Команда Blend4Web
https://twitter.com/AlexKowel
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.