Простой подход к реализации этого заключается в обнаружении столкновения мяча и самолета.Вычислите глубину проникновения, это то, как далеко мяч фактически прошел за плоскость, и отодвиньте шар назад в направлении нормали плоскости.самолет.Если вы сделаете это для каждого кадра, шар будет эффективно скользить вдоль плоскости, если, конечно, вектор скорости шара не будет параллелен нормали плоскости.
Поле обнаружения столкновений большое и сложное,и в зависимости от вашей игры вы должны определить, что достаточно для ваших требований с точки зрения уровня реализма, который вам требуется, и требований к производительности.Вы всегда должны стремиться к простейшему решению, которое дает достаточно реалистичную обратную связь, в зависимости от игры, которая часто не обязательно должна быть идеальной.
По сути, вы должны разбить обнаружение столкновений на 2 фазы, обычно известные как широкая фаза иузкая фаза.
Широкая фаза может быть такой же простой, как выполнить быструю проверку ограничивающего прямоугольника для определения потенциальных коллизий, а затем передать эти потенциальные коллизии в обнаружение коллизий узкой фазы, чтобы выполнить более подробные проверки, когда вы определяете, действительно ли это былостолкновение и глубина столкновения.Если у вас много объектов, тогда широкая фаза может использовать какое-то индексирование дерева квадрантов, чтобы выбрать только блоки в непосредственной близости от вашего объекта, чтобы выполнить обнаружение столкновения.