17.12.2011, 16:54
|
|
Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
|
да нет, с погрешностями проблем не было.
Я наверно не очень корректно употребил слово детерминированную. Там всё-же использовались переменные с плавающей точкой, но только в промежуточных расчётах. Можно было конечно перенести промежуточные расчёты на fixedPoint тогда полный детерминизм соблюдался бы.
Начал я делать для того чтобы все столкновения в модели происходили в полном соответствии с граф представлением. Задел пикселями один объект другой - столкновение, не задел - не столкновение.
Я исходил от экрана и квантования времени. Есть такты обсчёта(кадру грубо говоря) и экан. Объект на экране не может попасть на нецелые координаты. Т.е. пиксель объекта всегда равен пикселю на экране, субпиксельное сглаживание было идеологически отвергнуто. Также continuous collision detection был возведён в абсолют и достигался везде. Естественно во время линеаризации движения и во многих внутренних процессах использовались дробные числа, но после применения сил и резолвинга коллизий всё опят становилось целочисленно. Возникли существенные проблемы с физикой прыжков т.к. я хотел чтобы высота прыжка зависела от длительности нажатия клавиши. Также возникли проблемы с ездящими платформами и трением об них. Трения между объектами у меня небыло вовсе, а было только трение об среду. Хотя потом я придумал как это всё разрулить, к проекту я так и не вернулся. А ведь платформер, придуманы и элементы дизайна и общий сценарий написан...
__________________
:)
|