Определение столкновения игрока с вокселем - PullRequest
5 голосов
/ 24 января 2012

У меня большой массив вокселей, а-ля Minecraft. Игрок / враги в этой сетке. Я понятия не имею, как сделать этот тип обнаружения столкновений. Обратите внимание, что это НЕ динамический подвижный объект против динамического подвижного объекта, это подвижный объект по сравнению со стационарным основанием / стеной / потолком.

У меня нет проблем с обнаружением, это ответ, который я не знаю, как сделать.

С чем мне приходится работать: позицией игрока, скоростью и ограничивающим боксом, а также массивом вокселей 1x1x1, окружающих игрока.

1 Ответ

6 голосов
/ 24 января 2012
  • Рассчитайте точечное произведение скорости игрока и единицы нормали поверхности сталкивающегося вокселя (указывая наружу).
  • Масштабировать (умножать) единицу поверхности, нормальную на это значение.
  • Вычтите ваш результат из скорости игрока.

Это даст вам эффект «скольжения к стене», который используется в большинстве игр (без любой проблемной тригонометрии)

...