Показать сообщение отдельно
Старый 09.11.2014, 12:00   #636
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: [TrueHorror] - разработка

Для мелких быстро двигающихся предметов в физ движках есть вроде Continuous Collision Detection, плюс чем больше шаг физики по времени, тем хуже ведет себя физика. Я бы не делал шаг физики больше 1/30. В Unity по умолчанию 1/50 фиксированный шаг. Т.е. он всегда 1/50, не больше и не меньше. Ограничивается время обработки физики за кадр. Например не более 0,3с. Если физ движок не успевает сделать нужное количество итераций за это время, то физика просто замедляется.

Далее на точность физики влияет количество итераций решателя. Обычно по умолчанию где-то 6-8 итераций. Для игр этого хватает.

Оптимизируют физику включением состояния сна у объектов. Бывают в некоторых движках даже "острова", когда много физических тел соприкасаются друг с другом и в определенный момент весь остров засыпает, когда скорости движения и вращения опускаются ниже какого-то уровня.

Хз как в булете статическая геометрия, в Unity например она не должна иметь компонента твердого тела, что указывает, что она не двигается. Она имеет только коллайдер. По сути физика не нагружает процессор, когда все тела спят.

Я вообще хз как все это в булете, просто вспоминаю свои теоретические сведения, когда касался этого вопроса. Может где-то не прав.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием