Конгер Д.
Физика для разработчиков компьютерных игр
стр. 315

Груз на рисунке 12.5 подвешен к пружине. Кроме того, к грузу прикреплена пластинка, погруженная в вязкую жидкость. Эта жидкость обуславливает появление тормозящей силы, пропорциональной скорости движения груза, но обратной по направлению к этой скорости. Поэтому тормозящую силу описывает выражение:

Здесь v - скорость движения груза, а b - коэффициент, связывающий тормозящую силу и эту скорость. Общая сила, действующая на груз, будет такой:

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

Реализация ткани

Реализовать в программе кусок ткани довольно сложно. Нужно реализовать всю физику материальных точек, образующих ее, и всю физику пружин, связывающих эти материальные точки. Кроме того, нужно знать, как искривлять и деформировать сетчатые модели в Direct3D, чтобы совмещать вертексы моделей с материальными точками. Деформация моделей требует хорошего знания возможностей Direct3D, и в этой книге она не рассматривается. Мы аппроксимируем внешний вид ткани увеличенными сетчатыми моделями для отдельных материальных точек. Хотя внешний вид ткани, полученной таким образом, будет не слишком правдоподобным, мы сосредоточимся на физике, а не на DirectX.

Замечание

Чтобы узнать больше о деформациях сетчатых моделей, попробуйте почитать книгу «Special Effects Game Programming with DirectX» (издательство Premier Press). В этой книге есть целая глава, посвященная деформации изображений. Прочитав эту главу, вы поймете, что нужно сделать, чтобы улучшить внешний вид ткани в игре.

Усовершенствование материальных точек

Прежде чем мы приступим к реализации ткани, нужно обдумать некоторые ее свойства. Например, ткань можно прикрепить к определенным объектам в ЗБ-сцене. Хороший пример такой прикрепленной ткани - гобелен на стене замка. Углы гобелена прикреплены к стене и неподвижны, а остальная часть может двигаться и развеваться. Вспомните,

Новости
Новый ролик Fallout 76 посвятили совместной работе
Компания Bethesda опубликовала новый ролик Fallout 76, продолжающий серию обучающих видео «Время приключений».
Battle for Azeroth: до 120-го уровня добрались за пять часов
Первый в мире игрок 120-го уровня появился уже через четыре с лишним часа после открытия аддона.