Технологии

Dates_


Физика

Все объекты в физическом мире представлены как выпуклые трехмерные, без способности поворачиваться. Это сделано для того, чтобы невозможнобыло застрять, например, если между ногами находится какой-нить барьер. К тому же так легче считать. ;-)

По тику для каждого объекта происходит следующее: решается, что он будет делать: скользить, падать до касания и прыгать, или просто падать. Для начала рассмотрю, как он будет скользить. Затем, в зависимости от типа его действия, к скорости прибавляется гравитация.

Скольжение

Итак, есть некий объект (AABB или сфера, или любой другой выпуклый трехмерный объект), и необходимо сделать скольжение этого объекта.

Вот условие скольжения: объект скользит, если есть хотя бы одна плоскость для скольжения.

Плоскость скольжения подбирается следующим образом. Во-первых, объект должен быть достаточно близок к плоскости. Во-вторых, скорость объекта должна быть такова, что она либо почти параллельна плоскости, либо ее недостаточно, чтобы "отцепить" объект от плоскости посредством "подпрыгивания". << DIG HERE

объект должен иметь скорость, направленную к или параллельно плоскости.

Критерием скольжения объекта будет условие, что вектор скорости, скалярно умноженный на нормаль плоскости скольжения, недостаточно велик, чтобы совершить прыжок. Т.е. в случае горизонтальной плоскости скольжения, вертикальная скорость недостаточно велика, чтобы подбросить объект от удара, и поэтому поглащается.


(c) 2000 Константин Михеев - проект "Elfish Engine"