FPS независимый геймплей?


Автор Сообщение

частый гость
Группа: Участники
Сообщений: 17
Добавлено: 28-01-2018 05:32
Есть ли возможность сделать такое?
Просто параметр delta у метода Update немного путает. Непонятно, как он работает.

Я обычно считаю время между двумя кадрами и потом умножаю на эту дельту значения скорости. Можно ли с Xtreme3D сделать нечто подобное?

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 28-01-2018 11:55
Да, не просто можно, но и нужно)
В Update как раз передается время между кадрами. В примерах SDK оно фиксированное, поэтому 1.0 / room_speed.

Update на скорости движения объектов никак не влияет - ведь мы сами вручную их двигаем, когда нам надо. Он нужен, в основном, для автоматического обновления анимации (актеров, частиц и т.д.), чтобы и это не приходилось вручную делать. Разрабы GLScene отделили эту процедуру от собственно рендеринга (ViewerRender), что оказалось очень удобным - можно обновить все анимации один раз, а потом рендерить кадр в разные буферы, сколько надо.

частый гость
Группа: Участники
Сообщений: 17
Добавлено: 28-01-2018 14:32
А, вот оно как.
Просто если я ставлю свою дельту в Update - объекты через ObjectSetPositionOfObject рывками двигаются (да, мне это и правда нужно. Нужно было разделить повороты двух объектов, чтобы родительский не влиял на потомка). Пришлось сглаживать методом скользящего среднего %)

Up:
Кстати, когда я экспортирую матрицу из кости в объект - на малых ФПС он начинает отставать от кости. Так и задумано, или можно как-то насильно обновить скелет модели?

И еще. Есть ли какой-нибудь вывод ошибок? Хотя бы в файл? А то дюже неудобно дебажить.

Up2 (Чтобы не плодить тем): можно ли как-то отключить коллизию между объектами одного типа в DCE? Например, чтобы 100 врагов не сталкивались друг с другом.

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 14-02-2018 18:19
Кстати, когда я экспортирую матрицу из кости в объект - на малых ФПС он начинает отставать от кости. Так и задумано, или можно как-то насильно обновить скелет модели?

Не замечал такого, на днях проверю.

Есть ли какой-нибудь вывод ошибок? Хотя бы в файл? А то дюже неудобно дебажить.

Вывода ошибок пока толком нет, только для синтаксических ошибок в шейдерах. Постараюсь добавить для остальных ресурсов, но не думаю, что получится эффективно сделать отлов некорректных указателей (там везде используются hard cast'ы, которые не выбрасывают исключения).

можно ли как-то отключить коллизию между объектами одного типа в DCE?

Можно их на разные слои поместить (DceDynamicSetLayer).

 

Offtop.ru © 2003