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

Теперь можно приступить к подсоединению пружин. Поскольку эта задача не очень проста, она разделена на несколько шагов. Сначала конструктор с помощью пары вложенных циклов for (начиная со строки 128) подсоединяет верхнюю пружину каждого квадрата. Он сохраняет индекс пружины и индексы соединяемых этой пружиной частиц. Если пружина находится не в первой строке частиц, она будет одновременно и верхней пружиной текущего квадрата, и нижней пружиной соседнего сверху квадрата. Поэтому строки 159-178 подсоединяют ее, как верхнюю пружину соответствующего квадрата. После завершения выполнения этих циклов все горизонтальные пружины будут подсоединены.

Начиная со строки 185, аналогичным образом подсоединяются вертикальные пружины. Пара циклов, начинающаяся в строке 240, выполняет подсоединение диагональных пружин. Затем конструктор задает общие характеристики всех пружин в системе и сохраняет общее количество строк и столбцов материальных точек в системе.

Теперь мы готовы увидеть класс cloth в работе.

Обновление и рендеринг фрагмента ткани

Чтобы ткань вела себя реалистично, все материальные точки и пружины в объекте класса cloth должны реагировать на приложенные к ним силы. Материальные точки должны отскакивать друг от друга при столкновениях. Хотя они не могут быть очень упругими, коэффициент упругости не должен быть нулевым. Если он будет нулевым, материальные точки склеятся — настоящая ткань так себя не ведет.

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

Как видите, в ткани происходит множество действий. Нетрудно понять, почему система масс и пружин легко может стать неустойчивой. Дабы предотвратить потерю устойчивости, метод cloth: :Update () должен не только учитывать все силы, возникающие при столкновениях и перемещениях, но и гасить движения материальных точек. Как это делается, показано в листинге 12.9.

Новости
Авторы Just Cause показали новый трейлер Generation Zero
Avalanche Studios представила новый трейлер Generation Zero и объявила, что закрытое бета-тестирование пройдёт этой осенью (записаться можно на официальном сайте).
Возможно, SEGA отказалась от защиты Denuvo в переиздании Shenmue I II
Ранее издательство SEGA, разместив в Steam информацию о переиздании Shenmue I & II, указало, что проект будет оснащаться защитой Denuvo.