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

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

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

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

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

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

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

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

Новости
Геймеры собирают деньги на помощь русским сиротам
Сервис Humble Store и компания Tripwire Interactive поддержат организацию Change30. Британцы предоставляют помощь русским сиротам.
Слух: На E3 2018 покажут Cyberpunk 2077
Крупное польское видеоигровое издание GRYOnline сообщило о том, что, согласно их собственным источникам в компании, CD Projekt Red готовит к E3 2018 новый трейлер Cyberpunk 2077.