Методы обнаружения столкновений для создания наклонных плоскостей между двумя сетками - PullRequest
0 голосов
/ 18 мая 2011

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

У меня есть ландшафт, который определяется как mesh .И есть много других многоугольных граней, разбросанных по местности, они могут быть расположены выше или ниже или прорезать местность.Вы можете думать об этих лицах как о платформах.

Скриншот ниже должен прояснить, что я имею в виду.Несмотря на то, что сетка выглядит гладкой, фактически она состоит из небольших элементов (число> 10 КБ), объединенных вместе, что создает ложный вид гладкости.Очевидной отключенной областью являются платформы.

enter image description here

Мой вопрос: как я могу генерировать самолеты, которые соединяются между платформами и другими платформами / местностью?Вот правила для генерации серии наклонных плоскостей:

  1. Они могут идти вверх или вниз, в зависимости от того, в каком направлении они попадут в первую очередь на платформу местности / соседей.
  2. Правило генерации плоскости состоит в том, что плоскость будет начинаться на краю платформы и перемещаться на 45 градусов вверх / вниз относительно оси z для определенной длины, затем она будет двигаться на 0 градусов относительно оси z для другой определенной длины,и повтори.Таким образом, это будет серия кусочных плоскостей, пока в некоторых точках плоскостей не будут встречаться препятствия.
  3. Алгоритм должен быть ориентирован только на генерацию плоскости и генерацию плоскости;Я не хочу, чтобы он был привязан к какому-либо рендереру (например, opengl и еще много чего), я могу сделать это сам.

Короче говоря, я хочу создать набор "плоскостей", которые на самом деле являются чем-то вроде лестничного марша или кусочка гофрированной бумаги, идущей вверх или вниз отточка в пространстве, пока она не соприкоснется с данной сеткой

Похоже на прямую проблему обнаружения столкновений, которая часто встречается в физическом моделировании, верно?Существуют ли какие-либо библиотеки игр / физики, которые я могу использовать для решения этой проблемы?

Обратите внимание, что, поскольку я не делаю анимацию, покадровое обновление и все эти вещи мне не нужны;Вот почему я не решаюсь использовать существующую библиотеку физики игры, например bullet .Для меня важно, как использовать существующие библиотеки для генерации этих соединительных плоскостей в соответствии с приведенными выше правилами.

...